[all-commits] [llvm/llvm-project] c1ad06: [InstCombine] Fold `icmp spred (and X, highmask), ...
Florian Mayer via All-commits
all-commits at lists.llvm.org
Wed Dec 11 04:37:34 PST 2024
Branch: refs/heads/users/fmayer/spr/apply-alignment-size-in-linker-rather-than-ir
Home: https://github.com/llvm/llvm-project
Commit: c1ad064dd3b9a1bf503bb8cd6d0d0418a05d10e8
https://github.com/llvm/llvm-project/commit/c1ad064dd3b9a1bf503bb8cd6d0d0418a05d10e8
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-binop.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/pr17827.ll
Log Message:
-----------
[InstCombine] Fold `icmp spred (and X, highmask), C1` into `icmp spred X, C2` (#118197)
Alive2: https://alive2.llvm.org/ce/z/Ffg64g
Closes https://github.com/llvm/llvm-project/issues/104772.
Commit: 46446bb2d31a7e3b2f857613b190150d41734696
https://github.com/llvm/llvm-project/commit/46446bb2d31a7e3b2f857613b190150d41734696
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode][NFC] Diagnose non-constexpr builtin strcmp calls (#118442)
Commit: e30d304d72ac9a70671268c50ee850c2f0c42ba3
https://github.com/llvm/llvm-project/commit/e30d304d72ac9a70671268c50ee850c2f0c42ba3
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
A llvm/test/Transforms/MemCpyOpt/memset-memmove-redundant-memmove.ll
Log Message:
-----------
[MemCpyOpt] Introduce test for PR101930 (NFC)
Commit: 1d6ab189be031bf723abf35f772fbd5d4c86c612
https://github.com/llvm/llvm-project/commit/1d6ab189be031bf723abf35f772fbd5d4c86c612
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/memset-memmove-redundant-memmove.ll
Log Message:
-----------
[MemCpyOpt] Drop dead `memmove` calls on `memset`'d source data
When a memmove happens to clobber source data, and such data have
been previously memset'd, the memmove may be redundant.
Commit: 5b0f4f2cb040f472d41870ba99ae45fc1022188f
https://github.com/llvm/llvm-project/commit/5b0f4f2cb040f472d41870ba99ae45fc1022188f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Transforms/GVN/setjmp.ll
Log Message:
-----------
[BasicAA] Treat returns_twice functions as clobbering unescaped objects (#117902)
Effectively this models all the accesses that occur between the first
and second return as happening at the point of the call.
Fixes https://github.com/llvm/llvm-project/issues/116668.
Commit: a871124f8709f6b5e837c6044ce7df056f52292a
https://github.com/llvm/llvm-project/commit/a871124f8709f6b5e837c6044ce7df056f52292a
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
Log Message:
-----------
[flang][hlfir] optimize hlfir.eval_in_mem bufferization (#118069)
This patch extends the optimize bufferization to deal with the new
hlfir.eval_in_mem and move the evaluation contained in its body to
operate directly over the LHS when it can prove there are no access to
the LHS inside the region (and that the LHS is contiguous).
This will allow the array function call optimization when lowering is
changed to produce an hlfir.eval_in_mem in the next patch.
Commit: cd7e65398fbbd9642573013800dc3ae1e7307f82
https://github.com/llvm/llvm-project/commit/cd7e65398fbbd9642573013800dc3ae1e7307f82
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M flang/include/flang/Lower/ConvertCall.h
M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/test/HLFIR/order_assignments/where-scheduling.f90
A flang/test/Lower/HLFIR/calls-array-results.f90
M flang/test/Lower/HLFIR/where-nonelemental.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/explicit-interface-results.f90
M flang/test/Lower/forall/array-constructor.f90
Log Message:
-----------
[flang] optimize array function calls using hlfir.eval_in_mem (#118070)
This patch encapsulate array function call lowering into
hlfir.eval_in_mem and allows directly evaluating the call into the LHS
when possible.
The conditions are: LHS is contiguous, not accessed inside the function,
it is not a whole allocatable, and the function results needs not to be
finalized. All these conditions are tested in the previous hlfir.eval_in_mem
optimization (#118069) that is leveraging the extension of getModRef to
handle function calls(#117164).
This yields a 25% speed-up on polyhedron channel2 benchmark (from 1min
to 45s measured on an X86-64 Zen 2).
Commit: fed3a9b8f81f5f4450e515f4499ecfda95804e95
https://github.com/llvm/llvm-project/commit/fed3a9b8f81f5f4450e515f4499ecfda95804e95
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
A mlir/include/mlir/IR/VectorTypes.h
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
Log Message:
-----------
[mlir] Add ScalableVectorType and FixedVectorType (#87986)
This PR adds two small convenience Vector types:
* `ScalableVectorType` and `FixedVectorType`.
The goal of these new types is two-fold:
* Enable idiomatic checks like `isa<ScalableVectorType>(...)`.
* Make the split into "Scalable" and "Fixed-wdith" vectors a bit more
explicit and more visible in the code-base.
The new types are added in mlir/include/mlir/IR (instead of e.g.
mlir/include/mlir/Dialect/Vector) so that the new types can be used
without requiring any new dependency (e.g. on the Vector dialect).
Commit: 59bb9b915ef9137709313190395da56364b92db6
https://github.com/llvm/llvm-project/commit/59bb9b915ef9137709313190395da56364b92db6
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lldb/include/lldb/API/SBAddressRangeList.h
M lldb/include/lldb/API/SBFunction.h
M lldb/include/lldb/Core/AddressRangeListImpl.h
M lldb/include/lldb/Symbol/Function.h
M lldb/source/API/SBFunction.cpp
M lldb/source/Core/AddressRangeListImpl.cpp
A lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s
Log Message:
-----------
[lldb] Expose discontinuous functions through SBFunction::GetRanges (#117532)
SBFunction::GetEndAddress doesn't really make sense for discontinuous
functions, so I'm declaring it deprecated. GetStartAddress sort of makes
sense, if one uses it to find the functions entry point, so I'm keeping
that undeprecated.
I've made the test a Shell tests because these make it easier to create
discontinuous functions regardless of the host os and architecture. They
do make testing the python API harder, but I think I've managed to come
up with something not entirely unreasonable.
Commit: 78e35e4c0eea6c2f8184f7b98e6a385e981512db
https://github.com/llvm/llvm-project/commit/78e35e4c0eea6c2f8184f7b98e6a385e981512db
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
Log Message:
-----------
[ValueTracking] Fix typo in `isKnownNegative` and `MaskedValueIsZero` NFC. (#118438)
Fix typos introduced by
https://github.com/llvm/llvm-project/commit/d9e8ae7d2f74fff629a8be10835677ce8039d452
and
https://github.com/llvm/llvm-project/commit/42b6c8ed3ae44ed61af5ba81bdaa5b81a9ce61ad.
Commit: dd2b2b8bbbf4e917a84efe94cbeaaab2ed350fc9
https://github.com/llvm/llvm-project/commit/dd2b2b8bbbf4e917a84efe94cbeaaab2ed350fc9
Author: Adam Yang <hanbyang at microsoft.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl
A clang/test/SemaHLSL/BuiltIns/GroupMemoryBarrierWithGroupSync-errors.hlsl
Log Message:
-----------
[clang][HLSL] Add GroupMemoryBarrierWithGroupSync intrinsic (#111883)
partially fixes #70103
### Changes
* Implemented `GroupMemoryBarrierWithGroupSync` clang builtin
* Linked `GroupMemoryBarrierWithGroupSync` clang builtin with
`hlsl_intrinsics.h`
* Added sema checks for `GroupMemoryBarrierWithGroupSync` to
`CheckHLSLBuiltinFunctionCall` in
`SemaChecking.cpp`
* Add codegen for `GroupMemoryBarrierWithGroupSync` to
`EmitHLSLBuiltinExpr` in `CGBuiltin.cpp`
* Add codegen tests to
`clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl`
* Add sema tests to
`clang/test/SemaHLSL/BuiltIns/GroupMemoryBarrierWithGroupSync-errors.hlsl`
### Related PRs
* [[DXIL] Add GroupMemoryBarrierWithGroupSync intrinsic
#111884](https://github.com/llvm/llvm-project/pull/111884)
* [[SPIRV] Add GroupMemoryBarrierWithGroupSync intrinsic
#111888](https://github.com/llvm/llvm-project/pull/111888)
Commit: 89a0ee89973c3d213c4bc11c26b41eab67e06da0
https://github.com/llvm/llvm-project/commit/89a0ee89973c3d213c4bc11c26b41eab67e06da0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Handle __builtin_wcslen (#118446)
... just like strlen.
Commit: ba14dac481564000339ba22ab867617590184f4c
https://github.com/llvm/llvm-project/commit/ba14dac481564000339ba22ab867617590184f4c
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lldb/include/lldb/Symbol/Function.h
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Symbol/Function.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
M lldb/test/Shell/SymbolFile/PDB/function-nested-block.test
Log Message:
-----------
[lldb] Use the function block as a source for function ranges (#117996)
This is a follow-up/reimplementation of #115730. While working on that
patch, I did not realize that the correct (discontinuous) set of ranges
is already stored in the block representing the whole function. The
catch -- ranges for this block are only set later, when parsing all of
the blocks of the function.
This patch changes that by populating the function block ranges eagerly
-- from within the Function constructor. This also necessitates a
corresponding change in all of the symbol files -- so that they stop
populating the ranges of that block. This allows us to avoid some
unnecessary work (not parsing the function DW_AT_ranges twice) and also
results in some simplification of the parsing code.
Commit: 2526d5b1689389da9b194b5ec2878cfb2f4aca93
https://github.com/llvm/llvm-project/commit/2526d5b1689389da9b194b5ec2878cfb2f4aca93
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lldb/include/lldb/Symbol/Function.h
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Symbol/Function.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
M lldb/test/Shell/SymbolFile/PDB/function-nested-block.test
Log Message:
-----------
Revert "[lldb] Use the function block as a source for function ranges (#117996)"
This reverts commit ba14dac481564000339ba22ab867617590184f4c. I guess
"has no conflicts" doesn't mean "it will build".
Commit: bfb26202e05ee2932b4368b5fca607df01e8247f
https://github.com/llvm/llvm-project/commit/bfb26202e05ee2932b4368b5fca607df01e8247f
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
Log Message:
-----------
LV/test: clean up a test and regen with UTC (#118394)
Commit: 4849d593ab07c47f9f520bea636f62d159d57006
https://github.com/llvm/llvm-project/commit/4849d593ab07c47f9f520bea636f62d159d57006
Author: Maksim Ivanov <emaxx at google.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
Log Message:
-----------
[clang] Warn [[clang::lifetimebound]] misusages on types (#118281)
Emit the "cannot be applied to types" warning instead of silently
ignoring the attribute when it's attempted to be used on a type (instead
of a function argument or the function definition).
Before this commit, the warning has been printed when the attribute was
(mis)used on a decl-specifier, but not in other places in a declarator.
Examples where the warning starts being emitted with this commit:
```
int * [[clang::lifetimebound]] x;
void f(int * [[clang::lifetimebound]] x);
void g(int * [[clang::lifetimebound]]);
```
Note that the last example is the case of an unnamed function parameter.
While in theory Clang could've supported the `[[clang::lifetimebound]]`
analysis for unnamed parameters, it doesn't currently, so the commit at
least makes the situation better by highlighting this as a warning
instead of a silent ignore - which was reported at #96034.
Commit: 0f4dc4276f8dd5c5e33c22096612702ede3c81ed
https://github.com/llvm/llvm-project/commit/0f4dc4276f8dd5c5e33c22096612702ede3c81ed
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Initialize elements in __builtin_elementwise_popcount (#118457)
Commit: 4dafb091a0336a6669e6369cb69ef1ea1b39578d
https://github.com/llvm/llvm-project/commit/4dafb091a0336a6669e6369cb69ef1ea1b39578d
Author: Julian Nagele <j.nagele at apple.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/Config/abi-breaking.h.cmake
Log Message:
-----------
Revert "Add symbol visibility macros to abi-breaking.h.cmake" (#118464)
Reverts llvm/llvm-project#110898
This change has caused a cyclic module dependency `fatal error: cyclic
dependency in module 'LLVM_Utils': LLVM_Utils ->
LLVM_Config_ABI_Breaking -> LLVM_Utils`. Reverting for now until we the
right fix.
Commit: 7d7252590916bcd540c7bd4158b9d52af7a0d547
https://github.com/llvm/llvm-project/commit/7d7252590916bcd540c7bd4158b9d52af7a0d547
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
A llvm/test/CodeGen/AArch64/stack-tagging-merge-past-memcpy.mir
Log Message:
-----------
[AArch64] Fix STG instruction being moved past memcpy (#117191)
When merging STG instructions used for AArch64 stack tagging, we were
stopping on reaching a load or store instruction, but not calls, so it
was possible for an STG to be moved past a call to memcpy.
This test case (reduced from fuzzer-generated C code) was the result of
StackColoring merging allocas A and B into one stack slot, and
StackSafetyAnalysis proving that B does not need tagging, so we end up
with tagged and untagged objects in the same stack slot. The tagged
object (A) is live first, so it is important that it's memory is
restored to the background tag before it gets reused to hold B.
Commit: 9c5a84b394518cb8087eb0b14e9b55244adb61e7
https://github.com/llvm/llvm-project/commit/9c5a84b394518cb8087eb0b14e9b55244adb61e7
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-gep.ll
Log Message:
-----------
[InstCombine] Support nusw in icmp of gep with base
Proof: https://alive2.llvm.org/ce/z/omnQXt
Commit: bdc6faf775bc52b5225013312149dfba21f88aa2
https://github.com/llvm/llvm-project/commit/bdc6faf775bc52b5225013312149dfba21f88aa2
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-gep.ll
Log Message:
-----------
[InstCombine] Support nusw in icmp of two geps with same base
Proof: https://alive2.llvm.org/ce/z/BYNQ7s
Commit: 3f39c5df08d4ca1e7f852908e9fb255db24538da
https://github.com/llvm/llvm-project/commit/3f39c5df08d4ca1e7f852908e9fb255db24538da
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Reject memcpy dummy pointers after null check (#118460)
To match the diagnostic output of the current interpreter.
Commit: 51b74bb9f6457cbe53776a2a35296189c5db52f3
https://github.com/llvm/llvm-project/commit/51b74bb9f6457cbe53776a2a35296189c5db52f3
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lldb/include/lldb/Symbol/Function.h
M lldb/source/API/SBFunction.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Symbol/Function.cpp
M lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s
M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
M lldb/test/Shell/SymbolFile/PDB/function-nested-block.test
Log Message:
-----------
Reapply "[lldb] Use the function block as a source for function ranges (#117996)"
This reverts commit 2526d5b1689389da9b194b5ec2878cfb2f4aca93, reapplying
ba14dac481564000339ba22ab867617590184f4c after fixing the conflict with
#117532. The change is that Function::GetAddressRanges now recomputes
the returned value instead of returning the member. This means it now
returns a value instead of a reference type.
Commit: 9a4c5a59d4ec0c582f56b221a64889c077f68376
https://github.com/llvm/llvm-project/commit/9a4c5a59d4ec0c582f56b221a64889c077f68376
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Log Message:
-----------
Revert "Re-apply [lldb] Do not use LC_FUNCTION_STARTS data to determine symbol size as symbols are created (#117079)"
This reverts commit ba668eb99c5dc37d3c5cf2775079562460fd7619.
Below test started failing again on x86_64 macOS CI. We're unsure
if this patch is the exact cause, but since this patch has broken
this test before, we speculatively revert it to see if it was indeed
the root cause.
```
FAIL: lldb-shell :: Unwind/trap_frame_sym_ctx.test (1692 of 2162)
******************** TEST 'lldb-shell :: Unwind/trap_frame_sym_ctx.test' FAILED ********************
Exit Code: 1
Command Output (stderr):
--
RUN: at line 7: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/clang --target=specify-a-target-or-use-a-_host-substitution --target=x86_64-apple-darwin22.6.0 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -fmodules-cache-path=/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/lldb-test-build.noindex/module-cache-clang/lldb-shell /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/Inputs/call-asm.c /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/Inputs/trap_frame_sym_ctx.s -o /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/Unwind/Output/trap_frame_sym_ctx.test.tmp
+ /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/clang --target=specify-a-target-or-use-a-_host-substitution --target=x86_64-apple-darwin22.6.0 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -fmodules-cache-path=/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/lldb-test-build.noindex/module-cache-clang/lldb-shell /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/Inputs/call-asm.c /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/Inputs/trap_frame_sym_ctx.s -o /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/Unwind/Output/trap_frame_sym_ctx.test.tmp
clang: warning: argument unused during compilation: '-fmodules-cache-path=/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/lldb-test-build.noindex/module-cache-clang/lldb-shell' [-Wunused-command-line-argument]
RUN: at line 8: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/lldb --no-lldbinit -S /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/lit-lldb-init-quiet /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/Unwind/Output/trap_frame_sym_ctx.test.tmp -s /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test -o exit | /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/FileCheck /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test
+ /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/lldb --no-lldbinit -S /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/lit-lldb-init-quiet /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/tools/lldb/test/Shell/Unwind/Output/trap_frame_sym_ctx.test.tmp -s /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test -o exit
+ /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/lldb-build/bin/FileCheck /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test
/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test:21:10: error: CHECK: expected string not found in input
^
<stdin>:26:64: note: scanning from here
frame #1: 0x0000000100003ee9 trap_frame_sym_ctx.test.tmp`tramp
^
<stdin>:27:2: note: possible intended match here
frame #2: 0x00007ff7bfeff6c0
^
Input file: <stdin>
Check file: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake/llvm-project/lldb/test/Shell/Unwind/trap_frame_sym_ctx.test
-dump-input=help explains the following input dump.
Input was:
<<<<<<
.
.
.
21: 0x100003ed1 <+0>: pushq %rbp
22: 0x100003ed2 <+1>: movq %rsp, %rbp
23: (lldb) thread backtrace -u
24: * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
25: * frame #0: 0x0000000100003ecc trap_frame_sym_ctx.test.tmp`bar
26: frame #1: 0x0000000100003ee9 trap_frame_sym_ctx.test.tmp`tramp
check:21'0 X error: no match found
27: frame #2: 0x00007ff7bfeff6c0
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:21'1 ? possible intended match
28: frame #3: 0x0000000100003ec6 trap_frame_sym_ctx.test.tmp`main + 22
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29: frame #4: 0x0000000100003ec6 trap_frame_sym_ctx.test.tmp`main + 22
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
30: frame #5: 0x00007ff8193cc41f dyld`start + 1903
check:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31: (lldb) exit
check:21'0 ~~~~~~~~~~~~
>>>>>>
```
Commit: f4ce7e037828eaf3720c9169e94e85b7a106deba
https://github.com/llvm/llvm-project/commit/f4ce7e037828eaf3720c9169e94e85b7a106deba
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[MLIR][TOSA] Update PowOp output name from z to output (#118407)
To match the latest specification:
https://www.mlplatform.org/tosa/tosa_spec.html#_pow
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 356df2dd72e8299b5de58e9390283110c19f7c76
https://github.com/llvm/llvm-project/commit/356df2dd72e8299b5de58e9390283110c19f7c76
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
Log Message:
-----------
Revert "[clang] Warn [[clang::lifetimebound]] misusages on types (#118281)"
Temporarily revert the patch to give downstream teams some time to clean up their codebases.
This reverts commit 4849d593ab07c47f9f520bea636f62d159d57006.
Commit: 62923275565e3a0f288146f2ce0569fe2ac26bf5
https://github.com/llvm/llvm-project/commit/62923275565e3a0f288146f2ce0569fe2ac26bf5
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
R lld/CODE_OWNERS.TXT
A lld/Maintainers.md
M llvm/Maintainers.md
Log Message:
-----------
[lld] Convert CODE_OWNERS.txt to Maintainers.md (#118084)
To align with https://llvm.org/docs/DeveloperPolicy.html#maintainers
I've moved the file and changed it to markdown to match `llvm/`'s file.
Commit: aec9ecbcca2a3337a7d52130ab8f61a2ff151429
https://github.com/llvm/llvm-project/commit/aec9ecbcca2a3337a7d52130ab8f61a2ff151429
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github] Change "code owners" note to refer to "maintainers" (#118087)
Commit: b2df0074134add80ba3a483a479601b00a9f9fc7
https://github.com/llvm/llvm-project/commit/b2df0074134add80ba3a483a479601b00a9f9fc7
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
A llvm/test/CodeGen/X86/no-trap-after-noreturn-fastisel.ll
Log Message:
-----------
[FastISel] Support unreachable with NoTrapAfterNoReturn (#118296)
Currently FastISel triggers a fallback if there is an unreachable
terminator and the TrapUnreachable option is enabled (the ISD::TRAP
selection does not actually work).
Add handling for NoTrapAfterNoReturn, in which case we don't actually
need to emit a trap. The test is just there to make sure there is no
FastISel fallback (which is why I'm not testing the case without
noreturn). We have other tests that check the actual unreachable codegen
variations.
Commit: 61c2ac03d85f731d75cda23d1918f03d0cb962dc
https://github.com/llvm/llvm-project/commit/61c2ac03d85f731d75cda23d1918f03d0cb962dc
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
Revert "[clang][bytecode] Handle __builtin_wcslen (#118446)"
This reverts commit 89a0ee89973c3d213c4bc11c26b41eab67e06da0.
This breaks builders:
https://lab.llvm.org/buildbot/#/builders/13/builds/3885
Commit: 807544561310d49b51915f365b7521412d68c219
https://github.com/llvm/llvm-project/commit/807544561310d49b51915f365b7521412d68c219
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
A llvm/test/Transforms/LoopVectorize/load-deref-pred-neg-off.ll
Log Message:
-----------
[LoopVectorize] Add tests for dereferenceable loads in more loops (#118470)
* Adds tests for strided accesses.
* Adds tests for reverse loops.
As part of this I've moved one of the negative tests from
load-deref-pred-align.ll into a new file
(load-deref-pred-neg-off.ll) because the pointer type had a
size of 16 bits and I realised it's probably not sensible for
allocas that are >16 bits in size!
Commit: 5f99eb9b138d7059b2a1f53adea0a58314761f65
https://github.com/llvm/llvm-project/commit/5f99eb9b138d7059b2a1f53adea0a58314761f65
Author: Nathan Gauër <brioche at google.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/pointers/global-addrspacecast.ll
A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class-vk.ll
M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll
Log Message:
-----------
[SPIR-V] Fixup storage class for global private (#118318)
Re-land of #116636
Adds a new address spaces: hlsl_private. Variables with such address
space will be emitted with a Private storage class.
This is useful for variables global to a SPIR-V module, since up to now,
they were still emitted with a Function storage class, which is wrong.
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 4a6ecd38218219ede3df34eeea72f3ffccec3413
https://github.com/llvm/llvm-project/commit/4a6ecd38218219ede3df34eeea72f3ffccec3413
Author: Viktoria Maximova <viktoria.maksimova at intel.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_media_block_io/builtin-op-wrappers.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_media_block_io/cl_intel_media_block_io.ll
Log Message:
-----------
Add support for SPIR-V extension: SPV_INTEL_media_block_io (#118024)
This changes implements SPV_INTEL_media_block_io extension in SPIR-V
backend.
Commit: a63931292bad148a3498fdb30bbccb43844aee86
https://github.com/llvm/llvm-project/commit/a63931292bad148a3498fdb30bbccb43844aee86
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[X86] Fix typo of gracemont (#118486)
Commit: 81d82cac8c4cbd006bf991fd7380de2d72858d1c
https://github.com/llvm/llvm-project/commit/81d82cac8c4cbd006bf991fd7380de2d72858d1c
Author: macurtis-amd <macurtis at amd.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
A flang/test/Driver/pp-fixed-form.f90
Log Message:
-----------
[flang] Treat pre-processed input as fixed (#117563)
Fixes an issue introduced by
9fb2db1e1f42 [flang] Retain spaces when preprocessing fixed-form source
Where flang -fc1 fails to parse preprocessor output because it now
remains in fixed form.
Commit: f33536468b7f05c05c8cf8088427b0b5b665eb65
https://github.com/llvm/llvm-project/commit/f33536468b7f05c05c8cf8088427b0b5b665eb65
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-gep.ll
Log Message:
-----------
[InstCombine] Support gep nuw in icmp folds (#118472)
Unsigned icmp of gep nuw folds to unsigned icmp of offsets. Unsigned
icmp of gep nusw nuw folds to unsigned samesign icmp of offsets.
Proofs: https://alive2.llvm.org/ce/z/VEwQY8
Commit: 51a895aded890e90493be59f7af0fa5a3b9b85aa
https://github.com/llvm/llvm-project/commit/51a895aded890e90493be59f7af0fa5a3b9b85aa
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/InstSimplifyFolder.h
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/include/llvm/Analysis/ValueTracking.h
A llvm/include/llvm/IR/CmpPredicate.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/unittests/IR/InstructionsTest.cpp
Log Message:
-----------
IR: introduce struct with CmpInst::Predicate and samesign (#116867)
Introduce llvm::CmpPredicate, an abstraction over a floating-point
predicate, and a pack of an integer predicate with samesign information,
in order to ease extending large portions of the codebase that take a
CmpInst::Predicate to respect the samesign flag.
We have chosen to demonstrate the utility of this new abstraction by
migrating parts of ValueTracking, InstructionSimplify, and InstCombine
from CmpInst::Predicate to llvm::CmpPredicate. There should be no
functional changes, as we don't perform any extra optimizations with
samesign in this patch, or use CmpPredicate::getMatching.
The design approach taken by this patch allows for unaudited callers of
APIs that take a llvm::CmpPredicate to silently drop the samesign
information; it does not pose a correctness issue, and allows us to
migrate the codebase piece-wise.
Commit: ff0babc9172b42a3e9f552d6959f9d98ae450633
https://github.com/llvm/llvm-project/commit/ff0babc9172b42a3e9f552d6959f9d98ae450633
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/literals.cpp
Log Message:
-----------
[clang][bytecode] Fix discarded pointer subtractions (#118477)
We need to pop the value.
Commit: 2a0ee090dbb9af80222bc796ac34fd4b7cba421b
https://github.com/llvm/llvm-project/commit/2a0ee090dbb9af80222bc796ac34fd4b7cba421b
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
IVDesc: strip redundant arg in getOpcode call (NFC) (#118476)
Commit: e1cb316cfd99208363b5eb9bf96430ca28020be0
https://github.com/llvm/llvm-project/commit/e1cb316cfd99208363b5eb9bf96430ca28020be0
Author: Vladislav Belov <vladislav.belov at syntacore.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/CXXInheritance.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
Reapply "[clang] Fix name lookup for dependent bases" (#118003)
Unlike the previous version
(https://github.com/llvm/llvm-project/pull/114978), this patch also
removes an unnecessary assert that causes Clang to crash when compiling
such tests. (clang/lib/AST/DeclCXX.cpp)
https://lab.llvm.org/buildbot/#/builders/52/builds/4021
```c++
template <class T>
class X {
public:
X() = default;
virtual ~X() = default;
virtual int foo(int x, int y, T &entry) = 0;
void bar() {
struct Y : public X<T> {
Y() : X() {}
int foo(int, int, T &) override {
return 42;
}
};
}
};
```
the assertions:
```c++
llvm-project/clang/lib/AST/DeclCXX.cpp:2508: void clang::CXXMethodDecl::addOverriddenMethod(const CXXMethodDecl *): Assertion `!MD->getParent()->isDependentContext() && "Can't add an overridden method to a class template!"' failed.
```
I believe that this assert is unnecessary and contradicts the logic of
this patch. After its removal, Clang was successfully built using
itself, and all tests passed.
Commit: 7802fb5f514be327576b69569556ec9096e5fdd7
https://github.com/llvm/llvm-project/commit/7802fb5f514be327576b69569556ec9096e5fdd7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/vectors.cpp
Log Message:
-----------
[clang][bytecode] Fix `__extension__` handling for vector operators (#118482)
Don't reject them, but delegate to the subexpression.
Commit: 8c749ff8aa787049cea4d4f7331493ee17565344
https://github.com/llvm/llvm-project/commit/8c749ff8aa787049cea4d4f7331493ee17565344
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-type.cpp
Log Message:
-----------
[lldb] Fix "exact match" debug_names type queries (#118465)
.. in the global namespace
The problem was the interaction of #116989 with an optimization in
GetTypesWithQuery. The optimization was only correct for non-exact
matches, but that didn't matter before this PR due to the "second layer
of defense". After that was removed, the query started returning more
types than it should.
Commit: 57907c1a96e82c17b16111b919ab7c0f3d4370ab
https://github.com/llvm/llvm-project/commit/57907c1a96e82c17b16111b919ab7c0f3d4370ab
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
Log Message:
-----------
[clang-tidy] ignore `[[clang::lifetimebound]]` param in return-const-ref-from-parameter (#118315)
Fixed #117696
Commit: c7e14689dd8bdf4b18dccb18895a9b80c225dc53
https://github.com/llvm/llvm-project/commit/c7e14689dd8bdf4b18dccb18895a9b80c225dc53
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll
Log Message:
-----------
[SPIR-V] Add XFAIL to the broken test (#118487)
The test case llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll
fails due to https://github.com/llvm/llvm-project/issues/118011
Commit: a7fda0e1e4dfd17ccf4a1bb80024acca2da6424e
https://github.com/llvm/llvm-project/commit/a7fda0e1e4dfd17ccf4a1bb80024acca2da6424e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Introduce VPScalarPHIRecipe, use for can & EVL IV codegen (NFC). (#114305)
Introduce a general recipe to generate a scalar phi. Lower
VPCanonicalIVPHIRecipe and VPEVLBasedIVRecipe to VPScalarIVPHIrecipe
before plan execution, avoiding the need for duplicated ::execute
implementations. There are other cases that could benefit, including
in-loop reduction phis and pointer induction phis.
Builds on a similar idea as
https://github.com/llvm/llvm-project/pull/82270.
PR: https://github.com/llvm/llvm-project/pull/114305
Commit: 10223c72a9c2afc3ae86eb7995f0dc47f5f9ad44
https://github.com/llvm/llvm-project/commit/10223c72a9c2afc3ae86eb7995f0dc47f5f9ad44
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/gep-arithmetic.ll
Log Message:
-----------
[ConstraintElim] Use nusw flag for GEP decomposition
Check for nusw instead of inbounds when decomposing GEPs.
In this particular case, we can also look through multiple nusw
flags, because we will ultimately be working in the unsigned
constraint system.
Commit: db4cbe50696798e94585cafec1a24764e9dcf199
https://github.com/llvm/llvm-project/commit/db4cbe50696798e94585cafec1a24764e9dcf199
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/pointers/tangled-ret.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpPhi_ArgumentsPlaceholders.ll
A llvm/test/CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll
Log Message:
-----------
[SPIR-V] Fix generation of invalid SPIR-V in cases of of bitcasts between pointers and multiple null pointers used in the input LLVM IR (#118298)
This PR resolved the following issues:
(1) There are rare but possible cases when there are bitcasts between
pointers intertwined in a sophisticated way with loads, stores, function
calls and other instructions that are part of type deduction. In this
case we must account for inserted bitcasts between pointers rather than
just ignore them.
(2) Null pointers have the same constant representation but different
types. Type info from Intrinsic::spv_track_constant() refers to the
opaque (untyped) pointer, so that each MF/v-reg pair would fall into the
same Const record in Duplicate Tracker and would be represented by a
single OpConstantNull instruction, unless we use precise pointee type
info. We must be able to distinguish one constant (null) pointer from
another to avoid generating invalid code with inconsistent types of
operands.
Commit: 4e6f812e9134a99320546d3805f628683b4ed334
https://github.com/llvm/llvm-project/commit/4e6f812e9134a99320546d3805f628683b4ed334
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
Log Message:
-----------
[mlir][llvm] Align linkage enum order with LLVM (NFC) (#118484)
This change doesn't introduce any functional differences but aligns the
implementation more closely with LLVM's representation. Previously, the
code generated a lookup table to map MLIR enums to LLVM enums due to the
lack of one-to-one correspondence. With this refactoring, the generated
code now casts directly from one enum to another.
Commit: 874b4fb6adf742344fabd7df898be31360a563b9
https://github.com/llvm/llvm-project/commit/874b4fb6adf742344fabd7df898be31360a563b9
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/test/CodeGen/SPIRV/bitcast.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_optnone.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_optnone.ll
M llvm/test/CodeGen/SPIRV/pointers/PtrCast-in-OpSpecConstantOp.ll
M llvm/test/CodeGen/SPIRV/pointers/global-ptrtoint.ll
Log Message:
-----------
[SPIR-V] Fix emission of debug and annotation instructions and add SPV_EXT_optnone SPIR-V extension (#118402)
This PR fixes:
* emission of OpNames (added newly inserted internal intrinsics and
basic blocks)
* emission of function attributes (SRet is added)
* implementation of SPV_INTEL_optnone so that it emits OptNoneINTEL
Function Control flag, and add implementation of the SPV_EXT_optnone
SPIR-V extension.
Commit: af35e21cfe3f7cfc7ddd7a2f535e775e9205f61d
https://github.com/llvm/llvm-project/commit/af35e21cfe3f7cfc7ddd7a2f535e775e9205f61d
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M flang/unittests/Runtime/CommandTest.cpp
Log Message:
-----------
[flang] Update CommandTest for AIX (NFC) (#118403)
With the change in commit e335563, the behavior for `ECLGeneralErrorCommandErrorSync`
on AIX is the same as on Linux.
Commit: 9ad09b2930ef2e95bf8772c91f623881d1c14733
https://github.com/llvm/llvm-project/commit/9ad09b2930ef2e95bf8772c91f623881d1c14733
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
Log Message:
-----------
[AMDGPU] Refine AMDGPUCodeGenPrepareImpl class. NFC. (#118461)
Use references instead of pointers for most state, initialize it all in
the constructor, and common up some of the initialization between the
legacy and new pass manager paths.
Commit: c7babfa6a375d1094cf5e5d7ce4b36b2b9a6b717
https://github.com/llvm/llvm-project/commit/c7babfa6a375d1094cf5e5d7ce4b36b2b9a6b717
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M offload/DeviceRTL/CMakeLists.txt
Log Message:
-----------
[Offload] Find libc relative to DeviceRTL path (#118497)
This was discussed as a potential solution in
https://github.com/llvm/llvm-project/pull/118173
Commit: 866b9f43a0772faee64aa421886eb101118f3167
https://github.com/llvm/llvm-project/commit/866b9f43a0772faee64aa421886eb101118f3167
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
R llvm/test/Analysis/CostModel/SystemZ/reduce-add.ll
A llvm/test/Analysis/CostModel/SystemZ/vector-reductions.ll
A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fadd.ll
A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fmin-fmax.ll
A llvm/test/Transforms/SLPVectorizer/SystemZ/reductions-fmul.ll
Log Message:
-----------
[SystemZ] Add realistic cost estimates for vector reduction intrinsics (#118319)
This PR adds more realistic cost estimates for these reduction
intrinsics
- `llvm.vector.reduce.umax`
- `llvm.vector.reduce.umin`
- `llvm.vector.reduce.smax`
- `llvm.vector.reduce.smin`
- `llvm.vector.reduce.fadd`
- `llvm.vector.reduce.fmul`
- `llvm.vector.reduce.fmax`
- `llvm.vector.reduce.fmin`
- `llvm.vector.reduce.fmaximum`
- `llvm.vector.reduce.fminimum`
- `llvm.vector.reduce.mul
`
The pre-existing cost estimates for `llvm.vector.reduce.add` are moved
to `getArithmeticReductionCosts` to reduce complexity in
`getVectorIntrinsicInstrCost` and enable other passes, like the SLP
vectorizer, to benefit from these updated calculations.
These are not expected to provide noticable performance improvements and
are rather provided for the sake of completeness and correctness. This
PR is in draft mode pending benchmark confirmation of this.
This also provides and/or updates cost tests for all of these
intrinsics.
This PR was co-authored by me and @JonPsson1 .
Commit: 17cfd016b4621b8ae52bc7cc27570dd6fa8c0129
https://github.com/llvm/llvm-project/commit/17cfd016b4621b8ae52bc7cc27570dd6fa8c0129
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][Doc] Add `gfx950` to `gfx9-4-generic` in the document
Commit: c9fbabfdc92f12b2b0148762e6e789157a172e4d
https://github.com/llvm/llvm-project/commit/c9fbabfdc92f12b2b0148762e6e789157a172e4d
Author: mandymi <131526806+mandymimi at users.noreply.github.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
Log Message:
-----------
[ASTMatcher] Fix redundant macro expansion checks in getExpansionLocOfMacro (#117143)
A performance issue was descibed in #114521
**Root Cause**: The function getExpansionLocOfMacro is responsible for
finding the expansion location of macros. When dealing with macro
parameters, it recursively calls itself to check the expansion of macro
arguments. This recursive logic redundantly checks previous macro
expansions, leading to significant performance degradation when macros
are heavily nested.
Solution
**Modification**: Track already processed macros during recursion.
Implementation Details:
Introduced a data structure to record processed macros.
Before each recursive call, check if the macro has already been
processed to avoid redundant calculations.
**Testing**:
1. refer to #114521
Finder->addMatcher(expr(isExpandedFromMacro("NULL")).bind("E"), this);
run clang-tidy on freecad/src/Mod/Path/App/AreaPyImp.cpp
clang-tidy src/Mod/Path/App/AreaPyImp.cpp -checks=-*,testchecker
-p=build/compile_commands.json
checker runs normally
2. check-clang-unit pass
Commit: 8da490320f6dcb99b4efef2cdb3d21002db1d2f7
https://github.com/llvm/llvm-project/commit/8da490320f6dcb99b4efef2cdb3d21002db1d2f7
Author: Callum Fare <callum at codeplay.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/cmake/OpenMPTesting.cmake
A offload/liboffload/API/APIDefs.td
A offload/liboffload/API/CMakeLists.txt
A offload/liboffload/API/Common.td
A offload/liboffload/API/Device.td
A offload/liboffload/API/OffloadAPI.td
A offload/liboffload/API/Platform.td
A offload/liboffload/API/README.md
A offload/liboffload/CMakeLists.txt
A offload/liboffload/README.md
A offload/liboffload/exports
A offload/liboffload/include/OffloadImpl.hpp
A offload/liboffload/include/generated/OffloadAPI.h
A offload/liboffload/include/generated/OffloadEntryPoints.inc
A offload/liboffload/include/generated/OffloadFuncs.inc
A offload/liboffload/include/generated/OffloadImplFuncDecls.inc
A offload/liboffload/include/generated/OffloadPrint.hpp
A offload/liboffload/src/Helpers.hpp
A offload/liboffload/src/OffloadImpl.cpp
A offload/liboffload/src/OffloadLib.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/test/lit.cfg
M offload/test/lit.site.cfg.in
A offload/test/tools/offload-tblgen/default_returns.td
A offload/test/tools/offload-tblgen/entry_points.td
A offload/test/tools/offload-tblgen/functions_basic.td
A offload/test/tools/offload-tblgen/functions_code_loc.td
A offload/test/tools/offload-tblgen/functions_ranged_param.td
A offload/test/tools/offload-tblgen/print_enum.td
A offload/test/tools/offload-tblgen/print_function.td
A offload/test/tools/offload-tblgen/type_tagged_enum.td
A offload/tools/offload-tblgen/APIGen.cpp
A offload/tools/offload-tblgen/CMakeLists.txt
A offload/tools/offload-tblgen/EntryPointGen.cpp
A offload/tools/offload-tblgen/FuncsGen.cpp
A offload/tools/offload-tblgen/GenCommon.hpp
A offload/tools/offload-tblgen/Generators.hpp
A offload/tools/offload-tblgen/PrintGen.cpp
A offload/tools/offload-tblgen/RecordTypes.hpp
A offload/tools/offload-tblgen/offload-tblgen.cpp
M offload/unittests/CMakeLists.txt
A offload/unittests/OffloadAPI/CMakeLists.txt
A offload/unittests/OffloadAPI/common/Environment.cpp
A offload/unittests/OffloadAPI/common/Environment.hpp
A offload/unittests/OffloadAPI/common/Fixtures.hpp
A offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
A offload/unittests/OffloadAPI/device/olGetDevice.cpp
A offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
A offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
A offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
A offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
A offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
A offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
A offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
A offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp
Log Message:
-----------
Reland of #108413: [Offload] Introduce offload-tblgen and initial new API implementation (#118503)
This is another attempt to reland the changes from #108413
The previous two attempts introduced regressions and were reverted. This
PR has been more thoroughly tested with various configurations so
shouldn't cause any problems this time. If anyone is aware of any likely
remaining problems then please let me know.
The changes are identical other than the fixes contained in the last 5
commits.
---
### New API
Previous discussions at the LLVM/Offload meeting have brought up the
need for a new API for exposing the functionality of the plugins. This
change introduces a very small subset of a new API, which is primarily
for testing the offload tooling and demonstrating how a new API can fit
into the existing code base without being too disruptive. Exact designs
for these entry points and future additions can be worked out over time.
The new API does however introduce the bare minimum functionality to
implement device discovery for Unified Runtime and SYCL. This means that
the `urinfo` and `sycl-ls` tools can be used on top of Offload. A
(rough) implementation of a Unified Runtime adapter (aka plugin) for
Offload is available
[here](https://github.com/callumfare/unified-runtime/tree/offload_adapter).
Our intention is to maintain this and use it to implement and test
Offload API changes with SYCL.
### Demoing the new API
```sh
# From the runtime build directory
$ ninja LibomptUnitTests
$ OFFLOAD_TRACE=1 ./offload/unittests/OffloadAPI/offload.unittests
```
### Open questions and future work
* Only some of the available device info is exposed, and not all the
possible device queries needed for SYCL are implemented by the plugins.
A sensible next step would be to refactor and extend the existing device
info queries in the plugins. The existing info queries are all strings,
but the new API introduces the ability to return any arbitrary type.
* It may be sensible at some point for the plugins to implement the new
API directly, and the higher level code on top of it could be made
generic, but this is more of a long-term possibility.
Commit: 50249263a173d43475a60ca658048cf3b6206aba
https://github.com/llvm/llvm-project/commit/50249263a173d43475a60ca658048cf3b6206aba
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
Log Message:
-----------
MLRegAlloc: Do not use float to count number of used registers [NFC] (#118489)
Commit: af31aa44551f1fd78aa0f177947cb523373ff2d9
https://github.com/llvm/llvm-project/commit/af31aa44551f1fd78aa0f177947cb523373ff2d9
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
Log Message:
-----------
[LV] Pre-commit tests for fixed width VF fully unrolled loop cost model change
Commit: 1f20eee6dc367bd202895e3eedb03974a628ef16
https://github.com/llvm/llvm-project/commit/1f20eee6dc367bd202895e3eedb03974a628ef16
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll
Log Message:
-----------
[SPIR-V] Emit OpConstant instead of OpConstantNull to conform to NonSemantic.Shader.DebugInfo.100 DebugTypeBasic's flags definition (#118333)
This PR is to fix https://github.com/llvm/llvm-project/issues/118011 by
emitting OpConstant instead of OpConstantNull to conform to
NonSemantic.Shader.DebugInfo.100 DebugTypeBasic's flags definition.
Commit: 68112f0f5b2209e14aae9a891481cba5709873a2
https://github.com/llvm/llvm-project/commit/68112f0f5b2209e14aae9a891481cba5709873a2
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M libc/src/__support/OSUtil/linux/exit.cpp
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
libc: fixup include path and bazel stale comments (#118510)
Downstream builders are having issues with this local include. Use a
fuller
path that's more standard throughout the codebase.
Also some of the comments in the bazel overlay are stale. Remove them.
Reported-by: Brooks Moses <bmoses at google.com>
Commit: 56ab56c85729976f29d5de2fd73912449cb6da7c
https://github.com/llvm/llvm-project/commit/56ab56c85729976f29d5de2fd73912449cb6da7c
Author: Jim B <d3x0r at users.noreply.github.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/docs/ClangFormat.rst
M clang/lib/Format/Format.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format] Add support for `.cjs` as JavaScript file extension (#118188)
Node uses `.cjs` as an extension for 'common javascript' modules.
Commit: 5ae613c9b9dc37ec1b0a6d76714099375288d772
https://github.com/llvm/llvm-project/commit/5ae613c9b9dc37ec1b0a6d76714099375288d772
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[NFC] Remove trailing white spaces in `clang/include/clang/Driver/Options.td`
Commit: afe75b4d5fcebd6fdd292ca1797de1b35cb687b0
https://github.com/llvm/llvm-project/commit/afe75b4d5fcebd6fdd292ca1797de1b35cb687b0
Author: Peter Hawkins <phawkins at google.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/docs/Bindings/Python.md
M mlir/examples/standalone/python/CMakeLists.txt
R mlir/examples/standalone/python/StandaloneExtension.cpp
A mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
A mlir/examples/standalone/python/StandaloneExtensionPybind11.cpp
R mlir/examples/standalone/python/mlir_standalone/dialects/standalone.py
A mlir/examples/standalone/python/mlir_standalone/dialects/standalone_nanobind.py
A mlir/examples/standalone/python/mlir_standalone/dialects/standalone_pybind11.py
M mlir/examples/standalone/test/python/smoketest.py
A mlir/include/mlir/Bindings/Python/Diagnostics.h
A mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/dialects/python_test.py
M mlir/python/requirements.txt
M mlir/test/python/dialects/python_test.py
M mlir/test/python/lib/CMakeLists.txt
R mlir/test/python/lib/PythonTestModule.cpp
A mlir/test/python/lib/PythonTestModuleNanobind.cpp
A mlir/test/python/lib/PythonTestModulePybind11.cpp
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
A utils/bazel/third_party_build/nanobind.BUILD
A utils/bazel/third_party_build/robin_map.BUILD
Log Message:
-----------
[mlir python] Add nanobind support for standalone dialects. (#117922)
This PR allows out-of-tree dialects to write Python dialect modules
using nanobind instead of pybind11.
It may make sense to migrate in-tree dialects and some of the ODS Python
infrastructure to nanobind, but that is a topic for a future change.
This PR makes the following changes:
* adds nanobind to the CMake and Bazel build systems. We also add
robin_map to the Bazel build, which is a dependency of nanobind.
* adds a PYTHON_BINDING_LIBRARY option to various CMake functions, such
as declare_mlir_python_extension, allowing users to select a Python
binding library.
* creates a fork of mlir/include/mlir/Bindings/Python/PybindAdaptors.h
named NanobindAdaptors.h. This plays the same role, using nanobind
instead of pybind11.
* splits CollectDiagnosticsToStringScope out of PybindAdaptors.h and
into a new header mlir/include/mlir/Bindings/Python/Diagnostics.h, since
it is code that is no way related to pybind11 or for that matter,
Python.
* changed the standalone Python extension example to have both pybind11
and nanobind variants.
* changed mlir/python/mlir/dialects/python_test.py to have both pybind11
and nanobind variants.
Notes:
* A slightly unfortunate thing that I needed to do in the CMake
integration was to use FindPython in addition to FindPython3, since
nanobind's CMake integration expects the Python_ names for variables.
Perhaps there's a better way to do this.
Commit: 04996a28b7639a333c5d04bf4d10d70bda3e0173
https://github.com/llvm/llvm-project/commit/04996a28b7639a333c5d04bf4d10d70bda3e0173
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Arch/PPC.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/SyntheticSections.cpp
Log Message:
-----------
[ELF] Rename target-specific RelExpr enumerators
RelExpr enumerators are named `R_*`, which can be confused with ELF
relocation type names. Rename the target-specific ones to `RE_*` to
avoid confusion.
For consistency, the target-independent ones can be renamed as well, but
that's not urgent. The relocation processing mechanism with RelExpr has
non-trivial overhead compared with mold's approach, and we might make
more code into Arch/*.cpp files and decrease the enumerators.
Pull Request: https://github.com/llvm/llvm-project/pull/118424
Commit: 61bf308cf2fc32452f14861c102ace89f5f36fec
https://github.com/llvm/llvm-project/commit/61bf308cf2fc32452f14861c102ace89f5f36fec
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/docs/Bindings/Python.md
M mlir/examples/standalone/python/CMakeLists.txt
A mlir/examples/standalone/python/StandaloneExtension.cpp
R mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
R mlir/examples/standalone/python/StandaloneExtensionPybind11.cpp
A mlir/examples/standalone/python/mlir_standalone/dialects/standalone.py
R mlir/examples/standalone/python/mlir_standalone/dialects/standalone_nanobind.py
R mlir/examples/standalone/python/mlir_standalone/dialects/standalone_pybind11.py
M mlir/examples/standalone/test/python/smoketest.py
R mlir/include/mlir/Bindings/Python/Diagnostics.h
R mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/dialects/python_test.py
M mlir/python/requirements.txt
M mlir/test/python/dialects/python_test.py
M mlir/test/python/lib/CMakeLists.txt
A mlir/test/python/lib/PythonTestModule.cpp
R mlir/test/python/lib/PythonTestModuleNanobind.cpp
R mlir/test/python/lib/PythonTestModulePybind11.cpp
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
R utils/bazel/third_party_build/nanobind.BUILD
R utils/bazel/third_party_build/robin_map.BUILD
Log Message:
-----------
Revert "[mlir python] Add nanobind support for standalone dialects." (#118517)
Reverts llvm/llvm-project#117922 because deps aren't met on some of the
post-commit build bots.
Commit: 95a4d30b0d64c544106acf306c3d3fa5fde99c02
https://github.com/llvm/llvm-project/commit/95a4d30b0d64c544106acf306c3d3fa5fde99c02
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[NFC] Remove trailing white spaces in `clang/docs/ReleaseNotes.rst`
Commit: eb257fe37ba1ea41bd162e2fbd0ee4cd33fcdcea
https://github.com/llvm/llvm-project/commit/eb257fe37ba1ea41bd162e2fbd0ee4cd33fcdcea
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
A clang/test/SemaOpenACC/combined-construct-num_gangs-ast.cpp
A clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
A clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
A clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
A clang/test/SemaOpenACC/combined-construct-vector_length-ast.cpp
A clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
Log Message:
-----------
[OpenACC] Enable 3 more clauses for combined constructs.
'num_gangs', 'num_workers', and 'vector_length' are similar to
eachother, and are all the same implementation as for compute
constructs, so this patch just enables them and adds the necessary
testing to ensure they work correctly. These will get more complicated
when they get combined with 'gang', 'worker', 'vector' and 'reduction',
but those restrictions will be implemented when those clauses are
enabled.
Commit: d1f4f6368064d8d7bf09fbd5be8d74846d532c30
https://github.com/llvm/llvm-project/commit/d1f4f6368064d8d7bf09fbd5be8d74846d532c30
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lld/test/ELF/systemz-gotent-relax-und-dso.s
M lld/test/ELF/systemz-gotent-relax.s
M lld/test/ELF/systemz-plt.s
M lld/test/ELF/systemz-tls-gd.s
M lld/test/ELF/systemz-tls-ld.s
M llvm/lib/Target/SystemZ/SystemZInstrFormats.td
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ13.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ15.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ196.td
M llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td
M llvm/test/MC/Disassembler/SystemZ/insns-pcrel.txt
M llvm/test/MC/Disassembler/SystemZ/insns.txt
M llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
M llvm/test/MC/SystemZ/insn-good.s
Log Message:
-----------
[SystemZ] Use nop mnemonics for disassembly
To match the behavior of GNU binutils, output the nop family
of mnemonic aliases when disassembling.
Commit: ce416a073be6da06be7fd2d427b896b380fb3877
https://github.com/llvm/llvm-project/commit/ce416a073be6da06be7fd2d427b896b380fb3877
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M .github/workflows/docs.yml
Log Message:
-----------
[Github] fix libc documentation path (#118514)
Running `ninja docs-libc-html` produces content in
{build_dir}/libc/docs, not
{build_dir}/docs. Presubmit jobs for "Test documentation build" were
failing as
a result of commit 97f94af3560d ("[Github] Upload built docs as artifact
from
test build docs job (#118159)")
Link: #118159
Link: #117220
Commit: f44bee78c471df8f0a258c656a921a082d7e836a
https://github.com/llvm/llvm-project/commit/f44bee78c471df8f0a258c656a921a082d7e836a
Author: Greg Clayton <gclayton at fb.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
A lldb/test/Shell/SymbolFile/DWARF/x86/dwp-index-cache.cpp
Log Message:
-----------
[lldb] Fix the DWARF index cache when index is partial. (#118390)
The ManualDWARFIndex class can create a index cache if the LLDB index
cache is enabled. This used to save the index to the same file,
regardless of wether the cache was a full index (no .debug_names) or a
partial index (have .debug_names, but not all .o files were had
.debug_names). So we could end up saving an index cache that was
partial, and then later load that partial index as if it were a full
index if the user set the 'settings set
plugin.symbol-file.dwarf.ignore-file-indexes true'. This would cause us
to ignore the .debug_names section, and if the index cache was enabled,
we could end up loading the partial index as if it were a full DWARF
index.
This patch detects when the ManualDWARFIndex is being used with
.debug_names, and saves out a cache file with a suffix of "-full" or
"-partial" to avoid this issue.
Commit: e8b9e1354accf33ced45321abdd8c8bc65d025cc
https://github.com/llvm/llvm-project/commit/e8b9e1354accf33ced45321abdd8c8bc65d025cc
Author: Augie Fackler <augie at google.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M utils/bazel/llvm_configs/abi-breaking.h.cmake
Log Message:
-----------
[bazel] update config.h.cmake
for 4dafb091a0336a6669e6369cb69ef1ea1b39578d
reverts 1a1de2465d8399b178149e7e23c7450fdc5dde9f
Commit: 2a1a02461a8d4ae9f560a4215fe85a1f085b4d82
https://github.com/llvm/llvm-project/commit/2a1a02461a8d4ae9f560a4215fe85a1f085b4d82
Author: Luke Riddle <35970909+lukejriddle at users.noreply.github.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lldb/bindings/interface/SBMemoryRegionInfoListExtensions.i
M lldb/test/API/python_api/find_in_memory/TestFindInMemory.py
Log Message:
-----------
Make SBMemoryRegionInfoList iterable with Python SWIG (#117358)
This PR fixes a simple SWIG issue with SBMemoryRegionInfoList not being
iterable out-of-the-box. This is mostly because of limitations to the
`lldb_iter` function, which doesn't allow for specifying arguments to
the size / iter functions passed.
Before:
```
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> for region in lldb.process.GetMemoryRegions():
... print(region)
...
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/opt/llvm/stable/Toolchains/llvm-sand.xctoolchain/usr/lib/python3.10/site-packages/lldb/__init__.py", line 114, in lldb_iter
yield elem(i)
TypeError: SBMemoryRegionInfoList.GetMemoryRegionAtIndex() missing 1 required positional argument: 'region_info'
```
After:
```
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> for region in lldb.process.GetMemoryRegions():
... print(region)
...
[0x0000000000200000-0x00000000002cf000 R--]
[0x00000000002cf000-0x0000000000597000 R-X]
[0x0000000000597000-0x00000000005ad000 R--]
[0x00000000005ad000-0x00000000005b1000 RW-]
[0x00000000005b1000-0x0000000000b68000 RW-]
[0x000000007fff7000-0x000000008fff7000 RW-]
[0x000002008fff7000-0x000010007fff8000 RW-]
[0x0000503000000000-0x0000503000010000 RW-]
[0x0000503e00000000-0x0000503e00010000 RW-]
[0x0000504000000000-0x0000504000010000 RW-]
[0x0000504e00000000-0x0000504e00010000 RW-]
[0x000050d000000000-0x000050d000010000 RW-]
[0x000050de00000000-0x000050de00010000 RW-]
[0x000050e000000000-0x000050e000010000 RW-]
[0x000050ee00000000-0x000050ee00010000 RW-]
[0x0000511000000000-0x0000511000010000 RW-]
[0x0000511e00000000-0x0000511e00010000 RW-]
[0x0000513000000000-0x0000513000010000 RW-]
...
```
Commit: 935bbbbde4b2661ed7f8f2975a39bda360572572
https://github.com/llvm/llvm-project/commit/935bbbbde4b2661ed7f8f2975a39bda360572572
Author: Zaara Syeda <syzaara at ca.ibm.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/test/CodeGen/PowerPC/aix-xcoff-mergeable-str.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-rodata.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-used-with-stringpool.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-exceptions.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-tls.ll
Log Message:
-----------
[PPC] Remove missed cases of ppc-merge-string-pool (#117626)
PPCMergeStringPool was replaced with GlobalMerge with commit aaa37d6.
Some cases of option ppc-merge-string-pool were missed being removed.
Commit: 0ca8a593e5da5d00100db8f735b4c4babeb36eb8
https://github.com/llvm/llvm-project/commit/0ca8a593e5da5d00100db8f735b4c4babeb36eb8
Author: Alex Langford <alangford at apple.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lldb/include/lldb/Target/Platform.h
Log Message:
-----------
[lldb][NFC] Remove unused field Platform::m_remote_url (#118411)
Related:
https://discourse.llvm.org/t/rfc-lldb-a-proposal-to-refactor-platform/82697
Commit: 0c6457b781ae8365ef2169376ae78675b5b4896b
https://github.com/llvm/llvm-project/commit/0c6457b781ae8365ef2169376ae78675b5b4896b
Author: Mason Remy <masonr at microsoft.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/test/TableGen/intrinsic-overload-conflict.td
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
Log Message:
-----------
[LLVM][TableGen] Refine overloaded intrinsic suffix check (#117957)
Previously the check comments indicated that [pi][0-9]+ would match as a
type suffix, however the check itself was looking for [pi][0-9]* and
hence an 'i' suffix in isolation was being considered as a type suffix
despite it not having a bitwidth.
This change makes the check consistent with the comment and looks for
[pi][0-9]+
Commit: deed1b0664e85cd3bb33451a81db52459d9f7663
https://github.com/llvm/llvm-project/commit/deed1b0664e85cd3bb33451a81db52459d9f7663
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
Log Message:
-----------
[SystemZ] Fix address parsing in HLASM mode
When parsing an address that contains only a single register
for an instruction that actually has both a base and an index
register, the parsed register is treated as base by AsmParser.
This is correct when emulating the GNU assembler, but not when
emulating HLASM, as the latter treat the register as index in
this case.
Commit: 9791f258079a4334c61c64cb62d9746a3db2c25c
https://github.com/llvm/llvm-project/commit/9791f258079a4334c61c64cb62d9746a3db2c25c
Author: Aidan Goldfarb <47676355+AidanGoldfarb at users.noreply.github.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/Features.def
M clang/test/Sema/enum.c
Log Message:
-----------
[clang][sema] Add support and documentation for `__has_extension(c_fixed_enum)` (#117507)
This PR addresses #116880
Updated
[LanguageExtensions.rst](https://github.com/llvm/llvm-project/blob/main/clang/docs/LanguageExtensions.rst)
to include support for C++11 enumerations with a fixed underlying type
in C. Included a note that this is only a language extension prior to
C23.
Updated
[Features.def](https://github.com/llvm-mirror/clang/blob/master/include/clang/Basic/Features.def)
to support for `__has_extension(c_fixed_enum)` by added it as a feature
(for C23) and an extension (for <C23).
Updated
[enum.c](https://github.com/llvm/llvm-project/blob/main/clang/test/Sema/enum.c)
to ensure support of C++11 enumerations with a fixed underlying type in
both <C23 and C23, as well as the functionality of
`__has_extension(c_fixed_enum)`.
---
In enum.c, I encountered a warning when testing enumerations with a
fixed underlying type in pre-C23 modes. Specifically, the test produces
the warning: `enumeration types with a fixed underlying type are a C23
extension`. I am unsure if this warning is expected behavior, as
enumerations with a fixed underlying type should behave identically in
pre-C23 and C23 modes. I expected that adding `c_fixed_enum` as an
extension would fix this warning. Feedback on whether this is correct or
requires adjustment would be appreciated.
I was also unsure of the best location for the additions in
`Features.def`, I would appreciate advice on this as well
Note that this is my first PR to LLVM, so please liberally critique it!
Commit: acf3b1aa932b2237c181686e52bc61584a80a3ff
https://github.com/llvm/llvm-project/commit/acf3b1aa932b2237c181686e52bc61584a80a3ff
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
A llvm/include/llvm/CodeGen/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
M llvm/unittests/IR/CMakeLists.txt
R llvm/unittests/IR/DroppedVariableStatsTest.cpp
Log Message:
-----------
Reland [NFC] Move DroppedVariableStats to its own file and redesign it to be extensible. (#117042)
Moved the IR unit test to the CodeGen folder to resolve linker errors:
`error: undefined reference to 'vtable for
llvm::DroppedVariableStatsIR'`
This patch is trying to reland
https://github.com/llvm/llvm-project/pull/115563
Commit: 4dd5ac906f9efdba3034b70acdda406348dc6f53
https://github.com/llvm/llvm-project/commit/4dd5ac906f9efdba3034b70acdda406348dc6f53
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
Log Message:
-----------
[RISCV] Improve coverage for spread(N) shuffles
I'd already included a few cases for spread(N) in the decompress(N) variants,
but rename for clarity and add a couple more edge cases.
i.e. spread(N, 0) produces a, undef, b, undef, ...
Commit: b8805c88ce09fe8cc7e469162cbef05722559566
https://github.com/llvm/llvm-project/commit/b8805c88ce09fe8cc7e469162cbef05722559566
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Clang-format a few lines to remove diff in a nearby patch
Commit: 4b9bf660f3a3db3b22dd33aa5b23986748b09ec3
https://github.com/llvm/llvm-project/commit/4b9bf660f3a3db3b22dd33aa5b23986748b09ec3
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port acf3b1aa932b
Commit: 25b1896686177673dcd548489e92c7880d576948
https://github.com/llvm/llvm-project/commit/25b1896686177673dcd548489e92c7880d576948
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/test/Sema/enum.c
Log Message:
-----------
Fix test for bots where -std=c99 is the default
Amends 9791f258079a4334c61c64cb62d9746a3db2c25c
This addresses the issue found by:
https://lab.llvm.org/buildbot/#/builders/144/builds/13023
Commit: f7151248579330df8ea68003f60b778149e0f262
https://github.com/llvm/llvm-project/commit/f7151248579330df8ea68003f60b778149e0f262
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Fix the vscode-uninstall command
The command was using the wrong publisher name ("llvm" rather than
"llvm-vs-code-extensions") resulting in the command complaining:
```
npm run vscode-uninstall
> lldb-dap at 0.2.6 vscode-uninstall
> code --uninstall-extension llvm.lldb-dap
Extension 'llvm.lldb-dap' is not installed.
Make sure you use the full extension ID, including the publisher, e.g.: ms-dotnettools.csharp
```
Commit: 0ccd18ead138e9efc56b6c16ded6c3f4df86ae91
https://github.com/llvm/llvm-project/commit/0ccd18ead138e9efc56b6c16ded6c3f4df86ae91
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/index/BackgroundRebuild.cpp
Log Message:
-----------
Typo fix; NFC
Commit: 384562495bae44be053c1bbd40c359ef4b82d803
https://github.com/llvm/llvm-project/commit/384562495bae44be053c1bbd40c359ef4b82d803
Author: John Harrison <harjohn at google.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lldb/include/lldb/Host/Socket.h
M lldb/include/lldb/Host/common/TCPSocket.h
M lldb/include/lldb/Host/posix/DomainSocket.h
M lldb/source/Host/common/TCPSocket.cpp
M lldb/source/Host/posix/DomainSocket.cpp
M lldb/unittests/Host/SocketTest.cpp
Log Message:
-----------
[lldb] For a host socket, add a method to print the listening address. (#118330)
This is most useful if you are listening on an address like
'localhost:0' and want to know the resolved ip + port of the socket
listener.
Commit: fc11b6790e7439edc5399d1c9626c538d5520e6c
https://github.com/llvm/llvm-project/commit/fc11b6790e7439edc5399d1c9626c538d5520e6c
Author: nawrinsu <nawrin.sultana at intel.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM][Maintainers] Update LLVM maintainers for OpenMP runtime (#118521)
Commit: cd04653c4e7d66e9d3cc8e442c4fd6ef124702a9
https://github.com/llvm/llvm-project/commit/cd04653c4e7d66e9d3cc8e442c4fd6ef124702a9
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/newhdrgen/yaml/math.yaml
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sincosf16_utils.h
A libc/src/math/generic/sinf16.cpp
M libc/src/math/generic/tanpif16.cpp
A libc/src/math/sinf16.h
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/sinf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/sinf16_test.cpp
Log Message:
-----------
[libc][math][c23] Add sinf16 C23 math function (#116674)
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: 2d57333da432921762323718351a21532867588c
https://github.com/llvm/llvm-project/commit/2d57333da432921762323718351a21532867588c
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M flang/lib/Lower/ConvertExprToHLFIR.cpp
Log Message:
-----------
[flang] Fix crash in HLFIR generation (#118399)
Structure constructors with multiple components would crash when
components were from parent types. The search for the right parent
component must be done anew for each component.
Fixes https://github.com/llvm/llvm-project/issues/118270,
https://github.com/llvm/llvm-project/issues/96994, and
https://github.com/llvm/llvm-project/issues/105848.
Commit: d6cd214dd6ae35ea50be4fdc296ef9091f762375
https://github.com/llvm/llvm-project/commit/d6cd214dd6ae35ea50be4fdc296ef9091f762375
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
Log Message:
-----------
[ThinLTO][LowerTypeTests] Don't compute address taken set unless CFI (NFC) (#118508)
The AddressTaken set used for CFI with regular LTO was being computed on
the ExportSummary regardless of whether any CFI metadata existed. In the
case of ThinLTO, the ExportSummary is the global summary index for the
target, and the lack of guard in this code meant this was being computed
on the ThinLTO index even when there was an empty regular LTO module,
since the backend is called on the combined module to generate the
expected output file (normally this is trivial as there is no IR).
Move the computation of the AddressTaken set into the condition checking
for CFI to avoid this overhead. This change resulted in a 20% speedup in
the thin link of a large target. It looks like the outer loop has
existed here for several years, but likely became a larger overhead
after the inner loop was added very recently in PR113987.
I will send a separate patch to refactor the ThinLTO backend handling to
avoid invoking the opt pipeline if the module is empty, in case there
are other summary-based analyses in some of the passes now or in the
future. This change is still desireable as by default regular LTO
modules contain summaries, or we can have split thin and regular LTO
modules, and if they don't involve CFI these would still unnecessarily
compute the AddressTaken set.
Commit: fdd09e9de579e6915d467c1b72efb8c653739602
https://github.com/llvm/llvm-project/commit/fdd09e9de579e6915d467c1b72efb8c653739602
Author: Rashmi Mudduluru <r_mudduluru at apple.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
[ASTMatchers] AST matcher support for ObjC pointers (#117021)
Add `ObjCInterfaceDecl` to the list of types supported by the `hasType`
and `hasDeclaration` matchers, `ObjCObjectPointerType` to the list of
types supported by `pointee`.
These AST matcher improvements will help the new WebKit checker for
unsafe casts
([https://github.com/llvm/llvm-project/pull/114606](https://github.com/llvm/llvm-project/pull/114606))
match on unsafe Objective-C pointer casts.
Commit: e0ae7793fca0c78919bc41ffd407acb62146ad47
https://github.com/llvm/llvm-project/commit/e0ae7793fca0c78919bc41ffd407acb62146ad47
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
R libc/config/baremetal/api.td
R libc/config/gpu/api.td
R libc/config/linux/api.td
R libc/config/public_api.td
M libc/docs/dev/header_generation.rst
M libc/docs/gpu/building.rst
M libc/include/CMakeLists.txt
R libc/spec/bsd_ext.td
R libc/spec/gnu_ext.td
R libc/spec/gpu_ext.td
R libc/spec/linux.td
R libc/spec/llvm_libc_ext.td
R libc/spec/llvm_libc_stdfix_ext.td
R libc/spec/posix.td
R libc/spec/spec.td
R libc/spec/stdc.td
R libc/spec/stdc_ext.td
M libc/test/src/CMakeLists.txt
R libc/utils/HdrGen/CMakeLists.txt
R libc/utils/HdrGen/Command.cpp
R libc/utils/HdrGen/Command.h
R libc/utils/HdrGen/Generator.cpp
R libc/utils/HdrGen/Generator.h
R libc/utils/HdrGen/IncludeFileCommand.cpp
R libc/utils/HdrGen/IncludeFileCommand.h
R libc/utils/HdrGen/Main.cpp
R libc/utils/HdrGen/PrototypeTestGen/CMakeLists.txt
R libc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
R libc/utils/HdrGen/PublicAPICommand.cpp
R libc/utils/HdrGen/PublicAPICommand.h
R libc/utils/HdrGen/README.md
R libc/utils/LibcTableGenUtil/APIIndexer.cpp
R libc/utils/LibcTableGenUtil/APIIndexer.h
R libc/utils/LibcTableGenUtil/CMakeLists.txt
M llvm/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[libc] delete hdrgen (#117220)
Thanks to the effort of @RoseZhang03 and @aaryanshukla under the
guidance of
@michaelrj-google and @amykhuang, we now have newhdrgen and no longer
have a
dependency on TableGen and thus LLVM in order to start bootstrapping a
full
build.
This PR removes:
- LIBC_HDRGEN_EXE; the in tree newhdrgen is the only hdrgen that can be
used.
- LIBC_USE_NEW_HEADER_GEN; newhdrgen is the default and only option.
- LIBC_HDRGEN_ONLY; there is no need to have a distinct build step for
old
hdrgen.
- libc-api-test and libc-api-test-tidy build targets.
- Deletes all .td files.
It does not rename newhdrgen to just hdrgen. Will follow up with a
distinct PR
for that.
Link: #117209
Link: #117254
Fixes: #117208
Commit: a0c4f854cad2b97e44a1b58dc1fd982e1c4d60f3
https://github.com/llvm/llvm-project/commit/a0c4f854cad2b97e44a1b58dc1fd982e1c4d60f3
Author: Michael Jones <michaelrj at google.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M libc/src/__support/ctype_utils.h
M libc/src/__support/high_precision_decimal.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/ctype/isxdigit.cpp
M libc/src/ctype/isxdigit_l.cpp
M libc/src/ctype/toupper.cpp
M libc/src/ctype/toupper_l.cpp
M libc/src/stdio/printf_core/fixed_converter.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdio/printf_core/float_inf_nan_converter.h
M libc/src/stdio/printf_core/int_converter.h
M libc/src/stdio/scanf_core/converter_utils.h
M libc/src/stdio/scanf_core/float_converter.cpp
M libc/src/stdio/scanf_core/int_converter.cpp
M libc/src/stdio/scanf_core/ptr_converter.cpp
M libc/test/UnitTest/MemoryMatcher.cpp
M libc/test/src/__support/CPP/stringview_test.cpp
M libc/test/src/ctype/isalnum_test.cpp
M libc/test/src/ctype/isalpha_test.cpp
M libc/test/src/ctype/isdigit_test.cpp
M libc/test/src/ctype/islower_test.cpp
M libc/test/src/ctype/isupper_test.cpp
M libc/test/src/ctype/isxdigit_test.cpp
M libc/test/src/ctype/tolower_test.cpp
M libc/test/src/ctype/toupper_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/string/strcmp_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
Log Message:
-----------
[libc] Change ctype to be encoding independent (#110574)
The previous implementation of the ctype functions assumed ASCII.
This patch changes to a switch/case implementation that looks odd, but
actually is easier for the compiler to understand and optimize.
Commit: 249755cedb17ffa707253edcef1a388f807caa35
https://github.com/llvm/llvm-project/commit/249755cedb17ffa707253edcef1a388f807caa35
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/DroppedVariableStats.h
M llvm/include/llvm/CodeGen/MachineFunctionPass.h
M llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/CodeGen/MachineFunctionPass.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp
Log Message:
-----------
Reland "Add a pass to collect dropped var stats for MIR" (#117044)
Moved the MIR Test to the unittests/CodeGen folder
This is patch is part of a stack of patches, and follows
https://github.com/llvm/llvm-project/pull/117042
I moved the MIR test to the unittests/CodeGen folder
I am trying to reland https://github.com/llvm/llvm-project/pull/115566
Commit: 51553227f010e3a9a439b2e57af15a6797f69a90
https://github.com/llvm/llvm-project/commit/51553227f010e3a9a439b2e57af15a6797f69a90
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/cmake/OpenMPTesting.cmake
R offload/liboffload/API/APIDefs.td
R offload/liboffload/API/CMakeLists.txt
R offload/liboffload/API/Common.td
R offload/liboffload/API/Device.td
R offload/liboffload/API/OffloadAPI.td
R offload/liboffload/API/Platform.td
R offload/liboffload/API/README.md
R offload/liboffload/CMakeLists.txt
R offload/liboffload/README.md
R offload/liboffload/exports
R offload/liboffload/include/OffloadImpl.hpp
R offload/liboffload/include/generated/OffloadAPI.h
R offload/liboffload/include/generated/OffloadEntryPoints.inc
R offload/liboffload/include/generated/OffloadFuncs.inc
R offload/liboffload/include/generated/OffloadImplFuncDecls.inc
R offload/liboffload/include/generated/OffloadPrint.hpp
R offload/liboffload/src/Helpers.hpp
R offload/liboffload/src/OffloadImpl.cpp
R offload/liboffload/src/OffloadLib.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/test/lit.cfg
M offload/test/lit.site.cfg.in
R offload/test/tools/offload-tblgen/default_returns.td
R offload/test/tools/offload-tblgen/entry_points.td
R offload/test/tools/offload-tblgen/functions_basic.td
R offload/test/tools/offload-tblgen/functions_code_loc.td
R offload/test/tools/offload-tblgen/functions_ranged_param.td
R offload/test/tools/offload-tblgen/print_enum.td
R offload/test/tools/offload-tblgen/print_function.td
R offload/test/tools/offload-tblgen/type_tagged_enum.td
R offload/tools/offload-tblgen/APIGen.cpp
R offload/tools/offload-tblgen/CMakeLists.txt
R offload/tools/offload-tblgen/EntryPointGen.cpp
R offload/tools/offload-tblgen/FuncsGen.cpp
R offload/tools/offload-tblgen/GenCommon.hpp
R offload/tools/offload-tblgen/Generators.hpp
R offload/tools/offload-tblgen/PrintGen.cpp
R offload/tools/offload-tblgen/RecordTypes.hpp
R offload/tools/offload-tblgen/offload-tblgen.cpp
M offload/unittests/CMakeLists.txt
R offload/unittests/OffloadAPI/CMakeLists.txt
R offload/unittests/OffloadAPI/common/Environment.cpp
R offload/unittests/OffloadAPI/common/Environment.hpp
R offload/unittests/OffloadAPI/common/Fixtures.hpp
R offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
R offload/unittests/OffloadAPI/device/olGetDevice.cpp
R offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
R offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
R offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
R offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
R offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
R offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
R offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
R offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp
Log Message:
-----------
Revert "Reland of #108413: [Offload] Introduce offload-tblgen and initial new API implementation" (#118541)
Reverts llvm/llvm-project#118503
Broke bot
https://lab.llvm.org/staging/#/builders/131/builds/9701/steps/5/logs/stdio
Commit: d8b5af45040431c44c1766aa505a6edb786ef81b
https://github.com/llvm/llvm-project/commit/d8b5af45040431c44c1766aa505a6edb786ef81b
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/DroppedVariableStats.h
M llvm/include/llvm/CodeGen/MachineFunctionPass.h
M llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/CodeGen/MachineFunctionPass.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
R llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp
Log Message:
-----------
Revert "Reland "Add a pass to collect dropped var stats for MIR" (#117044)"
This reverts commit 249755cedb17ffa707253edcef1a388f807caa35.
Broke https://lab.llvm.org/buildbot/#/builders/160/builds/9420
Note: This is test shard 99 of 154.
[==========] Running 2 tests from 2 test suites.
[----------] Global test environment set-up.
[----------] 1 test from DroppedVariableStatsMIR
[ RUN ] DroppedVariableStatsMIR.InlinedAt
--
exit: -11
Commit: 80987ef4b609301c0f4cf2de62f91aff6d32418f
https://github.com/llvm/llvm-project/commit/80987ef4b609301c0f4cf2de62f91aff6d32418f
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
R llvm/include/llvm/CodeGen/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
R llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
M llvm/unittests/IR/CMakeLists.txt
A llvm/unittests/IR/DroppedVariableStatsTest.cpp
Log Message:
-----------
Revert "Reland [NFC] Move DroppedVariableStats to its own file and redesign it to be extensible. (#117042)"
This reverts commit acf3b1aa932b2237c181686e52bc61584a80a3ff.
Broke https://lab.llvm.org/buildbot/#/builders/76/builds/5002
tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/BackendUtil.cpp.o:(.toc+0x258): undefined reference to `vtable for llvm::DroppedVariableStatsIR'
Commit: 9bf6365237f3a8a401afc0a69d2fb6d1b809ce68
https://github.com/llvm/llvm-project/commit/9bf6365237f3a8a401afc0a69d2fb6d1b809ce68
Author: Lee Wei <lee10202013 at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/test/Transforms/ObjCARC/allocas.ll
M llvm/test/Transforms/ObjCARC/basic.ll
M llvm/test/Transforms/ObjCARC/cfg-hazards.ll
M llvm/test/Transforms/ObjCARC/contract-testcases.ll
M llvm/test/Transforms/ObjCARC/empty-block.ll
M llvm/test/Transforms/ObjCARC/path-overflow.ll
M llvm/test/Transforms/Reassociate/2011-01-26-UseAfterFree.ll
M llvm/test/Transforms/Reassociate/2012-06-08-InfiniteLoop.ll
M llvm/test/Transforms/Reassociate/add_across_block_crash.ll
M llvm/test/Transforms/Reassociate/infloop-deadphi.ll
M llvm/test/Transforms/Reassociate/reassociate-landingpad.ll
M llvm/test/Transforms/SCCP/2004-12-10-UndefBranchBug.ll
M llvm/test/Transforms/SCCP/2006-10-23-IPSCCP-Crash.ll
M llvm/test/Transforms/SCCP/2008-01-27-UndefCorrelate.ll
M llvm/test/Transforms/SCCP/PR26044.ll
M llvm/test/Transforms/SCCP/crash.ll
M llvm/test/Transforms/SCCP/domtree-update.ll
M llvm/test/Transforms/SCCP/fp-bc-icmp-const-fold.ll
M llvm/test/Transforms/SCCP/ipsccp-preserve-pdt.ll
M llvm/test/Transforms/SCCP/pr49582-iterator-invalidation.ll
M llvm/test/Transforms/SCCP/return-zapped.ll
M llvm/test/Transforms/SCCP/solve-after-each-resolving-undefs-for-function.ll
M llvm/test/Transforms/SCCP/switch-constantfold-crash.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/minimum-sizes.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/trunc-insertion.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_7zip.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_bullet.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_bullet3.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_dequeue.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_flop7.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_lencod-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_mandeltext.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_sim4b1.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_smallpt.ll
M llvm/test/Transforms/SLPVectorizer/X86/crash_vectorizeTree.ll
M llvm/test/Transforms/SLPVectorizer/X86/cse.ll
M llvm/test/Transforms/SLPVectorizer/X86/memory-runtime-checks.ll
M llvm/test/Transforms/SLPVectorizer/X86/no-scheduled-instructions.ll
M llvm/test/Transforms/SLPVectorizer/X86/ordering.ll
M llvm/test/Transforms/SLPVectorizer/X86/partail.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi_overalignedtype.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr16571.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_unsupported.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_with_reordered_users.ll
M llvm/test/Transforms/SLPVectorizer/X86/resched.ll
M llvm/test/Transforms/SLPVectorizer/X86/reuse-extracts-in-wider-vect.ll
M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
M llvm/test/Transforms/SLPVectorizer/X86/value-bug-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/value-bug.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
M llvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll
M llvm/test/Transforms/Scalarizer/crash-bug.ll
M llvm/test/Transforms/Scalarizer/dbgloc-bug-inseltpoison.ll
M llvm/test/Transforms/Scalarizer/dbgloc-bug.ll
M llvm/test/Transforms/Scalarizer/phi-unreachable-pred.ll
M llvm/test/Transforms/SimpleLoopUnswitch/2011-06-02-CritSwitch.ll
M llvm/test/Transforms/SimpleLoopUnswitch/2012-04-30-LoopUnswitch-LPad-Crash.ll
M llvm/test/Transforms/SimpleLoopUnswitch/2015-09-18-Addrspace.ll
M llvm/test/Transforms/SimpleLoopUnswitch/delete-dead-blocks.ll
M llvm/test/Transforms/SimpleLoopUnswitch/formDedicatedAfterTrivial1.ll
M llvm/test/Transforms/SimpleLoopUnswitch/guards.ll
M llvm/test/Transforms/SimpleLoopUnswitch/pr37888.ll
M llvm/test/Transforms/SimpleLoopUnswitch/preserve-analyses.ll
M llvm/test/Transforms/SimplifyCFG/2004-12-10-SimplifyCFGCrash.ll
M llvm/test/Transforms/SimplifyCFG/2006-06-12-InfLoop.ll
M llvm/test/Transforms/SimplifyCFG/branch-on-undef.ll
M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
M llvm/test/Transforms/SimplifyCFG/pr34131.ll
M llvm/test/Transforms/Sink/dead-user.ll
M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
M llvm/test/Transforms/StructurizeCFG/loop-continue-phi.ll
Log Message:
-----------
[llvm] Remove `br i1 undef` from some regression tests [NFC] (#118419)
This PR removes tests with `br i1 undef` under
`llvm/tests/Transforms/ObjCARC, Reassociate, SCCP, SLPVectorizer...`.
After this PR, I'll continue to fix tests under `llvm/tests/CodeGen`,
which has more UB tests than `llvm/tests/Transforms`.
Commit: fef54d0393fda144a23d764f96d42f5e1d17ab3e
https://github.com/llvm/llvm-project/commit/fef54d0393fda144a23d764f96d42f5e1d17ab3e
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
A llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
A llvm/lib/Target/AMDGPU/AMDGPURegBankSelect.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbanklegalize.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-regbankselect.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-salu-float.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui-salu-float.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir
Log Message:
-----------
AMDGPU/GlobalISel: Add skeletons for new register bank select passes (#112862)
New register bank select for AMDGPU will be split in two passes:
- AMDGPURegBankSelect: select banks based on machine uniformity analysis
- AMDGPURegBankLegalize: lower instructions that can't be inst-selected
with register banks assigned by AMDGPURegBankSelect.
AMDGPURegBankLegalize is similar to legalizer but with context of
uniformity analysis. Does not change already assigned banks.
Main goal of AMDGPURegBankLegalize is to provide high level table-like
overview of how to lower generic instructions based on available target
features and uniformity info (uniform vs divergent).
See RegBankLegalizeRules.
Summary of new features:
At the moment register bank select assigns register bank to output
register using simple algorithm:
- one of the inputs is vgpr output is vgpr
- all inputs are sgpr output is sgpr.
When function does not contain divergent control flow propagating
register banks like this works. In general, first point is still correct
but second is not when function contains divergent control flow.
Examples:
- Phi with uniform inputs that go through divergent branch
- Instruction with temporal divergent use.
To fix this AMDGPURegBankSelect will use machine uniformity analysis
to assign vgpr to each divergent and sgpr to each uniform instruction.
But some instructions are only available on VALU (for example floating
point instructions before gfx1150) and we need to assign vgpr to them.
Since we are no longer propagating register banks we need to ensure that
uniform instructions get their inputs in sgpr in some way.
In AMDGPURegBankLegalize uniform instructions that are only available on
VALU will be reassigned to vgpr on all operands and read-any-lane vgpr
output to original sgpr output.
Commit: 45ff28746f5f6350a95d8d9a3e3b3a62b932bce9
https://github.com/llvm/llvm-project/commit/45ff28746f5f6350a95d8d9a3e3b3a62b932bce9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/ConstraintSystem.h
M llvm/test/Transforms/ConstraintElimination/constraint-overflow.ll
Log Message:
-----------
[ConstraintSystem] Fix signed overflow in negate.
Use AddOverflow for potentially overflowing addition to fixed signed
integer overflow.
Compile-time impact is in the noise
https://llvm-compile-time-tracker.com/compare.php?from=bfb26202e05ee2932b4368b5fca607df01e8247f&to=195b0707148b567c674235e59712458e7ce1bb0e&stat=instructions:u
Commit: 69e9ceb04343ee661b53a49d61158a0e81250d32
https://github.com/llvm/llvm-project/commit/69e9ceb04343ee661b53a49d61158a0e81250d32
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 80987ef4b609
Commit: 7417ba67305747469e9636af68476faf12eefbcc
https://github.com/llvm/llvm-project/commit/7417ba67305747469e9636af68476faf12eefbcc
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port fef54d0393fd
Commit: b5b15c1973935da943e8cee26dc961c6dbe339b9
https://github.com/llvm/llvm-project/commit/b5b15c1973935da943e8cee26dc961c6dbe339b9
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/docs/tools/dump_ast_matchers.py
Log Message:
-----------
[ast matcher][NFC] make dump_ast_matchers.py run in any path (#117942)
Commit: d5956fb8f999e60af8bede8b17b02ca3a7b7cf4f
https://github.com/llvm/llvm-project/commit/d5956fb8f999e60af8bede8b17b02ca3a7b7cf4f
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/test/AArch64/veneer-lld-abs.s
Log Message:
-----------
[BOLT][AArch64] Add support for short LLD thunks/veneers (#118422)
When a callee function is closer than 256MB from its call site, LLD
linker can strategically create a short thunk for the function with a
single branch instruction (that covers +/-128MB). Detect and convert
such thunks into direct calls in BOLT.
Commit: a9bf16d961e9bb0923b401bc26697c6ca707a1f5
https://github.com/llvm/llvm-project/commit/a9bf16d961e9bb0923b401bc26697c6ca707a1f5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
Log Message:
-----------
[StaticAnalyzer] Migrate away from PointerUnion::{is,get} (NFC) (#118421)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: c8060423fe153fcb8febbebc4a043123b7a29a7b
https://github.com/llvm/llvm-project/commit/c8060423fe153fcb8febbebc4a043123b7a29a7b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M libcxx/include/__atomic/atomic.h
Log Message:
-----------
[libc++] Drop dependency on __functional/operations.h from <atomic> (#117302)
This should reduce the preprocessed size of the atomic header and other
headers in the synchronization library.
Commit: 5522d2462ed261a9c60fda2d56c65978a70a1793
https://github.com/llvm/llvm-project/commit/5522d2462ed261a9c60fda2d56c65978a70a1793
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
Log Message:
-----------
[flang][cuda] Allow AbstractResult to run in gpu.module (#118529)
in CUDA Fortran, device function are converted to `gpu.func` inside the
`gpu.module` operation. Update the AbstractResult pass to be able to run
on `func.func` and `gpu.func` operations inside the `gpu.module`.
Commit: 0c8928d456ac3ef23ed25bfc9e5d491dd7b62a11
https://github.com/llvm/llvm-project/commit/0c8928d456ac3ef23ed25bfc9e5d491dd7b62a11
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
A 0001-Reland-Add-a-pass-to-collect-dropped-var-stats-for-M.patch
A 0001-Reland-NFC-Move-DroppedVariableStats-to-its-own-file.patch
A llvm/include/llvm/CodeGen/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
M llvm/unittests/IR/CMakeLists.txt
R llvm/unittests/IR/DroppedVariableStatsTest.cpp
Log Message:
-----------
Reland "[NFC] Move DroppedVariableStats to its own file and redesign it to be extensible. (#117042)" (#118546)
Removed the virtual destructor in the derived
class DroppedVariableStatsIR
Commit: 1e7171f692d0fad37aad0674c6b7c904540a9a0c
https://github.com/llvm/llvm-project/commit/1e7171f692d0fad37aad0674c6b7c904540a9a0c
Author: David Green <david.green at arm.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
Log Message:
-----------
[AArch64] Add tablegen patterns for concat(extract-high, extract-high) (#118286)
A `concat(extract-high(x), extract-high(y))` is the top half of x
inserted into the bottom half of y. This patch adds a tablegen pattern
to make sure that we generate a single i64 lane insert.
Commit: e2472d3b120659ba7cd0e0dd0c6bf1260957fe47
https://github.com/llvm/llvm-project/commit/e2472d3b120659ba7cd0e0dd0c6bf1260957fe47
Author: Matthias Braun <matze at braunis.de>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/test/CodeGen/attr-target-x86.c
Log Message:
-----------
Rework attr-target-x86 test (#117091)
Rework the attr-target-x86 test so the CHECK lines for the attributes
are next to their corresponding `__attribute__`.
Commit: b206ba1867763a2b09e33649446599538c84d334
https://github.com/llvm/llvm-project/commit/b206ba1867763a2b09e33649446599538c84d334
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 0c8928d456ac
Commit: f2fa9ac6169758268bc16c46ec80da2e88ad7f2c
https://github.com/llvm/llvm-project/commit/f2fa9ac6169758268bc16c46ec80da2e88ad7f2c
Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[nfc][MSan] Change for-loop to ArgNo instead of drop_begin (#117553)
As discussed in
https://github.com/llvm/llvm-project/pull/109284#discussion_r1838830571
Changed for loop to use `ArgNo` instead of `drop_begin` to keep loop
code consistent with other helpers.
Co-authored-by: Kamil Kashapov <kashapov at ispras.ru>
Commit: c7d38591be8b5c581c228313d2972cb758221cc2
https://github.com/llvm/llvm-project/commit/c7d38591be8b5c581c228313d2972cb758221cc2
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
Log Message:
-----------
[ast matcher] add `ExportDecl` in dynamically matchers (#118258)
Commit: ea6cdb9a0708330089d583ce20aeaf81eec94ff7
https://github.com/llvm/llvm-project/commit/ea6cdb9a0708330089d583ce20aeaf81eec94ff7
Author: Matthias Braun <matze at braunis.de>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
M clang/test/CodeGen/attr-target-x86.c
Log Message:
-----------
allow prefer 256 bit attribute target (#117092)
This allows
`__attribute__((target("prefer-256-bit")))` /
`__attribute__((target("no-prefer-256-bit")))` to create variants of a
functions with 256/512 bit vector sizes within the same application.
Commit: c8b7ec2edd8d84729070e455002d1e78bdceddc5
https://github.com/llvm/llvm-project/commit/c8b7ec2edd8d84729070e455002d1e78bdceddc5
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/test/Lexer/gnu-flags.c
M clang/test/Preprocessor/macro_fn.c
Log Message:
-----------
Define a diagnostic group for missing variadic macro arguments (#116855)
Make the new diagnostic group a subgroup of the following diagnostic
groups:
-Wpre-c23-compat
-Wgnu-zero-variadic-macro-arguments
-Wc++20-extensions
-Wc23-extensions
This change is needed as 5231005193afb8db01afe9a8a1aa308d25f60ba1 made
it impossible to use -Wno-gnu-zero-variadic-macro-argumentsis to silence
the warning.
rdar://139234984
Commit: 1afb81dfaf902c1c42bd91fec1a7385e6e1529d3
https://github.com/llvm/llvm-project/commit/1afb81dfaf902c1c42bd91fec1a7385e6e1529d3
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/CodeGen/MachineStableHash.cpp
M llvm/lib/IR/StructuralHash.cpp
A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-nsconst.ll
A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-objc.ll
A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-string.ll
A llvm/test/CodeGen/AArch64/cgdata-outline-gvar.ll
Log Message:
-----------
[StructuralHash] Global Variable (#118412)
This update enhances the implementation of structural hashing for global
variables, using their initial contents. Private global variables or
constants are often used for metadata, where their names are not unique.
This can lead to the creation of different hash results although they
could be merged by the linker as they are effectively identical.
- Refine the hashing of GlobalVariables for strings or certain
Objective-C metadata cases that have section names. This can be further
extended to other scenarios.
- Expose StructuralHash for GlobalVariable so that this API can be
utilized by MachineStableHashing, which is also employed in the global
function outliner.
This change significantly improves size reduction by an additional 1% on
the LLD binary when the global function outliner and merger are enabled
together. As discussed in the RFC
https://discourse.llvm.org/t/loh-conflicting-with-machineoutliner/83279/8?u=kyulee-com,
if we disable or relocate the LOH pass, the size impact could increase
to 4%.
Commit: a201ba1b57aa57df8e31603b496793fa39d31936
https://github.com/llvm/llvm-project/commit/a201ba1b57aa57df8e31603b496793fa39d31936
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][Vector] Add support for 0-d shapes in extract-shape_cast folder (#116650)
The extract <-> shape cast folder was conservatively asserting and
failing on 0-d vectors. This pr fixes this.
This pr also adds more tests for 0d cases and updates related tests to
better reflect what they test.
Commit: e9dc6c5fbb6d2c2c93095acb6ff4ca0b515057ed
https://github.com/llvm/llvm-project/commit/e9dc6c5fbb6d2c2c93095acb6ff4ca0b515057ed
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachineOperand.cpp
Log Message:
-----------
CodeGen: Don't assert when printing null GlobalAddress operands (#115531)
Commit: 35cce408eef1a253df12c0023c993d78b180b1f3
https://github.com/llvm/llvm-project/commit/35cce408eef1a253df12c0023c993d78b180b1f3
Author: Dan Gohman <dev at sunfishcode.online>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets/WebAssembly.cpp
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
Log Message:
-----------
[WebAssembly] Support the new "Lime1" CPU (#112035)
This adds WebAssembly support for the new [Lime1 CPU].
First, this defines some new target features. These are subsets of
existing
features that reflect implementation concerns:
- "call-indirect-overlong" - implied by "reference-types"; just the
overlong
encoding for the `call_indirect` immediate, and not the actual reference
types.
- "bulk-memory-opt" - implied by "bulk-memory": just `memory.copy` and
`memory.fill`, and not the other instructions in the bulk-memory
proposal.
Next, this defines a new target CPU, "lime1", which enables
mutable-globals,
bulk-memory-opt, multivalue, sign-ext, nontrapping-fptoint,
extended-const,
and call-indirect-overlong. Unlike the default "generic" CPU, "lime1" is
meant
to be frozen, and followed up by "lime2" and so on when new features are
desired.
[Lime1 CPU]:
https://github.com/WebAssembly/tool-conventions/blob/main/Lime.md#lime1
---------
Co-authored-by: Heejin Ahn <aheejin at gmail.com>
Commit: 410cbe3cf28913cca2fc61b3437306b841d08172
https://github.com/llvm/llvm-project/commit/410cbe3cf28913cca2fc61b3437306b841d08172
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
A clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
A clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_abi_version_600.bc
A clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_abi_version_600.bc
M clang/test/Driver/hip-device-libs.hip
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
A llvm/test/CodeGen/AMDGPU/default_amdhsa_code_object_version.ll
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
Log Message:
-----------
[AMDGPU] Use COV6 by default (#118515)
Commit: 259bdc0033d1abacc80ad34f0a8ed86f6e218571
https://github.com/llvm/llvm-project/commit/259bdc0033d1abacc80ad34f0a8ed86f6e218571
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
R 0001-Reland-Add-a-pass-to-collect-dropped-var-stats-for-M.patch
R 0001-Reland-NFC-Move-DroppedVariableStats-to-its-own-file.patch
R llvm/include/llvm/CodeGen/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
R llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
M llvm/unittests/IR/CMakeLists.txt
A llvm/unittests/IR/DroppedVariableStatsTest.cpp
Log Message:
-----------
Revert "Reland "[NFC] Move DroppedVariableStats to its own file and redesign it to be extensible. (#117042)" (#118546)"
This reverts commit 0c8928d456ac3ef23ed25bfc9e5d491dd7b62a11.
Broke Bot: https://lab.llvm.org/buildbot/#/builders/76/builds/5008
error: undefined reference to `vtable for llvm::DroppedVariableStatsIR'
Commit: 67d8e1754d7707c90aa15a15ea5bbb430108a162
https://github.com/llvm/llvm-project/commit/67d8e1754d7707c90aa15a15ea5bbb430108a162
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port 259bdc0033d1
Commit: 14a259f85b6cbe6827677d94990c8803e31c847d
https://github.com/llvm/llvm-project/commit/14a259f85b6cbe6827677d94990c8803e31c847d
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
A llvm/test/Transforms/GlobalOpt/malloc-promote-addrspace.ll
Log Message:
-----------
GlobalOpt: Use the correct address space when creating a "*.init" global. (#118562)
Commit: 68bcba6d7a1cc18996c0bcb7c62267c62d2040d0
https://github.com/llvm/llvm-project/commit/68bcba6d7a1cc18996c0bcb7c62267c62d2040d0
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_abi_version_600.bc
R clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_abi_version_600.bc
M clang/test/Driver/hip-device-libs.hip
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
R llvm/test/CodeGen/AMDGPU/default_amdhsa_code_object_version.ll
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
Log Message:
-----------
Revert "[AMDGPU] Use COV6 by default (#118515)"
This reverts commit 410cbe3cf28913cca2fc61b3437306b841d08172 because some
buildbots are not ready yet.
Commit: 6a0d6fc2e92bcfb7cb01a4c6cdd751a9b4b4c159
https://github.com/llvm/llvm-project/commit/6a0d6fc2e92bcfb7cb01a4c6cdd751a9b4b4c159
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/CodeGen/MachineStableHash.cpp
M llvm/lib/IR/StructuralHash.cpp
R llvm/test/CodeGen/AArch64/cgdata-merge-gvar-nsconst.ll
R llvm/test/CodeGen/AArch64/cgdata-merge-gvar-objc.ll
R llvm/test/CodeGen/AArch64/cgdata-merge-gvar-string.ll
R llvm/test/CodeGen/AArch64/cgdata-outline-gvar.ll
Log Message:
-----------
Revert "[StructuralHash] Global Variable (#118412)"
This reverts commit 1afb81dfaf902c1c42bd91fec1a7385e6e1529d3.
Commit: 46de3a7064250bd2dfc7f8dc6e300474afa9fa97
https://github.com/llvm/llvm-project/commit/46de3a7064250bd2dfc7f8dc6e300474afa9fa97
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/AST/HLSL/ArrayOutArgExpr.hlsl
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
M clang/test/SemaHLSL/ArrayTemporary.hlsl
A clang/test/SemaHLSL/Language/ArrayOutputArgs-errors.hlsl
Log Message:
-----------
[HLSL] get inout/out ABI for array parameters working (#111047)
Get inout/out parameters working for HLSL Arrays.
Utilizes the fix from #109323, and corrects the assignment behavior
slightly to allow for Non-LValues on the RHS.
Closes #106917
---------
Co-authored-by: Chris B <beanz at abolishcrlf.org>
Commit: f6f16b5f541773bb074dd042746456deff169de2
https://github.com/llvm/llvm-project/commit/f6f16b5f541773bb074dd042746456deff169de2
Author: Augie Fackler <augie at google.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
[bazel] update for a0c4f854cad2b97e44a1b58dc1fd982e1c4d60f3
Commit: caa8aa551bf8d2f29e76aad4ac6dcea6940eef13
https://github.com/llvm/llvm-project/commit/caa8aa551bf8d2f29e76aad4ac6dcea6940eef13
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[SelectionDAG] Rename CallOptions::IsSExt to IsSigned. NFC (#118574)
This is eventually passed to shouldSignExtendTypeInLibCall which calls
it IsSigned.
Commit: 3dc97557d1ac0cd7924b9679efbfc8f916f5365e
https://github.com/llvm/llvm-project/commit/3dc97557d1ac0cd7924b9679efbfc8f916f5365e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M libc/CMakeLists.txt
M llvm/cmake/modules/CrossCompile.cmake
Log Message:
-----------
[libc] Fix the GPU build when building inside the NATIVE project (#118573)
Summary:
We use the NATIVE directory for cross-compiling tools that need to be
run on the host. This was not forwarding the CMake arguments we used to
check if this was a GPU compile that created its own tools. Forward that
and simplify.
Fixes https://github.com/llvm/llvm-project/issues/118558
Commit: e08e5e2c426467342dbe79fbf3ea9723c17a07d1
https://github.com/llvm/llvm-project/commit/e08e5e2c426467342dbe79fbf3ea9723c17a07d1
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
[mlir][transforms] Use `isExternal` instead of `isDeclaration` for `FunctionOpInterface` (#116573)
This PR fixes a bug in `RemoveDeadValues` where the
`FunctionOpInterface` does not have the `isDeclaration` method. As a
result, we should use the `isExternal` method instead. Fixes #116347.
Commit: a93b77ce49978dd8fb0d60d9aec8e300b67ce0b8
https://github.com/llvm/llvm-project/commit/a93b77ce49978dd8fb0d60d9aec8e300b67ce0b8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
Log Message:
-----------
[memprof] Fix IndexedMemProfRecord::clear (#118533)
This patch ensures that IndexedMemProfRecord::clear clears every field
of IndexedMemProfRecord.
This fix is not critical at the moment. The only use of this function
is in RecordWriterTrait::EmitData to release the memory we are done
with. That is, we never clear the data structure for the purpose of
reusing it.
Commit: c1afcaf33b03638fd533d14b0d3f65cd5c50755c
https://github.com/llvm/llvm-project/commit/c1afcaf33b03638fd533d14b0d3f65cd5c50755c
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
Log Message:
-----------
[RISCV] Match deinterleave(4,8) shuffles to SHL/TRUNC when legal (#118509)
We can extend the existing SHL+TRUNC lowering used for deinterleave2 for
deinterleave4, and deinterleave8 when the result types are small enough
to allow the shift to be legal. On RV64, this means i8 and i16 results
for deinterleave4 and i8 results for deinterleave8.
Commit: f947d5afd951fe0883e8afe2d00c00d6a97e29bd
https://github.com/llvm/llvm-project/commit/f947d5afd951fe0883e8afe2d00c00d6a97e29bd
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
Log Message:
-----------
[RISCV] Reduce redundancy in vnsrl tests
Triggered by discussion on pr118509.
Commit: 95566af789d208b8fc422644ab282a43911041f2
https://github.com/llvm/llvm-project/commit/95566af789d208b8fc422644ab282a43911041f2
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang/lib/AST/MicrosoftMangle.cpp
A clang/test/CodeGenCXX/ms-uneval-context-crash.cpp
Log Message:
-----------
[Clang][AST] Fix MS Mangle concept uneval context template instantiation crash (#117845)
Fixes https://github.com/llvm/llvm-project/issues/115990.
MSVC mangling got inadvertently broken here,
https://github.com/llvm/llvm-project/pull/83997, when it was fixed what
decl context a lambda is apart of for uneval contexts.
https://godbolt.org/z/K6jb5v145 for reference.
Given the following code snippet
```
template <typename T>
concept C = requires(const T& t)
{
{ T::test([](){}) };
};
template<typename T, typename = void>
struct Widget;
template <C T>
struct Widget<T> {};
struct Baz
{
template<typename F>
static constexpr decltype(auto) test(F&& f) {}
};
void test()
{
Widget<Baz> w;
}
```
`Baz::test` has a deduced return type which means we must instantiate
that template even in an unevaluated context.
The lambda inside the concept is within the decl context of `struct
Widget<T> {};`. So we end up needing to mangle a name of
`Baz::test<Widget<template-type-0-0>::lambda()>>()` since the lambda
isn't apart of an instantiated substituted class `Widget` yet at the
point the lambda is instantiated.
Upon template instantation of `test` we end up asking for the mangled
name so we can add this instantiation to `CodeGenModule::DefferredDecls`
since `test` is now referenced but not yet used.
I think the longer term more correct solution is to key `DefferedDecls`
off of something else than the mangled name to avoid having to mangle
names for instantations that are referenced but will never be used since
they are only instantiated from an unevaluated context.
As a fix for the regression I just created a custom mangling scheme for
this case since MSVC has no comparable naming scheme as such a template
will never be emitted into the resulting obj as it will never be used.
Commit: 982575fd0668aca94d400ea575c1b5d3ea398e37
https://github.com/llvm/llvm-project/commit/982575fd0668aca94d400ea575c1b5d3ea398e37
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/Symbols.cpp
M lld/COFF/Symbols.h
Log Message:
-----------
[lld-link] Add context-aware diagnostic functions (#118430)
Similar to #112319 for ELF. While there is some initial boilerplate, it
can simplify some call sites that use Twine, especially when a printed
element uses `ctx` or toString.
Commit: 442ee78cb414cd7101482bb677e62631e94e5480
https://github.com/llvm/llvm-project/commit/442ee78cb414cd7101482bb677e62631e94e5480
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lldb/tools/lldb-dap/README.md
Log Message:
-----------
[lldb-dap] Fix Markdown tables in README.md
The markdown tables in the README aren't getting rendered correctly on
the LLDB-DAP page in the Visual Studio arketplace [1]. This is a
somewhat speculative fix as the table itself appears to be correct. Even
if this change doesn't fix it, the new formatting significantly improves
the readability.
[1] https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.lldb-dap
Commit: 3e11ae69abd17a80759ae1d9565d555f6a869304
https://github.com/llvm/llvm-project/commit/3e11ae69abd17a80759ae1d9565d555f6a869304
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/DebugUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp
Log Message:
-----------
[ORC] Merge ostream operators for SymbolStringPtrs into SymbolStringPool.h. NFC.
These are simple and commonly used. Having them in the SymbolStringPool header
saves clients from having to #include "DebugUtils.h" everywhere.
Commit: 932c5249ff6b3f31f3b67d944cf5ead156b5dd2c
https://github.com/llvm/llvm-project/commit/932c5249ff6b3f31f3b67d944cf5ead156b5dd2c
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachineOperand.cpp
Log Message:
-----------
[CodeGen] Fix warning after #115531
Commit: bc66e9aaa69cf50634929f3bf10e40b336a6abb6
https://github.com/llvm/llvm-project/commit/bc66e9aaa69cf50634929f3bf10e40b336a6abb6
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/DriverUtils.cpp
M lld/COFF/PDB.cpp
Log Message:
-----------
[lld-link] Replace message(...) with Msg(ctx)
to avoid the global ctx.
Commit: 4f41862c5a5241654a37ee994ed0074a815d3633
https://github.com/llvm/llvm-project/commit/4f41862c5a5241654a37ee994ed0074a815d3633
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/CodeGen/MachineStableHash.cpp
M llvm/lib/IR/StructuralHash.cpp
A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-nsconst.ll
A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-objc.ll
A llvm/test/CodeGen/AArch64/cgdata-merge-gvar-string.ll
A llvm/test/CodeGen/AArch64/cgdata-outline-gvar.ll
Log Message:
-----------
Reapply "[StructuralHash] Global Variable (#118412)"
This reverts commit 6a0d6fc2e92bcfb7cb01a4c6cdd751a9b4b4c159.
Commit: 109e4a147faa80aa0ef4da92da203dd6732ee415
https://github.com/llvm/llvm-project/commit/109e4a147faa80aa0ef4da92da203dd6732ee415
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/vector-tuple-zeroinitializer.ll
Log Message:
-----------
[RISCV] Handle zeroinitializer of vector tuple Type (#113995)
It doesn't make sense to add a new generic ISD to handle riscv tuple
type. Instead we use `SPLAT_VECTOR` for ISD and further lower to
`VMV_V_X`.
Note: If there's `visitSPLAT_VECTOR` in generic DAG combiner, it needs
to skip riscv vector tuple type.
Stack on https://github.com/llvm/llvm-project/pull/114329
Commit: 9c9d4b9e73c19842c4fde581cec0295abed8c977
https://github.com/llvm/llvm-project/commit/9c9d4b9e73c19842c4fde581cec0295abed8c977
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/Shared/SymbolStringPool.cpp
Log Message:
-----------
[ORC] Move ostream operator for SymbolStringPtrBase into OrcShared.
This will allow clients outside ORC (e.g. JITLink) to use the operator without
taking a dependence on ORC.
Commit: 5e7c88bf4cca17080dd50556b4b57efa2ca569b0
https://github.com/llvm/llvm-project/commit/5e7c88bf4cca17080dd50556b4b57efa2ca569b0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/Shared/BUILD.gn
Log Message:
-----------
[gn build] Port 9c9d4b9e73c1
Commit: b076fbb8443d93fd4a6815cb9828559e5af14cfb
https://github.com/llvm/llvm-project/commit/b076fbb8443d93fd4a6815cb9828559e5af14cfb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Log Message:
-----------
[TargetLowering] Use Type* instead of EVT in shouldSignExtendTypeInLibCall. (#118587)
I want to use this function for GISel too so Type * is a better common
interface. All of the callers already convert EVT to Type * as needed
by calling lowering anyway.
Commit: 7be3326200ef382705d8e6b2d7dc5378af96b34a
https://github.com/llvm/llvm-project/commit/7be3326200ef382705d8e6b2d7dc5378af96b34a
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/XRefs.h
M clang-tools-extra/clangd/index/Background.cpp
M clang-tools-extra/clangd/index/Background.h
M clang-tools-extra/clangd/index/FileIndex.cpp
M clang-tools-extra/clangd/index/FileIndex.h
M clang-tools-extra/clangd/index/Index.cpp
M clang-tools-extra/clangd/index/Index.h
M clang-tools-extra/clangd/index/MemIndex.cpp
M clang-tools-extra/clangd/index/MemIndex.h
M clang-tools-extra/clangd/index/Merge.cpp
M clang-tools-extra/clangd/index/Merge.h
M clang-tools-extra/clangd/index/ProjectAware.cpp
M clang-tools-extra/clangd/index/Ref.h
M clang-tools-extra/clangd/index/Serialization.cpp
M clang-tools-extra/clangd/index/Serialization.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/index/SymbolCollector.h
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/index/dex/Dex.h
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/Index.proto
M clang-tools-extra/clangd/index/remote/Service.proto
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
M clang-tools-extra/clangd/test/type-hierarchy-ext.test
M clang-tools-extra/clangd/test/type-hierarchy.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/DexTests.cpp
M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
M clang-tools-extra/clangd/unittests/IndexTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/TestTU.cpp
M clang-tools-extra/clangd/unittests/TestWorkspace.cpp
Log Message:
-----------
[clangd] Re-land "support outgoing calls in call hierarchy" (#117673)
Co-authored-by: Quentin Chateau <quentin.chateau at gmail.com>
Commit: 52aff97f40c19671be7d1f5eecc2985ebf260a49
https://github.com/llvm/llvm-project/commit/52aff97f40c19671be7d1f5eecc2985ebf260a49
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lld/wasm/Driver.cpp
Log Message:
-----------
[lld][wasm] Clear lazyBitcodeFiles while resetting context (#118440)
Hi @sbc100
I was looking into a use case involving the link function (which got my
attention to reset).
I see that `lazyBitcodeFiles` variable was introduced here
https://github.com/llvm/llvm-project/pull/114327 but I don't see it
being reset while destroying the context eventually. Hopefully this
should be the correct way to address it.
Commit: 1534f456945060e27861000f5f2b16bc1b9e0c1e
https://github.com/llvm/llvm-project/commit/1534f456945060e27861000f5f2b16bc1b9e0c1e
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lld/COFF/DebugTypes.cpp
M lld/COFF/Driver.cpp
M lld/COFF/DriverUtils.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/Writer.cpp
Log Message:
-----------
[lld-link] Replace warn(...) with Warn(ctx)
Commit: 59bc03cf8e9df134e591c989abb1c068e4201008
https://github.com/llvm/llvm-project/commit/59bc03cf8e9df134e591c989abb1c068e4201008
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lld/COFF/PDB.cpp
Log Message:
-----------
[lld-link] Simplify warnUnusable. NFC
Commit: 92ed7e292443de1d89754a59a533ded160d544eb
https://github.com/llvm/llvm-project/commit/92ed7e292443de1d89754a59a533ded160d544eb
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[CodeGen][PM] Use errs() instead of dbgs() in printer passes (#118469)
Printing passes is not exactly a debug activity, it is used in release (and dbgs() is errs() in release)
Commit: ff281f7d37ead15bdbdbfccb4b82ea93013b1a00
https://github.com/llvm/llvm-project/commit/ff281f7d37ead15bdbdbfccb4b82ea93013b1a00
Author: ronryvchin <94285266+ronryvchin at users.noreply.github.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/Transforms/Instrumentation/CFGMST.h
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
A llvm/test/Transforms/PGOProfile/loop_entries_gen.ll
A llvm/test/Transforms/PGOProfile/loop_entries_use.ll
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[PGO] Add option to always instrumenting loop entries (#116789)
This patch extends the PGO infrastructure with an option to prefer the
instrumentation of loop entry blocks.
This option is a generalization of
https://github.com/llvm/llvm-project/commit/19fb5b467bb97f95eace1f3637d2d1041cebd3ce,
and helps to cover cases where the loop exit is never executed.
An example where this can occur are event handling loops.
Note that change does NOT change the default behavior.
Commit: 5cd3e9736266a86f730f6cfbdb83226b6c78b149
https://github.com/llvm/llvm-project/commit/5cd3e9736266a86f730f6cfbdb83226b6c78b149
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/test/MachineVerifier/RISCV/subreg-liveness.mir
M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vmv.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveP600/vmv.s
Log Message:
-----------
[RISCV] Mark vmvNr.v as implicitly using vtype (#118414)
This was pointed out in
https://github.com/llvm/llvm-project/pull/118283#issuecomment-2512895919.
We cannot move these between vtype definitions as they depend on SEW and
require vill to be clear.
Commit: 94d6b1cce5bb9449971a027e352385e72b059a3a
https://github.com/llvm/llvm-project/commit/94d6b1cce5bb9449971a027e352385e72b059a3a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
Log Message:
-----------
[clangd] Fix warnings
This patch fixes:
clang-tools-extra/clangd/XRefs.cpp:2360:11: error: unused type alias
'SK' [-Werror,-Wunused-local-typedef]
clang-tools-extra/clangd/XRefs.cpp:2361:10: error: unused variable
'Kind' [-Werror,-Wunused-variable]
Commit: 154c7c0bf272adc67d3ffc541a01fe8025843fd2
https://github.com/llvm/llvm-project/commit/154c7c0bf272adc67d3ffc541a01fe8025843fd2
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/lambda-capture-type-deduction.cpp
Log Message:
-----------
[Clang] Don't add top-level const qualifiers to captured function types (#118050)
This aligns with the logic in `TreeTransform::RebuildQualifiedType()`
where we refrain from adding const qualifiers to function types.
Previously, we seemed to overlook this edge case when copy-capturing a
variable that is of function type within a const-qualified lambda.
This issue also reveals other related problems as in incorrect type
printout and a suspicious implementation in DeduceTemplateArguments. I
decide to leave them in follow-up work.
Fixes #84961
Commit: b1a48af56a62b8c0d5636c9404251700264fcd70
https://github.com/llvm/llvm-project/commit/b1a48af56a62b8c0d5636c9404251700264fcd70
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/PowerPC/pr38087.ll
M llvm/test/CodeGen/X86/avx10_2fptosi_satcvtds.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/fpclamptosat_vec.ll
M llvm/test/CodeGen/X86/freeze-vector.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/widen_conv-3.ll
Log Message:
-----------
[DAG] SimplifyDemandedVectorElts - add handling for INT<->FP conversions (#117884)
Commit: 455b4fd01ae9b2a78be98bcd26db2b700709c545
https://github.com/llvm/llvm-project/commit/455b4fd01ae9b2a78be98bcd26db2b700709c545
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
Log Message:
-----------
[AMDGPU] Emit amdgcn.if.break in the same BB as amdgcn.loop (#118081)
Before this change if.break was placed in wrong loop level which
resulted in accumulating values only from last iteration of the inner
loop.
Commit: 2a30bfcef368667247ebbe30be84f73b92dbe800
https://github.com/llvm/llvm-project/commit/2a30bfcef368667247ebbe30be84f73b92dbe800
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
M mlir/test/Dialect/SCF/invalid.mlir
M mlir/test/Dialect/SPIRV/IR/memory-ops.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir] Improve error message when number of operands and types differ (#118488)
If using a variadic operand, the error message given if the number of
types and operands do not match would be along the lines of:
```
3 operands present, but expected 2
```
This error message is confusing for multiple reasons, particular for
beginners:
* If the intention is to have 3 operands, it does not point out why it
expects 2. The user may actually just want to add a type to the type
list
* It reads as if a verifier error rather than a parser error, giving the
impression the Op only supports 2 operands.
This PR attempts to improve the error message by first noting the issue
("number of operands and types mismatch") and mentioning how many
operands and types it received.
Commit: 4df18ab7da17953277c7879782a37f4ed8e39beb
https://github.com/llvm/llvm-project/commit/4df18ab7da17953277c7879782a37f4ed8e39beb
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M mlir/unittests/Target/LLVM/CMakeLists.txt
Log Message:
-----------
[mlir] Specify deps via `LLVM_LINK_COMPONENTS` (#118542)
This specifies the dependencies to link against with
`LLVM_LINK_COMPONENTS` for the
`mlir/test/Target/LLVM/MLIRTargetLLVMTests` binary.
Before, the dependencies where directly added to the
`target_link_libraries()` call which caused the problems I describe
next.
When doing a build of LLVM with MLIR I want to link against `libLLVM.so`
instead of statically linking `libLLVMSupport.a`. MLIR on the other side
seems to statically link against `libLLVMSupport.a` because when I link
to the shared library `libLLVM.so` I get:
```
CommandLine Error: Option 'aarch64-ptrauth-auth-checks' registered more than once!
```
This error indicates that the `Support` library is linked twice in the
`MLIRTargetLLVMTest` binary.
Here's the creation of the `MLIRTargetLLVMTest` binary before (Notice
the `libLLVMSupport.a`):
```
[6535/6847] : && /usr/bin/clang++ -O2 -flto=thin -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS --config=/usr/lib/rpm/redhat/redhat-hardened-clang.cfg -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -D_DEFAULT_SOURCE -Dasm=__asm__ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wundef -Werror=mismatched-tags -O2 -g -DNDEBUG -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now --config=/usr/lib/rpm/redhat/redhat-hardened-clang-ld.cfg -flto=thin -ffat-lto-objects -Wl,--build-id=sha1 -Wl,--gc-sections -fno-lto tools/mlir/unittests/Target/LLVM/CMakeFiles/MLIRTargetLLVMTests.dir/SerializeNVVMTarget.cpp.o tools/mlir/unittests/Target/LLVM/CMakeFiles/MLIRTargetLLVMTests.dir/SerializeROCDLTarget.cpp.o tools/mlir/unittests/Target/LLVM/CMakeFiles/MLIRTargetLLVMTests.dir/SerializeToLLVMBitcode.cpp.o -o tools/mlir/unittests/Target/LLVM/MLIRTargetLLVMTests -Wl,-rpath,/builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/lib64 lib64/libllvm_gtest_main.a lib64/libllvm_gtest.a lib64/libMLIRTargetLLVM.a lib64/libMLIRNVVMTarget.a lib64/libMLIRROCDLTarget.a lib64/libMLIRGPUDialect.a lib64/libMLIRNVVMDialect.a lib64/libMLIRLLVMDialect.a lib64/libMLIRLLVMToLLVMIRTranslation.a lib64/libMLIRBuiltinToLLVMIRTranslation.a lib64/libMLIRNVVMToLLVMIRTranslation.a lib64/libMLIRROCDLToLLVMIRTranslation.a lib64/libMLIRGPUToLLVMIRTranslation.a lib64/libLLVMAArch64CodeGen.a lib64/libLLVMAArch64Desc.a lib64/libLLVMAArch64Info.a -lpthread lib64/libMLIRTargetLLVM.a lib64/libMLIRROCDLDialect.a lib64/libMLIRExecutionEngineUtils.a lib64/libMLIRGPUDialect.a lib64/libMLIRMemRefDialect.a lib64/libMLIRArithUtils.a lib64/libMLIRDialectUtils.a lib64/libMLIRComplexDialect.a lib64/libMLIRArithAttrToLLVMConversion.a lib64/libMLIRArithDialect.a lib64/libMLIRCastInterfaces.a lib64/libMLIRDialect.a lib64/libMLIRInferIntRangeCommon.a lib64/libMLIRUBDialect.a lib64/libMLIRShapedOpInterfaces.a lib64/libMLIRTargetLLVMIRExport.a lib64/libMLIRDLTIDialect.a lib64/libMLIRLLVMIRTransforms.a lib64/libMLIRNVVMDialect.a lib64/libMLIRLLVMDialect.a lib64/libMLIRFuncDialect.a lib64/libMLIRTransforms.a lib64/libMLIRMemorySlotInterfaces.a lib64/libMLIRCopyOpInterface.a lib64/libMLIRRuntimeVerifiableOpInterface.a lib64/libMLIRTranslateLib.a lib64/libMLIRParser.a lib64/libMLIRBytecodeReader.a lib64/libMLIRAsmParser.a lib64/libMLIRTransformUtils.a lib64/libMLIRSubsetOpInterface.a lib64/libMLIRValueBoundsOpInterface.a lib64/libMLIRDestinationStyleOpInterface.a lib64/libMLIRRewrite.a lib64/libMLIRRewritePDL.a lib64/libMLIRPDLToPDLInterp.a lib64/libMLIRPass.a lib64/libMLIRAnalysis.a lib64/libMLIRControlFlowInterfaces.a lib64/libMLIRInferIntRangeInterface.a lib64/libMLIRCallInterfaces.a lib64/libMLIRDataLayoutInterfaces.a lib64/libMLIRViewLikeInterface.a lib64/libMLIRLoopLikeInterface.a lib64/libMLIRPresburger.a lib64/libMLIRPDLInterpDialect.a lib64/libMLIRFunctionInterfaces.a lib64/libMLIRPDLDialect.a lib64/libMLIRSideEffectInterfaces.a lib64/libMLIRInferTypeOpInterface.a lib64/libMLIRIR.a lib64/libMLIRSupport.a lib64/libLLVM.so.19.1 lib64/libLLVMAArch64Utils.a lib64/libLLVMAsmPrinter.a lib64/libLLVMCFGuard.a lib64/libLLVMGlobalISel.a lib64/libLLVMSelectionDAG.a lib64/libLLVMCodeGen.a lib64/libLLVMScalarOpts.a lib64/libLLVMAggressiveInstCombine.a lib64/libLLVMInstCombine.a lib64/libLLVMBitWriter.a lib64/libLLVMObjCARCOpts.a lib64/libLLVMCodeGenTypes.a lib64/libLLVMTarget.a lib64/libLLVMVectorize.a lib64/libLLVMTransformUtils.a lib64/libLLVMAnalysis.a lib64/libLLVMProfileData.a lib64/libLLVMSymbolize.a lib64/libLLVMDebugInfoDWARF.a lib64/libLLVMDebugInfoPDB.a lib64/libLLVMObject.a lib64/libLLVMMCParser.a lib64/libLLVMMC.a lib64/libLLVMIRReader.a lib64/libLLVMBitReader.a lib64/libLLVMAsmParser.a lib64/libLLVMTextAPI.a lib64/libLLVMDebugInfoCodeView.a lib64/libLLVMDebugInfoMSF.a lib64/libLLVMDebugInfoBTF.a lib64/libLLVMCore.a lib64/libLLVMBinaryFormat.a lib64/libLLVMRemarks.a lib64/libLLVMBitstreamReader.a lib64/libLLVMTargetParser.a lib64/libLLVMSupport.a lib64/libLLVMDemangle.a -lrt -ldl -lm /usr/lib64/libz.so /usr/lib64/libzstd.so && :
```
Here's the full error:
```
[24/25] cd /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/test && /usr/bin/python3 /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/./bin/llvm-lit -vv /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/test
: CommandLine Error: Option 'aarch64-ptrauth-auth-checks' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
llvm-lit: /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/utils/lit/lit/formats/googletest.py:38: warning: unable to discover google-tests in '/builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/unittests/Target/LLVM/./MLIRTargetLLVMTests': Command '['/builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/unittests/Target/LLVM/./MLIRTargetLLVMTests', '--gtest_list_tests', '--gtest_filter=-*DISABLED_*']' died with <Signals.SIGABRT: 6>.. Process output: b''
error: filter did not match any tests (of 2704 discovered). Use '--allow-empty-runs' to suppress this error.
FAILED: tools/mlir/test/CMakeFiles/check-mlir /builddir/build/BUILD/llvm-19.1.3-build/llvm-project-19.1.3.src/llvm/redhat-linux-build/tools/mlir/test/CMakeFiles/check-mlir
```
Here's the CMake invocation:
```
/usr/bin/cmake -S . -B redhat-linux-build -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -G Ninja '' -DCLANG_BUILD_EXAMPLES:BOOL=OFF -DCLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang/ -DCLANG_DEFAULT_PIE_ON_LINUX=OFF -DCLANG_DEFAULT_UNWINDLIB=libgcc -DCLANG_ENABLE_ARCMT:BOOL=ON -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON -DCLANG_INCLUDE_DOCS:BOOL=ON -DCLANG_INCLUDE_TESTS:BOOL=ON -DCLANG_LINK_CLANG_DYLIB=ON -DCLANG_PLUGIN_SUPPORT:BOOL=ON '-DCLANG_REPOSITORY_STRING=Fedora 19.1.3-5.fc42' -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=../clang-tools-extra -DCLANG_RESOURCE_DIR=../lib/clang/19 -DCOMPILER_RT_INCLUDE_TESTS:BOOL=OFF -DCOMPILER_RT_INSTALL_PATH=/usr/lib/clang/19 -DLLVM_ENABLE_DOXYGEN:BOOL=OFF -DLLVM_ENABLE_SPHINX:BOOL=ON -DLLVM_BUILD_DOCS:BOOL=ON -DSPHINX_EXECUTABLE=/usr/bin/sphinx-build-3 -DSPHINX_OUTPUT_HTML:BOOL=OFF -DSPHINX_OUTPUT_MAN:BOOL=ON -DSPHINX_WARNINGS_AS_ERRORS=OFF -DLLDB_DISABLE_CURSES:BOOL=OFF -DLLDB_DISABLE_LIBEDIT:BOOL=OFF -DLLDB_DISABLE_PYTHON:BOOL=OFF -DLLDB_ENFORCE_STRICT_TEST_REQUIREMENTS:BOOL=ON -DLLVM_APPEND_VC_REV:BOOL=OFF -DLLVM_BUILD_EXAMPLES:BOOL=OFF -DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON -DLLVM_BUILD_RUNTIME:BOOL=ON -DLLVM_BUILD_TOOLS:BOOL=ON -DLLVM_BUILD_UTILS:BOOL=ON -DLLVM_COMMON_CMAKE_UTILS=/usr/share/llvm/cmake -DLLVM_DEFAULT_TARGET_TRIPLE=aarch64-redhat-linux-gnu -DLLVM_DYLIB_COMPONENTS=all -DLLVM_ENABLE_EH=ON -DLLVM_ENABLE_FFI:BOOL=ON -DLLVM_ENABLE_LIBCXX:BOOL=OFF -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON '-DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra;lld;lldb;mlir' -DLLVM_ENABLE_RTTI:BOOL=ON '-DLLVM_ENABLE_RUNTIMES=compiler-rt;openmp;offload' -DLLVM_ENABLE_ZLIB:BOOL=ON -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_EXAMPLES:BOOL=ON -DLLVM_INCLUDE_TOOLS:BOOL=ON -DLLVM_INCLUDE_UTILS:BOOL=ON -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF -DLLVM_INSTALL_UTILS:BOOL=ON -DLLVM_LINK_LLVM_DYLIB:BOOL=ON -DLLVM_PARALLEL_LINK_JOBS=1 -DLLVM_TARGETS_TO_BUILD=all -DLLVM_TOOLS_INSTALL_DIR:PATH=bin -DLLVM_UNREACHABLE_OPTIMIZE:BOOL=OFF -DLLVM_USE_PERF:BOOL=ON -DLLVM_UTILS_INSTALL_DIR:PATH=bin -DMLIR_INCLUDE_DOCS:BOOL=ON -DMLIR_INCLUDE_TESTS:BOOL=ON -DMLIR_INCLUDE_INTEGRATION_TESTS:BOOL=OFF -DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF -DMLIR_BUILD_MLIR_C_DYLIB=ON -DMLIR_ENABLE_BINDINGS_PYTHON:BOOL=ON -DOPENMP_INSTALL_LIBDIR=lib64 -DLIBOMP_INSTALL_ALIASES=OFF -DLLVM_BUILD_TESTS:BOOL=ON -DLLVM_INCLUDE_TESTS:BOOL=ON -DLLVM_INSTALL_GTEST:BOOL=ON -DLLVM_LIT_ARGS=-vv -DLLVM_UNITTEST_LINK_FLAGS=-fno-lto -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_LINKER_BUILD_ID:BOOL=ON -DOFFLOAD_INSTALL_LIBDIR=lib64 -DPython3_EXECUTABLE=/usr/bin/python3 -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON -DLLVM_LIBDIR_SUFFIX=64 -DLLVM_BINUTILS_INCDIR=/usr/include -DLLVM_VERSION_SUFFIX=
```
Commit: 3b0cb8979624bc052587712650bfd52f77eb69d3
https://github.com/llvm/llvm-project/commit/3b0cb8979624bc052587712650bfd52f77eb69d3
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/tools/clang-repl/CMakeLists.txt
Log Message:
-----------
[clang-repl][CMake][MSVC] Use LINKER: instead of `-Wl` (#118518)
This should be more portable, and avoids passing the option to
`clang-cl` when linking, because `clang-cl` accepts any `-W` flags
(normally warning flags) during linking (#118516).
Commit: d9b4bdbff597d0ed98dd82674e456ac4c751a6a0
https://github.com/llvm/llvm-project/commit/d9b4bdbff597d0ed98dd82674e456ac4c751a6a0
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LiveDebugVariables.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/LiveDebugVariables.cpp
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocGreedy.h
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/LoongArch/LoongArchDeadRegisterDefinitions.cpp
M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[CodeGen][NewPM] Port LiveDebugVariables to NPM (#115468)
The existing analysis was already a pimpl wrapper.
I have extracted legacy pass logic to a LDVImpl wrapper named
`LiveDebugVariables` which is the analysis::Result now. This controls
whether to activate the LDV (depending on `-live-debug-variables` and
DIsubprogram) itself.
The legacy and new analysis only construct the LiveDebugVariables.
VirtRegRewriter will test this.
Commit: 2137ded301adb430e0616cd835da9838e4fd79ce
https://github.com/llvm/llvm-project/commit/2137ded301adb430e0616cd835da9838e4fd79ce
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/Maintainers.md
A openmp/Maintainers.md
Log Message:
-----------
[OpenMP] Add Maintainers.md file
Commit: bba2507c19ff678c5d7b18e0b220406be87451fe
https://github.com/llvm/llvm-project/commit/bba2507c19ff678c5d7b18e0b220406be87451fe
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/asan/CMakeLists.txt
Log Message:
-----------
[compiler-rt][MSVC][CMake] Wrap Linker flags for ICX (#118496)
RFC:
https://discourse.llvm.org/t/rfc-cmake-linker-flags-need-wl-equivalent-for-intel-c-icx-on-windows/82446
My previous pass missed some flags because I used
`-Werror=unknown-argument`, but `/D`, `/I` and `/O` are accepted by
clang (even when only linking), but mean different things than intended
for `link.exe`.
Commit: 720864907d1acd9766b5f8140065938c1083cba8
https://github.com/llvm/llvm-project/commit/720864907d1acd9766b5f8140065938c1083cba8
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[TOSA] Use attributes for unsigned rescale (#118075)
Unsigned integer types are uncommon enough in MLIR that there is no
operation to cast a scalar from signless to unsigned and vice versa.
Currently tosa.rescale uses builtin.unrealized_conversion_cast which
does not lower. Instead, this commit introduces optional attributes to
indicate unsigned input or output, named similarly to those in the TOSA
specification. This is more in line with the rest of MLIR where specific
operations rather than values are signed/unsigned.
Commit: 73731d6873b6fb0757c3065aaf2452eaccd0eebc
https://github.com/llvm/llvm-project/commit/73731d6873b6fb0757c3065aaf2452eaccd0eebc
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
A llvm/test/TableGen/dag-isel-instrument.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[llvm-tblgen] Increase Coverage Index Size (#118329)
Commit: f68b0e36997322eeda8fd199ea80deb1b49c5410
https://github.com/llvm/llvm-project/commit/f68b0e36997322eeda8fd199ea80deb1b49c5410
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/AArch64/or-load.ll
M llvm/test/Transforms/AggressiveInstCombine/X86/or-load.ll
Log Message:
-----------
[AggressiveInstCombine] Use APInt and avoid truncation when folding loads
A miscompilation issue has been addressed with improved handling.
Fixes: https://github.com/llvm/llvm-project/issues/118467.
Commit: 46829e5430aa3f086389549538d5289769d67076
https://github.com/llvm/llvm-project/commit/46829e5430aa3f086389549538d5289769d67076
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-or.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
Log Message:
-----------
[RISCV][CostModel] Correct the cost of some reductions (#118072)
Reductions include: and/or/max/min
Commit: 69b47845403e78f61987945033e1fd72e9dc044a
https://github.com/llvm/llvm-project/commit/69b47845403e78f61987945033e1fd72e9dc044a
Author: Rin Dobrescu <irina.dobrescu at arm.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
M llvm/test/tools/llvm-mca/AArch64/Neoverse/512tvb-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-zero-dependency.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-basic-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-sve-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-zero-lat-movs.s
Log Message:
-----------
[AArch64] Fix scheduling information for arithmetic and logical instructions. (#113542)
This patch corrects scheduling information relating to Neoverse-V2
arithmetic and logical instructions.
Commit: 2c739dfd53fde0995f91c8a2c11ec803041bac86
https://github.com/llvm/llvm-project/commit/2c739dfd53fde0995f91c8a2c11ec803041bac86
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
Log Message:
-----------
[MLIR][Arith] Add ExpandOps to convertArithToLLVM (#117305)
Arith Floor and Ceil ops would not get lowered when running
--convert-arith-to-llvm.
Commit: 5cbc42142714a31ecb4ef7f674ba577946202e6e
https://github.com/llvm/llvm-project/commit/5cbc42142714a31ecb4ef7f674ba577946202e6e
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port 9c9d4b9e73c1
Commit: 03aae4fbaea4d3bf9364bc04bcbb5898816ab5ae
https://github.com/llvm/llvm-project/commit/03aae4fbaea4d3bf9364bc04bcbb5898816ab5ae
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[MLIR][TOSA] Update CustomOp input and output names (#118408)
Update input name from input to input_list
Update output name from outputs to output_list
To match specification:
https://www.mlplatform.org/tosa/tosa_spec.html#_custom
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: caf8942cd9e52fca35992ab34af0a1cec1866759
https://github.com/llvm/llvm-project/commit/caf8942cd9e52fca35992ab34af0a1cec1866759
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
A mlir/test/Transforms/invalid-outer-loop-size.mlir
M mlir/test/lib/Dialect/SCF/TestLoopParametricTiling.cpp
Log Message:
-----------
[mlir][transform] Guard parametric loop tiling pass from no option (#118254)
`test-extract-fixed-outer-loops` pass always crash without any
`test-outer-loop-sizes` option. We need to keep the pass from crash by
checking the option existence.
Fix https://github.com/llvm/llvm-project/issues/61716,
https://github.com/llvm/llvm-project/issues/116360
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 2202f0e093d84081ff098c6720bc8e2302a56061
https://github.com/llvm/llvm-project/commit/2202f0e093d84081ff098c6720bc8e2302a56061
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/store-constant.ll
Log Message:
-----------
[SLP][X86] Add test coverage for #111126
This needs to be expanded to a wider range of tests but for now just focus on #111126
Commit: 78db4e9f7b93953e425b3b69636925a557bff7eb
https://github.com/llvm/llvm-project/commit/78db4e9f7b93953e425b3b69636925a557bff7eb
Author: Jan Ječmen <JanJecmen at users.noreply.github.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
Log Message:
-----------
[NFC][IRCE] Don't require LoopStructure to determine IRCE profitability (#116384)
This refactoring hoists the profitability check earlier in the pipeline,
so that for loops that are not profitable to transform there is no
iteration over the basic blocks or LoopStructure computation.
Motivated by PR #104659 that tweaks how the profitability of individual
branches is evaluated.
Commit: 4b5e7fa4de54e00df007ae5e2675393fd046aa59
https://github.com/llvm/llvm-project/commit/4b5e7fa4de54e00df007ae5e2675393fd046aa59
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
A clang/lib/AST/ByteCode/BitcastBuffer.cpp
A clang/lib/AST/ByteCode/BitcastBuffer.h
M clang/lib/AST/ByteCode/Boolean.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/CMakeLists.txt
A clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
A clang/unittests/AST/ByteCode/BitcastBuffer.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
Log Message:
-----------
[clang][bytecode] Handle bitcasts involving bitfields (#116843)
Copy the data one bit at a time, leaving optimizations for future work.
Adds a BitcastBuffer that takes care of pushing the bits in the right
order.
Commit: 4675db5f394ebadd8a56bb17e2344da5c7779a68
https://github.com/llvm/llvm-project/commit/4675db5f394ebadd8a56bb17e2344da5c7779a68
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
A llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
M llvm/test/CodeGen/X86/vselect.ll
Log Message:
-----------
[DAGCombiner] Add support for scalarising extracts of a vector setcc (#117566)
For IR like this:
%icmp = icmp ult <4 x i32> %a, splat (i32 5)
%res = extractelement <4 x i1> %icmp, i32 1
where there is only one use of %icmp we can take a similar approach
to what we already do for binary ops such add, sub, etc. and convert
this into
%ext = extractelement <4 x i32> %a, i32 1
%res = icmp ult i32 %ext, 5
For AArch64 targets at least the scalar boolean result will almost
certainly need to be in a GPR anyway, since it will probably be
used by branches for control flow. I've tried to reuse existing code
in scalarizeExtractedBinop to also work for setcc.
NOTE: The optimisations don't apply for tests such as
extract_icmp_v4i32_splat_rhs in the file
CodeGen/AArch64/extract-vector-cmp.ll
because scalarizeExtractedBinOp only works if one of the input
operands is a constant.
Commit: adf892d743d91afc1af7893f97c770db31c26916
https://github.com/llvm/llvm-project/commit/adf892d743d91afc1af7893f97c770db31c26916
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/AST/ByteCode/BUILD.gn
Log Message:
-----------
[gn build] Port 4b5e7fa4de54
Commit: 52b9d0beb6225d1ffe89e2921774f0df0b3e7969
https://github.com/llvm/llvm-project/commit/52b9d0beb6225d1ffe89e2921774f0df0b3e7969
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
Log Message:
-----------
Revert "[MLIR][Arith] Add ExpandOps to convertArithToLLVM (#117305)"
Failing bot:
* https://lab.llvm.org/buildbot/#/builders/138/builds/729
Also, not all discussions have been resolved:
* https://github.com/llvm/llvm-project/pull/117305#discussion_r1861194201
This reverts commit 2c739dfd53fde0995f91c8a2c11ec803041bac86.
Commit: 54db16221c92eb52efbea90ad5b5d2a1d00cda3e
https://github.com/llvm/llvm-project/commit/54db16221c92eb52efbea90ad5b5d2a1d00cda3e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
R clang/lib/AST/ByteCode/BitcastBuffer.cpp
R clang/lib/AST/ByteCode/BitcastBuffer.h
M clang/lib/AST/ByteCode/Boolean.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/CMakeLists.txt
R clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
R clang/unittests/AST/ByteCode/BitcastBuffer.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
Log Message:
-----------
Revert "[clang][bytecode] Handle bitcasts involving bitfields (#116843)"
This reverts commit 4b5e7fa4de54e00df007ae5e2675393fd046aa59.
This breaks builders:
https://lab.llvm.org/buildbot/#/builders/154/builds/8464
I guess some more testing on 32 bit hosts is needed.
Commit: a30f7e190b8a4b6cdb9d9c050be4af660f237931
https://github.com/llvm/llvm-project/commit/a30f7e190b8a4b6cdb9d9c050be4af660f237931
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/AST/ByteCode/BUILD.gn
Log Message:
-----------
[gn build] Port 54db16221c92
Commit: ecbe4d1e360e25c0634a3a62fbd01e8df5bb0c1b
https://github.com/llvm/llvm-project/commit/ecbe4d1e360e25c0634a3a62fbd01e8df5bb0c1b
Author: John Brawn <john.brawn at arm.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/test/CodeGen/X86/cx-complex-range.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/matrix-type-operators-fast-math.c
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M clang/test/Headers/__clang_hip_math_ocml_rounded_ops.hip
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Operator.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/test/Assembler/fast-math-flags.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
Log Message:
-----------
[IR] Allow fast math flags on fptrunc and fpext (#115894)
This consists of:
* Make these instructions part of FPMathOperator.
* Adjust bitcode/ir readers/writers to expect fast math flags on these
instructions.
* Make IRBuilder set the fast math flags on these instructions.
* Update langref and release notes.
* Update a bunch of tests. Some of these are due to InstCombineCasts
incorrectly adding fast math flags to fptrunc, which will be fixed in a
later patch.
Commit: 12ca72ba7f11fb880794a37cffdea5f47e3062f4
https://github.com/llvm/llvm-project/commit/12ca72ba7f11fb880794a37cffdea5f47e3062f4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
A clang/lib/AST/ByteCode/BitcastBuffer.cpp
A clang/lib/AST/ByteCode/BitcastBuffer.h
M clang/lib/AST/ByteCode/Boolean.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/CMakeLists.txt
A clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
A clang/unittests/AST/ByteCode/BitcastBuffer.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
Log Message:
-----------
Reapply "[clang][bytecode] Handle bitcasts involving bitfields (#116843)"
This reverts commit 54db16221c92eb52efbea90ad5b5d2a1d00cda3e.
Check for existence of __SIZOEF_INT128__ so we don't run those
tests on targets that don't have int128.
Commit: 8c46413f343d0a5b8db48d958890b9038f03b70d
https://github.com/llvm/llvm-project/commit/8c46413f343d0a5b8db48d958890b9038f03b70d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/utils/vim/ftplugin/llvm.vim
Log Message:
-----------
[vim] Improve iskeyword for LLVM IR (#117905)
This patch sets the 'iskeyword' variable to characters found in LLVM IR
identifiers. Keywords are used in many places in vim, most notably being
treated as word boundaries for commands like 'w' and '*'. The aim with
this is to improve the navigability and editability of LLVM IR files as
now one is able to: skip over entire identifiers with motions (e.g.,
`w/e/b`); yank/delete whole identifiers (e.g., `diw`); highlight/search
for the identifier under the cursor (`*`), etc.
More complicated LLVM identifiers including quotation marks are not
supported. The 'iskeyword' variable is just a list of characters, not a
regex, and including quotation marks and all the characters permitted in
quoted identifiers would expand the scope to almost everything and
become less usable. These types of identifiers are rare by comparison.
Note that this does change how words are considered across the entire
LLVM IR file, so including strings, comments, names, etc. Given that the
majority of editing/navigating LLVM IR is working with and across
values, this is arguably a worthwhile trade-off.
Commit: 4d70f5fe130d129efc0157342fb027f7b7b3bc22
https://github.com/llvm/llvm-project/commit/4d70f5fe130d129efc0157342fb027f7b7b3bc22
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/AST/ByteCode/BUILD.gn
Log Message:
-----------
[gn build] Port 12ca72ba7f11
Commit: 04b26f0eb7c3822fd5349b31e5ad544ea5a7929e
https://github.com/llvm/llvm-project/commit/04b26f0eb7c3822fd5349b31e5ad544ea5a7929e
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/cmake/OpenMPTesting.cmake
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/test/CMakeLists.txt
Log Message:
-----------
[offload] Standalone build fixes (#118173)
A fair number of fixes to get standalone builds of offload working —
mostly copying missing bits from openmp. It's almost ready — I still
need to figure out why some of the tsts aren't linking to the right
libraries.
Commit: 0adab6b1af5b1874099b1e97fdcea2ce5020d79a
https://github.com/llvm/llvm-project/commit/0adab6b1af5b1874099b1e97fdcea2ce5020d79a
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/init-aarch64.c
A clang/test/Sema/aarch64-sve-intrinsics/acle_neon_sve_bridge.cpp
Log Message:
-----------
[AArch64][Clang] Define __ARM_NEON_SVE_BRIDGE unconditionally (#118272)
The meaning of `__ARM_NEON_SVE_BRIDGE` was changed here:
https://github.com/ARM-software/acle/pull/362
Such that it should be defined to `1` if the `arm_neon_sve_bridge.h`
header file is available, which is the case for Clang.
Commit: 041e5c96c4bd247a3dd6099f49143ee66d9205d8
https://github.com/llvm/llvm-project/commit/041e5c96c4bd247a3dd6099f49143ee66d9205d8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[X86] getMemoryOpCost - ensure we pass through OpInfo / Instruction args to base getMemoryOpCost calls
Nothing really uses these yet, but we shouldn't be losing the info.
We can also pass on the OpInfo arg to the getMemoryOpCost constant load call to indicate if its constant/uniform/pow2 etc.
Prep cleanup for #111126
Commit: 148fdc519cd25b36db9da61a6c6cabe86268dc58
https://github.com/llvm/llvm-project/commit/148fdc519cd25b36db9da61a6c6cabe86268dc58
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
A llvm/test/MachineVerifier/test_abd_su.mir
M llvm/test/TableGen/GlobalISelEmitter.td
Log Message:
-----------
[GlobalISel] Add G_ABDS and G_ABDU instructions (#118122)
The DAG has the same instructions: the signed and unsigned absolute
difference of it's input. For AArch64, they map to uabd and sabd for
Neon and SVE. The Neon and SVE instructions will require custom
patterns.
They are pseudo opcodes and are not imported by the IRTranslator. We
need combines to create them.
PowerPC, ARM, and AArch64 have native instructions.
/// i.e trunc(abs(sext(Op0) - sext(Op1))) becomes abds(Op0, Op1)
/// or trunc(abs(zext(Op0) - zext(Op1))) becomes abdu(Op0, Op1)
For GlobalISel, we are going to write the combines in MIR patterns.
see:
llvm/test/CodeGen/AArch64/abd-combine.ll
- [ ] combine into abd
- [ ] legalize and add td patterns
Commit: 9d952422b49b4519a293744533735967d43995b0
https://github.com/llvm/llvm-project/commit/9d952422b49b4519a293744533735967d43995b0
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/do21.f90
Log Message:
-----------
[Flang][OpenMP] Issue an error for loop directive without a loop (#118039)
Fixes #107500
Commit: 75af62839b60a10439e8a31362d234b02c3958ba
https://github.com/llvm/llvm-project/commit/75af62839b60a10439e8a31362d234b02c3958ba
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/test/Transforms/ConstraintElimination/gep-arithmetic.ll
Log Message:
-----------
[ConstraintElim] Add tests for gep nuw (NFC)
Commit: 140df02aa2917fd9971af3bbf3145e513c1a8b2b
https://github.com/llvm/llvm-project/commit/140df02aa2917fd9971af3bbf3145e513c1a8b2b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/store-constant.ll
Log Message:
-----------
[SLP][X86] Update test coverage for #111126
I'd copied the test case from #118016 instead of the original #111126 test case
Commit: a88653a2cd4f22ff2ac4cb25214caf3e5fd27aff
https://github.com/llvm/llvm-project/commit/a88653a2cd4f22ff2ac4cb25214caf3e5fd27aff
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/IR/Operator.cpp
M llvm/test/Transforms/GVN/opaque-ptr.ll
M llvm/test/Transforms/InstCombine/gep-vector-indices.ll
M llvm/test/Transforms/InstSimplify/gep.ll
Log Message:
-----------
[LLVM][IR] When evaluating GEP offsets don't assume ConstantInt is a scalar. (#117162)
Commit: 920ea4af64d92486b75dc13e25bff32deda287b4
https://github.com/llvm/llvm-project/commit/920ea4af64d92486b75dc13e25bff32deda287b4
Author: Nathan Gauër <brioche at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
Log Message:
-----------
[SPIR-V] Replace assert with report_fatal (#118617)
Irreducible must always be rejected, not only in debug builds.
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 026fbe519e16a4993601d2bac509e182081fc068
https://github.com/llvm/llvm-project/commit/026fbe519e16a4993601d2bac509e182081fc068
Author: Maksim Ivanov <emaxx at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/www/hacking.html
Log Message:
-----------
[clang][www] Remove ClangDataFormat.py from docs (#117943)
The script was removed in
https://github.com/llvm/llvm-project/pull/96385.
Instead, mention the LLVM formatter as it's still very useful for
Clang's code.
Commit: 2e85138c0d06c0cc17569d375ce7a75e60cc6dd0
https://github.com/llvm/llvm-project/commit/2e85138c0d06c0cc17569d375ce7a75e60cc6dd0
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/include/clang/AST/AttrIterator.h
M clang/lib/CodeGen/CGLoopInfo.cpp
Log Message:
-----------
[clang][NFC] Generalize getSpecificAttr for const attributes (#116606)
This patch allows using `getSpecificAttr` for getting `const`
attributes. Previously, if users of this API would want to get a const
Attribute pointer, they had to pass `getSpecificAttr<const XYZ>()`, to
get it compile. It feels like an arbitrary limitation as the constness
was already encoded in the Attribute container's value type.
Commit: 8271195de05742ed7079d7882fbebc2daecbd7e2
https://github.com/llvm/llvm-project/commit/8271195de05742ed7079d7882fbebc2daecbd7e2
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/new-delete.cpp
Log Message:
-----------
[Clang] Deleting an incomplete enum type is not an error (#118455)
The changes introduced in #97733 accidentally prevented to delete an
incomplete enum (the validity of which has been confirmed by CWG2925
Fixes #99278
Commit: 99b862efba9c2db5ec0aa32f62b5bc78df61d7a4
https://github.com/llvm/llvm-project/commit/99b862efba9c2db5ec0aa32f62b5bc78df61d7a4
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/ARM/vector-trunc.ll
Log Message:
-----------
[DAGISel][ARM] Fix vector truncate combine for big-endian (#118101)
This DAG combine was incorrect for big-endian targets, because it
assumes that when a bitcast changes the lane width, the
least-significant bits of the wider lanes are in the lower-numbered
lanes of the smaller type, which is only true for little-endian.
Commit: 7235ac90517b61f8a5b5bd4e6a55437c094d6156
https://github.com/llvm/llvm-project/commit/7235ac90517b61f8a5b5bd4e6a55437c094d6156
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M lld/COFF/Writer.cpp
A lld/test/COFF/deploadflag-cfg-short.s
Log Message:
-----------
[LLD][COFF] Check load config size before setting its DependentLoadFlags (#118535)
Merge prepareLoadConfig and checkLoadConfigGuardData to share helper
macros.
Commit: 7b6e0d9fc3993f3e3df596fd16d97e2ed2e1d0aa
https://github.com/llvm/llvm-project/commit/7b6e0d9fc3993f3e3df596fd16d97e2ed2e1d0aa
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/test/Transforms/LowerMatrixIntrinsics/dot-product-transpose-int.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/transpose-opts-lifting.ll
Log Message:
-----------
[Matrix] Use DenseMap for ShapeMap instead of ValueMap. (#118282)
ValueMap automatically updates entries with the new value if they have
been RAUW. This can lead to instructions that are expected to not have
shape info to be added to the map (e.g. shufflevector as in the added
test case).
This leads to incorrect results. Originally it was used for transpose
optimizations, but they now all use updateShapeAndReplaceAllUsesWith,
which takes care of updating the shape info as needed.
This fixes a crash in the newly added test cases.
PR: https://github.com/llvm/llvm-project/pull/118282
Commit: a608607fd70503c20854bbc0f6f5182b51489b4f
https://github.com/llvm/llvm-project/commit/a608607fd70503c20854bbc0f6f5182b51489b4f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/gep-arithmetic.ll
Log Message:
-----------
[ConstraintElim] Add support for decomposing gep nuw (#118639)
ConstraintElimination currently only supports decomposing gep nusw with
non-negative indices (with "non-negative" possibly being enforced via
pre-condition).
Add support for gep nuw, which directly gives us the necessary
guarantees for the decomposition.
Commit: 3b904ae5ac5e9d759f3629e9a6b98f14bbfb304c
https://github.com/llvm/llvm-project/commit/3b904ae5ac5e9d759f3629e9a6b98f14bbfb304c
Author: Jérôme Duval <jerome.duval at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M libunwind/src/CMakeLists.txt
M libunwind/src/UnwindCursor.hpp
Log Message:
-----------
[libunwind][Haiku] Improve support (#115462)
* Signal frame unwinding on x86_64 from X512
* Header search for commpage_defs.h on non-standard paths
Unwind supported tests pass on Haiku x86_64
---------
Co-authored-by: Trung Nguyen <trungnt282910 at gmail.com>
Commit: 7aec6dc477f8148ed066d10dfc7a012a51b6599c
https://github.com/llvm/llvm-project/commit/7aec6dc477f8148ed066d10dfc7a012a51b6599c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/BitcastBuffer.h
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/Record.h
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Initialize bases when bitcasting (#117179)
Base pointers do not get passed to the callback, so initialize them when iterating bases.
Commit: 4e80c532c613cc93a43dcf71eaf6a30f96c27b6c
https://github.com/llvm/llvm-project/commit/4e80c532c613cc93a43dcf71eaf6a30f96c27b6c
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M lldb/test/API/commands/register/register/aarch64_sme_z_registers/za_dynamic_resize/Makefile
M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/Makefile
M lldb/test/API/functionalities/process_save_core_minidump/Makefile
M lldb/test/API/tools/lldb-dap/threads/Makefile
Log Message:
-----------
[lldb][tests] Fix passing pthread library to a linker for some API tests (#118530)
Specify ENABLE_THREADS := YES within test's Makefile instead of passing
-lpthread explicitly via the compiler's CFLAGS options.
Refactoring fix.
Co-authored-by: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
Commit: 4a7abfe0a7b9b43cc60115caab810f4c24e53f1c
https://github.com/llvm/llvm-project/commit/4a7abfe0a7b9b43cc60115caab810f4c24e53f1c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/sub-gep.ll
Log Message:
-----------
[InstCombine] Preserve nuw in OptimizePointerDifference
If both the geps and the subs are nuw the new sub is also nuw.
Proof: https://alive2.llvm.org/ce/z/mM8UvF
Commit: ba43a102a929eb8aae60580e14f3192a705e1805
https://github.com/llvm/llvm-project/commit/ba43a102a929eb8aae60580e14f3192a705e1805
Author: cmtice <cmtice at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M lldb/source/ValueObject/ValueObject.cpp
Log Message:
-----------
[LLDB] Fix error returns in CastToBasicType and CastToEnumType in ValueObject. (#117401)
Update the error returns in ValueObject::CastToBasicType and
ValueObject::CastToEnumType to create new errors and return a
ValueObjectConstResult with the error, rather tnan updating the error in
(and returning) the input ValueObject.
Commit: b79007d8a6fed51ec2e06aeaec31968122cfcd09
https://github.com/llvm/llvm-project/commit/b79007d8a6fed51ec2e06aeaec31968122cfcd09
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/IR/Operator.cpp
M llvm/unittests/IR/InstructionsTest.cpp
Log Message:
-----------
[IR] Fix accumulateConstantOffset() on zero-index GEP
These are degenerate but not malformed, so make sure we don't
crash.
Commit: 66ed8fb9739402ae51b790a3541a07dfa85ff174
https://github.com/llvm/llvm-project/commit/66ed8fb9739402ae51b790a3541a07dfa85ff174
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
Log Message:
-----------
[InstCombine] Fix use after free
Make sure we only access cached nowrap flags.
Commit: 95e44d3670f402e0cb9b78fa3cce20d8edc1ac77
https://github.com/llvm/llvm-project/commit/95e44d3670f402e0cb9b78fa3cce20d8edc1ac77
Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/sse41-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/sse41-intrinsics-i386.ll
Log Message:
-----------
[msan] Add handling for sse41_round_pd/sse41_round_ps (#118441)
Add handling for sse41_round_pd/sse41_round_ps similarly to
maybeHandleSimpleNomemIntrinsic.
Test plan: ninja check-all
Commit: 1b95e76d8f10725f73c706881ccc49669e151f38
https://github.com/llvm/llvm-project/commit/1b95e76d8f10725f73c706881ccc49669e151f38
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[Instrumentation] Fix a warning
This patch fixes:
llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp:3840:14:
error: unused variable 'NumArgOperands' [-Werror,-Wunused-variable]
Commit: 85d15bd130930c96533419b0fc2e66d86b84af42
https://github.com/llvm/llvm-project/commit/85d15bd130930c96533419b0fc2e66d86b84af42
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Transforms/SLPVectorizer/X86/store-constant.ll
Log Message:
-----------
[TTI][X86] getMemoryOpCost - reduced costs when loading uniform values due to value reuse (#118642)
Similar to what we do for broadcast shuffles, when legalising load costs, if the value is known to be uniform, then we will only load a single vector and reuse this across the split legalised registers.
Fixes #111126
Commit: 0a2116f4f96efc83bc729f0ed1a3d944b86cf1cb
https://github.com/llvm/llvm-project/commit/0a2116f4f96efc83bc729f0ed1a3d944b86cf1cb
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
Log Message:
-----------
[mlir][spirv][vector] Support converting vector.from_elements to SPIR-V (#118540)
Closes #118098.
Commit: d5ba143a6d8e8726c900dbfc381dab0e7d8b6a65
https://github.com/llvm/llvm-project/commit/d5ba143a6d8e8726c900dbfc381dab0e7d8b6a65
Author: John Harrison <harjohn at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M lldb/source/Host/common/TCPSocket.cpp
M lldb/unittests/Host/SocketTest.cpp
Log Message:
-----------
[lldb] Correct an issue when using Socket to listen on `localhost:0` on ipv4 and ipv6. (#118565)
On systems supporting ting ipv4 and ipv6 the second socket to initialize
will not update the listening address correctly after the call to `bind`.
This results in the second address listed in
`Socket::GetListeningConnectionURI` to have port `:0`, which is
incorrect.
To fix this, correct which address is used to detect the port and update
the unit tests to cover this use case.
Additionally, I updated the SocketTest's to only parameterize tests that
can work on ipv4 or ipv6. This means tests like
`SocketTest::DecodeHostAndPort` are only run once, instead of twice
since they do not change behavior based on parameters.
I also included a new unit test to cover listening on `localhost:0`,
validating both sockets correctly list the updated port.
Commit: 06c831d7fbb02600ded1f793eaaa142d849db2a2
https://github.com/llvm/llvm-project/commit/06c831d7fbb02600ded1f793eaaa142d849db2a2
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/docs/dev/header_generation.rst
M libc/docs/dev/source_tree_layout.rst
A libc/hdrgen/CMakeLists.txt
A libc/hdrgen/class_implementation/classes/enumeration.py
A libc/hdrgen/class_implementation/classes/function.py
A libc/hdrgen/class_implementation/classes/macro.py
A libc/hdrgen/class_implementation/classes/object.py
A libc/hdrgen/class_implementation/classes/type.py
A libc/hdrgen/gpu_headers.py
A libc/hdrgen/header.py
A libc/hdrgen/tests/expected_output/test_header.h
A libc/hdrgen/tests/input/test_small.h.def
A libc/hdrgen/tests/input/test_small.yaml
A libc/hdrgen/tests/test_integration.py
A libc/hdrgen/yaml/arpa/inet.yaml
A libc/hdrgen/yaml/assert.yaml
A libc/hdrgen/yaml/ctype.yaml
A libc/hdrgen/yaml/dirent.yaml
A libc/hdrgen/yaml/dlfcn.yaml
A libc/hdrgen/yaml/elf.yaml
A libc/hdrgen/yaml/errno.yaml
A libc/hdrgen/yaml/fcntl.yaml
A libc/hdrgen/yaml/features.yaml
A libc/hdrgen/yaml/fenv.yaml
A libc/hdrgen/yaml/float.yaml
A libc/hdrgen/yaml/gpu/rpc.yaml
A libc/hdrgen/yaml/inttypes.yaml
A libc/hdrgen/yaml/limits.yaml
A libc/hdrgen/yaml/link.yaml
A libc/hdrgen/yaml/locale.yaml
A libc/hdrgen/yaml/malloc.yaml
A libc/hdrgen/yaml/math.yaml
A libc/hdrgen/yaml/pthread.yaml
A libc/hdrgen/yaml/sched.yaml
A libc/hdrgen/yaml/search.yaml
A libc/hdrgen/yaml/setjmp.yaml
A libc/hdrgen/yaml/signal.yaml
A libc/hdrgen/yaml/spawn.yaml
A libc/hdrgen/yaml/stdbit.yaml
A libc/hdrgen/yaml/stdckdint.yaml
A libc/hdrgen/yaml/stdfix.yaml
A libc/hdrgen/yaml/stdint.yaml
A libc/hdrgen/yaml/stdio.yaml
A libc/hdrgen/yaml/stdlib.yaml
A libc/hdrgen/yaml/string.yaml
A libc/hdrgen/yaml/strings.yaml
A libc/hdrgen/yaml/sys/auxv.yaml
A libc/hdrgen/yaml/sys/epoll.yaml
A libc/hdrgen/yaml/sys/ioctl.yaml
A libc/hdrgen/yaml/sys/mman.yaml
A libc/hdrgen/yaml/sys/prctl.yaml
A libc/hdrgen/yaml/sys/random.yaml
A libc/hdrgen/yaml/sys/resource.yaml
A libc/hdrgen/yaml/sys/select.yaml
A libc/hdrgen/yaml/sys/sendfile.yaml
A libc/hdrgen/yaml/sys/socket.yaml
A libc/hdrgen/yaml/sys/stat.yaml
A libc/hdrgen/yaml/sys/statvfs.yaml
A libc/hdrgen/yaml/sys/syscall.yaml
A libc/hdrgen/yaml/sys/time.yaml
A libc/hdrgen/yaml/sys/types.yaml
A libc/hdrgen/yaml/sys/utsname.yaml
A libc/hdrgen/yaml/sys/wait.yaml
A libc/hdrgen/yaml/termios.yaml
A libc/hdrgen/yaml/threads.yaml
A libc/hdrgen/yaml/time.yaml
A libc/hdrgen/yaml/uchar.yaml
A libc/hdrgen/yaml/unistd.yaml
A libc/hdrgen/yaml/wchar.yaml
A libc/hdrgen/yaml_functions_sorted.py
A libc/hdrgen/yaml_to_classes.py
M libc/include/CMakeLists.txt
R libc/newhdrgen/CMakeLists.txt
R libc/newhdrgen/class_implementation/classes/enumeration.py
R libc/newhdrgen/class_implementation/classes/function.py
R libc/newhdrgen/class_implementation/classes/macro.py
R libc/newhdrgen/class_implementation/classes/object.py
R libc/newhdrgen/class_implementation/classes/type.py
R libc/newhdrgen/gpu_headers.py
R libc/newhdrgen/header.py
R libc/newhdrgen/tests/expected_output/test_header.h
R libc/newhdrgen/tests/input/test_small.h.def
R libc/newhdrgen/tests/input/test_small.yaml
R libc/newhdrgen/tests/test_integration.py
R libc/newhdrgen/yaml/arpa/inet.yaml
R libc/newhdrgen/yaml/assert.yaml
R libc/newhdrgen/yaml/ctype.yaml
R libc/newhdrgen/yaml/dirent.yaml
R libc/newhdrgen/yaml/dlfcn.yaml
R libc/newhdrgen/yaml/elf.yaml
R libc/newhdrgen/yaml/errno.yaml
R libc/newhdrgen/yaml/fcntl.yaml
R libc/newhdrgen/yaml/features.yaml
R libc/newhdrgen/yaml/fenv.yaml
R libc/newhdrgen/yaml/float.yaml
R libc/newhdrgen/yaml/gpu/rpc.yaml
R libc/newhdrgen/yaml/inttypes.yaml
R libc/newhdrgen/yaml/limits.yaml
R libc/newhdrgen/yaml/link.yaml
R libc/newhdrgen/yaml/locale.yaml
R libc/newhdrgen/yaml/malloc.yaml
R libc/newhdrgen/yaml/math.yaml
R libc/newhdrgen/yaml/pthread.yaml
R libc/newhdrgen/yaml/sched.yaml
R libc/newhdrgen/yaml/search.yaml
R libc/newhdrgen/yaml/setjmp.yaml
R libc/newhdrgen/yaml/signal.yaml
R libc/newhdrgen/yaml/spawn.yaml
R libc/newhdrgen/yaml/stdbit.yaml
R libc/newhdrgen/yaml/stdckdint.yaml
R libc/newhdrgen/yaml/stdfix.yaml
R libc/newhdrgen/yaml/stdint.yaml
R libc/newhdrgen/yaml/stdio.yaml
R libc/newhdrgen/yaml/stdlib.yaml
R libc/newhdrgen/yaml/string.yaml
R libc/newhdrgen/yaml/strings.yaml
R libc/newhdrgen/yaml/sys/auxv.yaml
R libc/newhdrgen/yaml/sys/epoll.yaml
R libc/newhdrgen/yaml/sys/ioctl.yaml
R libc/newhdrgen/yaml/sys/mman.yaml
R libc/newhdrgen/yaml/sys/prctl.yaml
R libc/newhdrgen/yaml/sys/random.yaml
R libc/newhdrgen/yaml/sys/resource.yaml
R libc/newhdrgen/yaml/sys/select.yaml
R libc/newhdrgen/yaml/sys/sendfile.yaml
R libc/newhdrgen/yaml/sys/socket.yaml
R libc/newhdrgen/yaml/sys/stat.yaml
R libc/newhdrgen/yaml/sys/statvfs.yaml
R libc/newhdrgen/yaml/sys/syscall.yaml
R libc/newhdrgen/yaml/sys/time.yaml
R libc/newhdrgen/yaml/sys/types.yaml
R libc/newhdrgen/yaml/sys/utsname.yaml
R libc/newhdrgen/yaml/sys/wait.yaml
R libc/newhdrgen/yaml/termios.yaml
R libc/newhdrgen/yaml/threads.yaml
R libc/newhdrgen/yaml/time.yaml
R libc/newhdrgen/yaml/uchar.yaml
R libc/newhdrgen/yaml/unistd.yaml
R libc/newhdrgen/yaml/wchar.yaml
R libc/newhdrgen/yaml_functions_sorted.py
R libc/newhdrgen/yaml_to_classes.py
M libc/src/math/docs/add_math_function.md
Log Message:
-----------
[libc] rename newhdrgen to just hdrgen (#118545)
Link: #117208
Fixes: #117254
Commit: 9e662066388318dbce65514c98aa5c9d70d7d264
https://github.com/llvm/llvm-project/commit/9e662066388318dbce65514c98aa5c9d70d7d264
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h
A llvm/include/llvm/Transforms/Utils/ExtraPassManager.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[Passes] Generalize ShouldRunExtraVectorPasses to allow re-use (NFCI). (#118323)
Generalize ShouldRunExtraVectorPasses to ShouldRunExtraPasses, to allow
re-use for other transformations.
PR: https://github.com/llvm/llvm-project/pull/118323
Commit: e2c3d16282aca0f7e13f58170140647632d627c9
https://github.com/llvm/llvm-project/commit/e2c3d16282aca0f7e13f58170140647632d627c9
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/docs/CodingStandards.rst
Log Message:
-----------
[NFC] Eliminate need of Emacs tag and file name in file header (#118553)
- Simplify file header to not require file name and C++ Emacs tag.
See
https://discourse.llvm.org/t/is-c-in-header-files-still-relevant/83124/1
Commit: 87c21bf0644c640e34c3eaa2e9a7c97eda0bf4a4
https://github.com/llvm/llvm-project/commit/87c21bf0644c640e34c3eaa2e9a7c97eda0bf4a4
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
Log Message:
-----------
[AMDGPU] Preserve `noundef` and `range` during kernel argument loads (#118395)
This commit ensures than noundef (which is frequently a prerequisite for
other annotations) and range() annotations on kernel arguments are
copied onto their corresponding load from the kernel argument structure.
Commit: 4639a9a06387b7ae3b21255d2ac3545e6b183236
https://github.com/llvm/llvm-project/commit/4639a9a06387b7ae3b21255d2ac3545e6b183236
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M lld/COFF/DebugTypes.cpp
M lld/COFF/Driver.cpp
M lld/COFF/ICF.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/PDB.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/Writer.cpp
Log Message:
-----------
[lld-link] Replace log(...) with Log
Commit: bb9bb686741feeb2c65097ef750126477f96ff30
https://github.com/llvm/llvm-project/commit/bb9bb686741feeb2c65097ef750126477f96ff30
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir
Log Message:
-----------
[mlir][spirv] Handle vectors of integers of unsupported width (#118663)
Fixes: https://github.com/llvm/llvm-project/issues/118612
Commit: a8f927161bc25fe70d367c64e44211a15767d03e
https://github.com/llvm/llvm-project/commit/a8f927161bc25fe70d367c64e44211a15767d03e
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][Vector] Fix vector.extract lowering to llvm for 0-d vectors (#117731)
The current implementation of lowering to llvm for vector.extract
incorrectly assumes that if the number of indices is zero, the operation
can be folded away. This PR removes this condition and relies on the
folder to do it instead.
This PR also unifies the logic for scalar extracts and slice extracts,
which as a side effect also enables vector.extract lowering for n-d
vector.extract with dynamic inner most dimension. (This was only
prevented by a conservative check in the old implementation)
Commit: ef164ecedf01dc87805b62b7d14a91da42453d69
https://github.com/llvm/llvm-project/commit/ef164ecedf01dc87805b62b7d14a91da42453d69
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M .github/workflows/docs.yml
Log Message:
-----------
[libc++][libunwind] Fix documentation CI job after #118159 (#118555)
Commit: ed2db3be619ddc0f459ab5ea4ad6ee36e006b759
https://github.com/llvm/llvm-project/commit/ed2db3be619ddc0f459ab5ea4ad6ee36e006b759
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/test/Fir/CUDA/cuda-constructor-2.f90
Log Message:
-----------
[flang][cuda] Do not register global constants (#118582)
Global constants have no symbols in library files. They are replaced
with literal constants during lowering before kernels are moved into a
GPU module. Do not register them because they will result in unresolved
symbols.
Commit: ff5953804ea5b430710b07f1dae395bfcf6d35d0
https://github.com/llvm/llvm-project/commit/ff5953804ea5b430710b07f1dae395bfcf6d35d0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
R lldb/tools/lldb-dap/src-ts/types.ts
Log Message:
-----------
[lldb-dap] Support finding the lldb-dap binary (#118547)
Support finding the lldb-dap binary with `xcrun` on Darwin or in PATH on
all other platforms.
Unfortunately, this PR is larger than I would like because it removes
the `lldbDapOptions`. I believe these options are not necessary, and as
previously implemented, they caused a spurious warning with this change.
The problem was that the options were created before the custom factory.
By moving the creation logic into the factory, we make sure it's only
called after the factory has been registered. The upside is that this
simplifies the code and removes a level of indirection.
Commit: b8d857efac57dc508873e8edbad44595f1980cd0
https://github.com/llvm/llvm-project/commit/b8d857efac57dc508873e8edbad44595f1980cd0
Author: bernhardu <bernhardu at mailbox.org>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M compiler-rt/lib/interception/tests/interception_win_test.cpp
Log Message:
-----------
[win/asan] Populate test for function GetInstructionSize. (#118204)
This puts the content of GetInstructionSize into a test.
There are 5 cases missing, which I have already or would like to propose
a fix later.
Commit: e51a0b2e26b7c8c790ee4bf1176ba571bbe0d440
https://github.com/llvm/llvm-project/commit/e51a0b2e26b7c8c790ee4bf1176ba571bbe0d440
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst-2.ll
Log Message:
-----------
[llvm][AArch64] Fix a crash in performPostLD1Combine (#118538)
rdar://138004275
Commit: 842d56315108a10a0b5f866d7a44dc676f5d2586
https://github.com/llvm/llvm-project/commit/842d56315108a10a0b5f866d7a44dc676f5d2586
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M .github/workflows/libcxx-restart-preempted-jobs.yaml
Log Message:
-----------
[libc++][CI] Also restart failed jobs when they fail for a spurious reason
Since we moved to a Docker-in-Docker setup, CI jobs sometimes fail due
to the Docker VM dying with 'context cancelled' errors. This is currently
not recognized as a spurious failure, which leads to the job not being
automatically restarted. This patch fixes that.
This commit only adds a test job with the new logic since this workflow
triggers on workflow_run, which means that the changes need to be on
`main` before they can be tested. Once this is tested to work properly,
I'll make it the default definition for the workflow.
Commit: fe4bba65785072047f4dadba9b77f3cdf37e4ace
https://github.com/llvm/llvm-project/commit/fe4bba65785072047f4dadba9b77f3cdf37e4ace
Author: Oliver Hunt <github at nerget.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
Add support for referencable labels for attribute documentation (#118428)
The existing mechanism being used is to manually add a reference in the
documentation. These references link to the beginning of the text rather
than the heading for the attribute which is what this PR allows.
---------
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Commit: d057b53a7db43f33f4a9fd832115e613ebe0a67b
https://github.com/llvm/llvm-project/commit/d057b53a7db43f33f4a9fd832115e613ebe0a67b
Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_bf16.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_checked.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_get_coord.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_packed.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_prefetch.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_tf32.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_cooperative_matrix/cooperative_matrix.ll
Log Message:
-----------
[SPIR-V] Add SPV_INTEL_joint_matrix extension (#118578)
The spec is available here:
https://github.com/intel/llvm/pull/12497
The PR doesn't add OpCooperativeMatrixApplyFunctionINTEL instruction as
it's still experimental and not properly tested E2E.
The PR also fixes few bugs in the related code:
1. CooperativeMatrixMulAddKHR optional operand must be literal, not a
constant;
2. Fixed available capabilities table creation for a case, when a single
extension adds few capabilities, that occupy not contiguous op codes.
---------
Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>
Commit: cd92c6a89541cbbb67b39142d93a76caae0f79bf
https://github.com/llvm/llvm-project/commit/cd92c6a89541cbbb67b39142d93a76caae0f79bf
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
A flang/test/Fir/CUDA/cuda-target-rewrite.mlir
Log Message:
-----------
[flang][cuda] Run target rewrite in gpu.module (#118592)
Apply signature conversion for `func.func` in the gpu.module. More work
will need to be done for gpu.func op and implement the NVVM ABI for
conversion in the gpu module.
Commit: 7748492c3749b7ba0b1d1a0203d2641413ec5d9b
https://github.com/llvm/llvm-project/commit/7748492c3749b7ba0b1d1a0203d2641413ec5d9b
Author: Brian Cain <bcain at quicinc.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/test/CodeGen/Hexagon/trap-crash.ll
Log Message:
-----------
[hexagon] Add support for llvm.debugtrap (#117049)
Also: set `hasSideEffects` on `Y2_break` instruction.
Commit: 8c36a823c2cc39740f7711da2d08ef85b0ace314
https://github.com/llvm/llvm-project/commit/8c36a823c2cc39740f7711da2d08ef85b0ace314
Author: hidekisaito <hidekido at amd.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
Log Message:
-----------
Fix to account for multiple ISA enumeration (#118676)
Commit: 77908345d06e05816c5e46b2c092022f9f6c90cf
https://github.com/llvm/llvm-project/commit/77908345d06e05816c5e46b2c092022f9f6c90cf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/test/CodeGen/X86/fsxor-alignment.ll
Log Message:
-----------
[X86] fsxor-alignment.ll - add nounwind to prevent cfi noise in an upcoming change
Commit: 2567feaa13416d1d8c90c1dca6a176a57622c1d6
https://github.com/llvm/llvm-project/commit/2567feaa13416d1d8c90c1dca6a176a57622c1d6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-fabs.ll
M llvm/test/CodeGen/X86/combine-fneg.ll
Log Message:
-----------
[X86] Add fabs/fneg rmw style test coverage for #117557
Missed opportunity to avoid use of fpu for store(fabs(load()) style patterns
Commit: 2757dc33ee4eea977d2194fa0ca79f7627b39030
https://github.com/llvm/llvm-project/commit/2757dc33ee4eea977d2194fa0ca79f7627b39030
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
R flang/test/Fir/CUDA/cuda-target-rewrite.mlir
Log Message:
-----------
Revert "[flang][cuda] Run target rewrite in gpu.module" (#118679)
Reverts llvm/llvm-project#118592
Commit: 3dcc52d4646494664f2cec0b2475811947d449b0
https://github.com/llvm/llvm-project/commit/3dcc52d4646494664f2cec0b2475811947d449b0
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
Log Message:
-----------
[flang][OpenMP] Add comments to IsContiguous, improve formatting, NFC
Commit: ee9e7867178bee16cc0976a83a8303c99c2f5326
https://github.com/llvm/llvm-project/commit/ee9e7867178bee16cc0976a83a8303c99c2f5326
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/intrin.h
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
Log Message:
-----------
[aarch64] Add support for the __{inc|add}x18{byte|word|dword|qword intrinsics (#117752)
Adds support for the following MSVC intrinsics:
* `__addx18byte`
* `__addx18word`
* `__addx18dword`
* `__addx18qword`
* `__incx18byte`
* `__incx18word`
* `__incx18dword`
* `__incx18qword`
These are documented at:
<https://learn.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics?view=msvc-170>
Commit: 7347e5e89a671d675ba144e181e3d24bd072f527
https://github.com/llvm/llvm-project/commit/7347e5e89a671d675ba144e181e3d24bd072f527
Author: Amr Hesham <amr96 at programmer.net>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Analysis/reference.cpp
M clang/test/Sema/warn-stringcompare.c
M clang/test/SemaCXX/deprecated.cpp
A clang/test/SemaCXX/warn-array-comparion.cpp
M clang/test/SemaCXX/warn-self-comparisons.cpp
Log Message:
-----------
[Clang] Add '-Warray-compare' flag for C++ below version 20 (#118031)
Currently, we support `-wdeprecated-array-compare` for C++20 or above
and don't report any warning for older versions, this PR supports
`-Warray-compare` for older versions and for GCC compatibility.
Fixes #114770
Commit: e3446b9a079f1d911c96ae84d899d9ccd55a9951
https://github.com/llvm/llvm-project/commit/e3446b9a079f1d911c96ae84d899d9ccd55a9951
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
M clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
Log Message:
-----------
[OpenACC] Fix bug with worker/vector/gang clause inside another
The original implementation rejected some valid constructs. The rule is
supposed to be:
Gang-on-Kernel cannot have a gang in its region
Worker cannot have a worker or gang in its region
Vector cannot have worker, gang, or vector in its region.
The previous implementation improperly implemented that vector wasnt'
allowed in the other two. This patch fixes it and adds testing for it.
Commit: fd02693fb61ecc7630c66f9bad62bcdb143b9b91
https://github.com/llvm/llvm-project/commit/fd02693fb61ecc7630c66f9bad62bcdb143b9b91
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
A flang/test/Fir/CUDA/cuda-target-rewrite.mlir
Log Message:
-----------
Reland "[flang][cuda] Run target rewrite in gpu.module" (#118682)
#118679
Commit: 0d1e762da7ad22e31e98cf372a692027ff0bb610
https://github.com/llvm/llvm-project/commit/0d1e762da7ad22e31e98cf372a692027ff0bb610
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/abs.ll
Log Message:
-----------
[InstSimplify] Refine `abs(min/undef, true)` to `poison` (#118669)
Calls to `@llvm.abs(undef, i1 true)` and `@llvm.abs(INT_MIN, i1 true)`
can be optimized to `poison` instead of `undef`.
[Alive2](https://alive2.llvm.org/ce/z/Hg-2ug)
Commit: 4cf2cf18c97d17c8e5662955c7048d072c711415
https://github.com/llvm/llvm-project/commit/4cf2cf18c97d17c8e5662955c7048d072c711415
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
Log Message:
-----------
[RISCV][GISel] Stop over promoting G_SITOFP/UITOFP libcalls on RV64. (#118597)
When we have legal instructions we want to promote to sXLen and let isel
pattern matching removing the and/sext_inreg.
When using a libcall we want to use a 'si' libcall for small types
instead of 'di'. To match the RV64 ABI, we need to sign extend `unsigned
int` arguments. We reuse the shouldSignExtendTypeInLibCall hook from
SelectionDAG.
Commit: 4b11ff72ab85c32e86e63b4d5e2c563eb85c2ccd
https://github.com/llvm/llvm-project/commit/4b11ff72ab85c32e86e63b4d5e2c563eb85c2ccd
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
Log Message:
-----------
[flang][cuda] Fix test cuda-target-rewrite.mlir
Fix after buildbots issue
Commit: 095c3c9d6ec349815563d47f951d4590b3d18333
https://github.com/llvm/llvm-project/commit/095c3c9d6ec349815563d47f951d4590b3d18333
Author: cmtice <cmtice at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
A lldb/test/API/commands/target/anon-struct/Makefile
A lldb/test/API/commands/target/anon-struct/TestTargetVarAnonStruct.py
A lldb/test/API/commands/target/anon-struct/main.cpp
Log Message:
-----------
[LLDB] Fix crash in TypeSystemClang::GetIndexofChildMemberWithName. (#117808)
LLDB can crash in TypeSystemClang::GetIndexOfChildMemberWithName, at a
point where it pushes an index onto the child_indexes vector, tries to
call itself recursively, then tries to pop the entry from child_indexes.
The problem is that the recursive call can clear child_indexes, so that
this code ends up trying to pop an already empty vector. This change
saves the old vector before the push, then restores the saved vector
rather than trying to pop.
Commit: c282d790243cf56e3ac8487b1b47430673957112
https://github.com/llvm/llvm-project/commit/c282d790243cf56e3ac8487b1b47430673957112
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
Log Message:
-----------
[flang][OpenMP] Use range-for to iterate over SymbolSourceMap, NFC
Avoid iterators, use structured bindings to unpack the [key, value]
pairs.
Commit: 9302043bef24519b95ffce86569ca7c7c97300e9
https://github.com/llvm/llvm-project/commit/9302043bef24519b95ffce86569ca7c7c97300e9
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M lldb/tools/lldb-dap/README.md
Log Message:
-----------
[lldb-dap] Fix links to LLVM issue tracker and pull requests (#118681)
Currently, the link to the issue tracker takes you to the Github source
repository, rather than the Github issue tracker. This fixes the link
and includes the lldb-dap label in both the issue and PR URL.
Commit: 9c5217c4edf945838ecf70ebc6004cc40c097232
https://github.com/llvm/llvm-project/commit/9c5217c4edf945838ecf70ebc6004cc40c097232
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/list.h
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Use internal list to manage the LRU cache (#117946)
Commit: c3d15188cfe243900895a4f2c4f36b84e14928b7
https://github.com/llvm/llvm-project/commit/c3d15188cfe243900895a4f2c4f36b84e14928b7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/MemProfReader.cpp
Log Message:
-----------
[memprof] Move YAML traits to MemProf.h (NFC) (#118668)
This patch moves the MemProf YAML traits to MemProf.h so that the YAML
writer can access them from outside MemProfReader.cpp in the future.
Commit: a6e7749ea9e60f6b76b367d18ed90d09ea441581
https://github.com/llvm/llvm-project/commit/a6e7749ea9e60f6b76b367d18ed90d09ea441581
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
Log Message:
-----------
[RISCV] Improve lowering of spread(2) shuffles (#118658)
A spread(2) shuffle is just a interleave with an undef lane. The
existing lowering was reusing the even lane for the undef value. This
was entirely legal, but non-optimal.
Commit: 048fc2bc102cff806613592829ff275c0f2b826f
https://github.com/llvm/llvm-project/commit/048fc2bc102cff806613592829ff275c0f2b826f
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/MC/MCRegisterInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-addrmode.ll
M llvm/test/CodeGen/AArch64/nested-iv-regalloc.mir
M llvm/test/CodeGen/AArch64/preserve_nonecc_varargs_darwin.ll
Log Message:
-----------
[LiveIntervals] Ignore artificial regs when adding kill flags (#116963)
If parts of a physical register for a given liverange, as assigned by
the register allocator, can be used to store other values not
represented by this liverange, then `LiveIntervals::addKillFlags`
normally avoids adding a kill flag on the use of this register
when the value's liverange ends.
However, if all the other regunits are artificial, then we can
still safely add the kill flag, since those parts of the register
can never be accessed independently.
Commit: d57892a2a153ab71a796f07e39d939eae6910c21
https://github.com/llvm/llvm-project/commit/d57892a2a153ab71a796f07e39d939eae6910c21
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
R llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
M llvm/test/CodeGen/X86/vselect.ll
Log Message:
-----------
Revert "[DAGCombiner] Add support for scalarising extracts of a vector setcc" (#118693)
Reverts llvm/llvm-project#117566
Breaks libc++ tests with HWASAN
https://lab.llvm.org/buildbot/#/builders/55/builds/3959
Commit: 5e769fb2342f2ff5986f62cc50550b8b4ab1985f
https://github.com/llvm/llvm-project/commit/5e769fb2342f2ff5986f62cc50550b8b4ab1985f
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
A libc/config/windows/headers.txt
Log Message:
-----------
[libc] add headers.txt for windows (#118675)
Link:
https://github.com/llvm/llvm-project/pull/117220#issuecomment-2518126598
---------
Co-authored-by: Michael Jones <michaelrj at google.com>
Commit: e84c918cb42f9f0d1f7fda44bfacdaae13723e64
https://github.com/llvm/llvm-project/commit/e84c918cb42f9f0d1f7fda44bfacdaae13723e64
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/VectorTypes.h
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
Log Message:
-----------
[mlir] Use new VectorType wrappers CommonTypeConstraints.td (#118645)
As a follow-on for #87986, moves the VectorType convenience wrappers
(`FixedVectorType` and `ScalableVectorType`) to BuiltinTypes.h. This
allows us to use the new wrappers in "CommonTypeConstraints.td".
Commit: e0f52538c9739d945e316eac0ddd92d26e4e380a
https://github.com/llvm/llvm-project/commit/e0f52538c9739d945e316eac0ddd92d26e4e380a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bitop3.ll
Log Message:
-----------
AMDGPU: Change bitop3 intrinsic operand to i32 (#118647)
Commit: 431581b22a5269c2cd05c0a8e2155072d52f85a7
https://github.com/llvm/llvm-project/commit/431581b22a5269c2cd05c0a8e2155072d52f85a7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
Log Message:
-----------
AMDGPU: Simplify definition of bitop3 operand. NFC. (#118648)
Co-authored-by: Jay Foad <jay.foad at amd.com>
Commit: 7954a0514ba7de40dba6c598af830fd1b7a8bf0c
https://github.com/llvm/llvm-project/commit/7954a0514ba7de40dba6c598af830fd1b7a8bf0c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGen/tbaa-reference.cpp
M clang/test/CodeGenCXX/template-instantiation.cpp
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
M clang/unittests/CodeGen/TBAAMetadataTest.cpp
Log Message:
-----------
[Clang] Enable -fpointer-tbaa by default. (#117244)
Support for more precise TBAA metadata has been added a while ago
(behind the -fpointer-tbaa flag). The more precise TBAA metadata allows
treating accesses of different pointer types as no-alias.
This helps to remove more redundant loads and stores in a number of
workloads.
Some highlights on the impact across llvm-test-suite's MultiSource,
SPEC2006 & SPEC2017 include:
* +2% more NoAlias results for memory accesses
* +3% more stores removed by DSE,
* +4% more loops vectorized.
This closes a relatively big gap to GCC, which has been supporting
disambiguating based on pointer types for a long time.
(https://clang.godbolt.org/z/K7Wbhrz4q)
Pointer-TBAA support for pointers to builtin types has been added in
https://github.com/llvm/llvm-project/pull/76612.
Support for user-defined types has been added in
https://github.com/llvm/llvm-project/pull/110569.
There are 2 recent PRs with bug fixes for special cases uncovered during
testing:
* https://github.com/llvm/llvm-project/pull/116991
* https://github.com/llvm/llvm-project/pull/116596
PR: https://github.com/llvm/llvm-project/pull/117244
Commit: ce0f11325e0c62c5b81391589e9b93b412a85bc1
https://github.com/llvm/llvm-project/commit/ce0f11325e0c62c5b81391589e9b93b412a85bc1
Author: Augie Fackler <augie at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/XRefs.h
M clang-tools-extra/clangd/index/Background.cpp
M clang-tools-extra/clangd/index/Background.h
M clang-tools-extra/clangd/index/FileIndex.cpp
M clang-tools-extra/clangd/index/FileIndex.h
M clang-tools-extra/clangd/index/Index.cpp
M clang-tools-extra/clangd/index/Index.h
M clang-tools-extra/clangd/index/MemIndex.cpp
M clang-tools-extra/clangd/index/MemIndex.h
M clang-tools-extra/clangd/index/Merge.cpp
M clang-tools-extra/clangd/index/Merge.h
M clang-tools-extra/clangd/index/ProjectAware.cpp
M clang-tools-extra/clangd/index/Ref.h
M clang-tools-extra/clangd/index/Serialization.cpp
M clang-tools-extra/clangd/index/Serialization.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/index/SymbolCollector.h
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/index/dex/Dex.h
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/Index.proto
M clang-tools-extra/clangd/index/remote/Service.proto
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
M clang-tools-extra/clangd/test/type-hierarchy-ext.test
M clang-tools-extra/clangd/test/type-hierarchy.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/DexTests.cpp
M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
M clang-tools-extra/clangd/unittests/IndexTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/TestTU.cpp
M clang-tools-extra/clangd/unittests/TestWorkspace.cpp
Log Message:
-----------
Revert "[clangd] Re-land "support outgoing calls in call hierarchy" (#117673)"
This reverts commit 7be3326200ef382705d8e6b2d7dc5378af96b34a.
Per https://protobuf.dev/programming-guides/dos-donts/#add-required
this will re-land tomorrow without the required fields.
Commit: 2e425bf629f80c8f8582c266d25a384e7549198d
https://github.com/llvm/llvm-project/commit/2e425bf629f80c8f8582c266d25a384e7549198d
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
A lldb/test/Shell/SymbolFile/DWARF/x86/simplified-template-names.cpp
M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFTypePrinter.h
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
Log Message:
-----------
Reapply "[lldb][dwarf] Compute fully qualified names on simplified template names with DWARFTypePrinter (#117071)"
9de73b20404f0b2db1cbf70d164cfe0789d5bb94 lands a fix to DWARFTypePrinter that is used by lldb in this change.
Commit: ac5dd455caaf286625f61b604291f2eaed9702f0
https://github.com/llvm/llvm-project/commit/ac5dd455caaf286625f61b604291f2eaed9702f0
Author: George Stagg <georgestagg at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/MC/WasmObjectWriter.cpp
A llvm/test/MC/WebAssembly/init-array.s
Log Message:
-----------
[WebAssembly] Support multiple `.init_array` fragments when writing Wasm objects (#111008)
Commit: 6003be7ef14bd95647e1ea6ec9685c1310f8ce58
https://github.com/llvm/llvm-project/commit/6003be7ef14bd95647e1ea6ec9685c1310f8ce58
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Lower/PFTBuilder.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
M flang/include/flang/Runtime/exceptions.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/target.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/runtime/exceptions.cpp
M flang/test/Evaluate/fold-ieee.f90
M flang/test/Evaluate/folding18.f90
A flang/test/Lower/Intrinsics/ieee_underflow.f90
Log Message:
-----------
[flang] IEEE_GET_UNDERFLOW_MODE, IEEE_SET_UNDERFLOW_MODE (#118551)
Implement IEEE_GET_UNDERFLOW_MODE and IEEE_SET_UNDERFLOW_MODE. Update
IEEE_SUPPORT_UNDERFLOW_CONTROL to enable support for indvidual REAL
kinds.
Commit: e6bd00c0f7017cf9652fec573d6554a3a95d4e28
https://github.com/llvm/llvm-project/commit/e6bd00c0f7017cf9652fec573d6554a3a95d4e28
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
Log Message:
-----------
[Inliner] Add a helper around `SimplifiedValues.lookup`. NFCI (#118646)
Commit: 7efd6139f2d1139e3b434a21992967531f469acc
https://github.com/llvm/llvm-project/commit/7efd6139f2d1139e3b434a21992967531f469acc
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/CUFOpConversion.h
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-data-transfer.fir
A flang/test/Fir/CUDA/cuda-global-addr.mlir
Log Message:
-----------
[flang][cuda] Get device address in fir.declare (#118591)
Add pattern that update fir.declare memref when it comes from a device
global and is not a descriptor. In that case, we recover the device
address that needs to be used in ops like `fir.array_coor` and so on.
Commit: a7da702377ef857a6b2dccf5f07f77b489be1dd1
https://github.com/llvm/llvm-project/commit/a7da702377ef857a6b2dccf5f07f77b489be1dd1
Author: lntue <lntue at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M libc/src/__support/macros/optimization.h
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/inv_trigf_utils.h
Log Message:
-----------
[libc][math] Add small code size options for atan2f. (#118532)
Commit: 35c7df1a219e99bc0e2aa2034e77f4e9c90566d3
https://github.com/llvm/llvm-project/commit/35c7df1a219e99bc0e2aa2034e77f4e9c90566d3
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsARM.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/intrin0.h
M clang/test/CodeGen/ms-intrinsics.c
Log Message:
-----------
[aarch64][arm] Add support for the _Interlocked[Compare]ExchangePointer_{acq|nf|rel} MS intrinsics (#117645)
Adds support for the following MSVC intrinsics:
* `_InterlockedCompareExchangePointer_acq`
* `_InterlockedCompareExchangePointer_rel`
* `_InterlockedExchangePointer_acq`
* `_InterlockedExchangePointer_nf`
* `_InterlockedExchangePointer_rel`
These are documented at:
<https://learn.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics?view=msvc-170#interlocked-intrinsics>
NOTE: `_InterlockedCompareExchangePointer_nf` is not being added since
it already exists, although it was incorrectly added for all
architectures instead of being Arm & AArch64 specific.
This change also unifies how the pointer and non-pointer interlocked
compare-exchange intrinsics are being handled.
Commit: 261d4bbb3bb847b90b9734daefe13618dea91613
https://github.com/llvm/llvm-project/commit/261d4bbb3bb847b90b9734daefe13618dea91613
Author: Luke Quinn <quic_lquinn at quicinc.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
M llvm/test/CodeGen/RISCV/double-zfa.ll
M llvm/test/CodeGen/RISCV/float-zfa.ll
M llvm/test/CodeGen/RISCV/half-zfa.ll
Log Message:
-----------
[RISCV] f32 roundeven pattern missed for Zfa (#118672)
f32 roundeven pattern was missing from RISCVInstrInfoZfa.td. Tests for
roundeven.f32/f16/f64 were missing.
Commit: 004e75ef17c76598f7307adbe9a39d5ae6d5375a
https://github.com/llvm/llvm-project/commit/004e75ef17c76598f7307adbe9a39d5ae6d5375a
Author: AdityaK <hiraditya at msn.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/test/Driver/linux-ld.c
Log Message:
-----------
Pack relocations for Android API >= 28 (#117624)
Patch copied from:
https://github.com/android/ndk/issues/909#issuecomment-649872696
Fixes: https://github.com/android/ndk/issues/909
Commit: 8cffab821c4b96c73fc4ad5e8ca2417ced953c5a
https://github.com/llvm/llvm-project/commit/8cffab821c4b96c73fc4ad5e8ca2417ced953c5a
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
Log Message:
-----------
[Fuchsia] Remove libc from LLVM_ENABLE_PROJECTS (#118704)
This was only needed for old hdrgen which is no longer being used.
Commit: b86a5993bc7be59b49879a0e768f53b7330f71b2
https://github.com/llvm/llvm-project/commit/b86a5993bc7be59b49879a0e768f53b7330f71b2
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/cmake/modules/CrossCompile.cmake
Log Message:
-----------
[libc] remove references to LIBC_HDRGEN_EXE (#118670)
Further cleanups from old hdrgen removal. I didn't realize there were
cmake
variables related to old hdrgen spread out throughout more of the source
tree.
Link: #117220
Link: #117208
Commit: e6aec2c12095cc7debd1a8004c8535eef41f4c36
https://github.com/llvm/llvm-project/commit/e6aec2c12095cc7debd1a8004c8535eef41f4c36
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M llvm/lib/Target/AMDGPU/AMDGPUAttributes.def
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-globalisel.ll
A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
Log Message:
-----------
[AMDGPU] Infer amdgpu-no-flat-scratch-init attribute in AMDGPUAttributor (#94647)
The AMDGPUAnnotateKernelFeatures pass infers the "amdgpu-calls" and
"amdgpu-stack-objects" attributes, which are used to infer whether we
need to initialize flat scratch. This is, however, not precise. Instead,
we should use AMDGPUAttributor and infer amdgpu-no-flat-scratch-init on
kernels. Refer to https://github.com/llvm/llvm-project/issues/63586 .
Commit: 1b4cdc401a19e7c9f7679c94540a41340eb4e548
https://github.com/llvm/llvm-project/commit/1b4cdc401a19e7c9f7679c94540a41340eb4e548
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC]update vop3 dasm test with latest script (#118686)
This is a NFC. Update dasm test for VOP3 using latest update script
Commit: a2fc276ed2556c5da59f8b039bbb6d97f3003134
https://github.com/llvm/llvm-project/commit/a2fc276ed2556c5da59f8b039bbb6d97f3003134
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
Log Message:
-----------
[libc] Remove complicated header guards on HSA include
Summary:
This is much more standard now, we already require new HSA with what we
use, so no point checking for this.
Commit: 2fea1ccb6221238674562533684c51b63de248d4
https://github.com/llvm/llvm-project/commit/2fea1ccb6221238674562533684c51b63de248d4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
Log Message:
-----------
[RISCV][GISel] Correct the widening predicate for G_SITOFP/G_UITOFP.
This happened to coincidentally work due to D and Zfh both depending
on the F extension.
It breaks when I tried to add fp128 libcall support.
Commit: f50ce316ec434f1e2f061287a48d85acde801a3d
https://github.com/llvm/llvm-project/commit/f50ce316ec434f1e2f061287a48d85acde801a3d
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
Log Message:
-----------
[llvm][NFC] `APFloat`: Add missing semantics to enum (#117291)
* Add missing semantics to the `Semantics` enum.
* Move all documentation of the semantics to the header file.
* Also rename some functions for consistency.
Commit: fc201d6133bef41b306cc39da0e4aed2112656b0
https://github.com/llvm/llvm-project/commit/fc201d6133bef41b306cc39da0e4aed2112656b0
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-gep.ll
Log Message:
-----------
Revert "[InstCombine] Support gep nuw in icmp folds" (#118698)
Reverts llvm/llvm-project#118472
Breaks profile tests on i386
https://lab.llvm.org/buildbot/#/builders/66/builds/7009
Commit: 758107f70a78d8d9c97438264c06ae7aa9e7cc5f
https://github.com/llvm/llvm-project/commit/758107f70a78d8d9c97438264c06ae7aa9e7cc5f
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
Log Message:
-----------
[RISCV] Improve spread(N) shuffle testing
Rework them now that spread(2) is special cased to ensure we still have
non-zero shift coverage.
Commit: 09f4c26262a35c1e428cf8b01b6239c6f605a4c1
https://github.com/llvm/llvm-project/commit/09f4c26262a35c1e428cf8b01b6239c6f605a4c1
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/test/Driver/fuchsia.c
Log Message:
-----------
[Driver][Fuchsia] Avoid "argument unused" warnings (#118416)
There should not be an error or warning reported for using
redundant options to control what goes into the link. For
example, -nolibc -nostdlib.
Commit: 1ef9410a96c1d9669a6feaf03fcab8d0a4a13bd5
https://github.com/llvm/llvm-project/commit/1ef9410a96c1d9669a6feaf03fcab8d0a4a13bd5
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M llvm/lib/Target/AMDGPU/AMDGPUAttributes.def
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
R llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-globalisel.ll
R llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
Log Message:
-----------
Revert "[AMDGPU] Infer amdgpu-no-flat-scratch-init attribute in AMDGPUAttributor (#94647)"
This reverts commit e6aec2c12095cc7debd1a8004c8535eef41f4c36. Commit breaks "ninja check-llvm" on x86 host.
Commit: 659834df0e86ac6e605a50118c12e99cfb61eb19
https://github.com/llvm/llvm-project/commit/659834df0e86ac6e605a50118c12e99cfb61eb19
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M libc/docs/fenv.rst
M libc/docs/setjmp.rst
M libc/docs/signal.rst
M libc/docs/stdbit.rst
M libc/docs/threads.rst
M libc/utils/docgen/docgen.py
M libc/utils/docgen/setjmp.json
Log Message:
-----------
docgen refresh (#118709)
- **[libc][docgen] Use Macro for macro table name**
- **fix setjmp json, otherwise can't regen**
- **regen all docs**
Commit: 17f99accf23e1486404b6833a18d0d78a1ecd098
https://github.com/llvm/llvm-project/commit/17f99accf23e1486404b6833a18d0d78a1ecd098
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M flang/test/Evaluate/fold-ieee.f90
M flang/test/Evaluate/folding18.f90
R flang/test/Lower/Intrinsics/ieee_underflow.f90
Log Message:
-----------
[flang] build test fix/suppression (#118716)
Commit: 32b821cab3064ae9a77a0f1d9916a286c7543735
https://github.com/llvm/llvm-project/commit/32b821cab3064ae9a77a0f1d9916a286c7543735
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/lib/AST/MicrosoftMangle.cpp
Log Message:
-----------
[AST] Fix a warning
This patch fixes:
clang/lib/AST/MicrosoftMangle.cpp:1006:11: error: enumeration value
'S_PPCDoubleDoubleLegacy' not handled in switch [-Werror,-Wswitch]
Commit: df43af40ec1d139caa5cb870c7e35ff6b91cdbc3
https://github.com/llvm/llvm-project/commit/df43af40ec1d139caa5cb870c7e35ff6b91cdbc3
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M flang/test/Evaluate/fold-ieee.f90
Log Message:
-----------
Vkd1 (#118721)
Commit: af4ae12780099d3df0b89bccc80fd69b240f345e
https://github.com/llvm/llvm-project/commit/af4ae12780099d3df0b89bccc80fd69b240f345e
Author: Chris Apple <cja-private at pm.me>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
A compiler-rt/test/rtsan/fork_exec.cpp
Log Message:
-----------
[rtsan] Add fork/execve interceptors (#117198)
Commit: 970d6d20967258528980c9b7feaaf3dd3acf9aa3
https://github.com/llvm/llvm-project/commit/970d6d20967258528980c9b7feaaf3dd3acf9aa3
Author: pcc <peter at pcc.me.uk>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/Writer.cpp
M lld/test/ELF/pack-dyn-relocs-ifunc.s
Log Message:
-----------
ELF: Have __rela_iplt_{start,end} surround .rela.iplt with --pack-dyn-relocs=android.
In #86751 we moved the IRELATIVE relocations to .rela.plt when
--pack-dyn-relocs=android was enabled but we neglected to also move
the __rela_iplt_{start,end} symbols. As a result, static binaries
linked with this flag were unable to find their IRELATIVE relocations.
Fix it by having the symbols surround the correct section.
Reviewers: MaskRay, smithp35
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/118585
Commit: 7d1c661381d36018fd105f4ad4c2d6dc45e7288b
https://github.com/llvm/llvm-project/commit/7d1c661381d36018fd105f4ad4c2d6dc45e7288b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/common.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/allocator-registry.h
M flang/include/flang/Runtime/descriptor.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/runtime/CUDA/allocatable.cpp
M flang/runtime/CUDA/allocator.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/runtime/allocatable.cpp
M flang/runtime/array-constructor.cpp
M flang/runtime/descriptor.cpp
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/unittests/Runtime/CUDA/Allocatable.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/Memory.cpp
Log Message:
-----------
[flang] Allow to pass an async id to allocate the descriptor (#118713)
This is a patch in preparation for the support stream ordered memory
allocator in CUDA Fortran.
This patch adds an asynchronous id to the AllocatableAllocate runtime
function and to Descriptor::Allocate so it can be passed down to the
registered allocator. It is up to the allocator to use this value or
not.
A follow up patch will implement that asynchronous allocator for CUDA
Fortran.
Commit: 00d8ea3a4c8eba9aa0f14c352192e94cc40f8e2d
https://github.com/llvm/llvm-project/commit/00d8ea3a4c8eba9aa0f14c352192e94cc40f8e2d
Author: hev <wangrui at loongson.cn>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/fp16-promote.ll
Log Message:
-----------
[LoongArch] Supports FP_TO_SINT operation for fp16 (#118303)
Fixes #118301
Commit: 740ac4f0ffbab304e3f74ce8d1d0505479d0f800
https://github.com/llvm/llvm-project/commit/740ac4f0ffbab304e3f74ce8d1d0505479d0f800
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/test/tools/yaml2obj/ELF/note-section.yaml
Log Message:
-----------
Reland "[ObjectYAML][ELF] Take alignment into account when generating notes" (#118434)
This relands #118157 with a fix for the use of an uninitialized
variable and additional tests.
The System V ABI
(https://www.sco.com/developers/gabi/latest/ch5.pheader.html#note_section)
states that the note entries and their descriptor fields must be aligned
to 4 or 8 bytes for 32-bit or 64-bit objects respectively. In practice,
64-bit systems can use both alignments, with the actual format being
determined by the alignment of the segment. For example, the Linux
gABI extension (https://github.com/hjl-tools/linux-abi/wiki/linux-abi-draft.pdf)
contains a special note on this, see 2.1.7 "Alignment of Note Sections".
This patch adjusts the format of the generated notes to the specified
section alignment. Since `llvm-readobj` was fixed in a similar way in
https://reviews.llvm.org/D150022, "[Object] Fix handling of Elf_Nhdr
with sh_addralign=8", the generated notes can now be parsed
successfully by the tool.
Commit: f98c9a9b3665c75a6bf01577734f16185710009d
https://github.com/llvm/llvm-project/commit/f98c9a9b3665c75a6bf01577734f16185710009d
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
Log Message:
-----------
[mutation analyzer][NFC] combine `ConditionalOperator` `BinaryConditionalOperator` (#118602)
Commit: 7b8cf147addf7d3fb4630475c40153226f5fdbd0
https://github.com/llvm/llvm-project/commit/7b8cf147addf7d3fb4630475c40153226f5fdbd0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Update YAML traits for writer purposes (#118720)
For Frames, we prefer the inline notation for the brevity.
For PortableMemInfoBlock, we go through all member fields and print
out those that are populated.
Commit: 7f72d71de7c3b7d36d9f463b1459a6d2f6c989e6
https://github.com/llvm/llvm-project/commit/7f72d71de7c3b7d36d9f463b1459a6d2f6c989e6
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir
Log Message:
-----------
[OpenMP][OMPIRBuilder] Refactor reduction initialization logic into one util (#118447)
This refactors the logic needed to emit init logic for reductions by
moving some duplicated code into a shared util. The logic for doing is
quite involved and is needed for any construct that has reductions.
Moreover, when a construct has both private and reduction clauses, both
sets of clauses need to cooperate with each other when emitting the
logic needed for allocation and initialization. Therefore, this PR
clearly sets the boundaries for the logic needed to initialize
reductions.
Commit: 50f8580e2cded758627b8d9478b56d5443aa6d7c
https://github.com/llvm/llvm-project/commit/50f8580e2cded758627b8d9478b56d5443aa6d7c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Add IndexedMemProfData::addFrame (#118724)
This patch adds a helper function to replace an idiom like:
FrameId Id = F.hash();
MemProfData.Frames.try_emplace(Id, F);
// Do something with Id.
Commit: 0993335134dd893bcad31f7a4a24b00b7c11476a
https://github.com/llvm/llvm-project/commit/0993335134dd893bcad31f7a4a24b00b7c11476a
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-todo.mlir
A mlir/test/Target/LLVMIR/openmp-wsloop-private.mlir
Log Message:
-----------
[OpenMP][OMPIRBuilder] Add delayed privatization support for `wsloop` (#118463)
Extend MLIR to LLVM lowering by adding support for `omp.wsloop` for
delayed privatization. This also refactors a few bit of code to isolate
the logic needed for `firstprivate` initialization in a shared util that
can be used across constructs that need it. The same is done for
`dealloc`
regions.
Parent PR: https://github.com/llvm/llvm-project/pull/118447. Only latest
commit is relevant for this PR.
Commit: 44be794658f9cd477ffd718b0322d1970c534274
https://github.com/llvm/llvm-project/commit/44be794658f9cd477ffd718b0322d1970c534274
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
A clang/test/AST/ByteCode/amdgpu-nullptr.cl
Log Message:
-----------
[clang][bytecode] Not all null pointers are 0 (#118601)
Get the Value from the ASTContext instead.
Commit: a996a15b4c5287892f79c0ae029ea9319c8e44a5
https://github.com/llvm/llvm-project/commit/a996a15b4c5287892f79c0ae029ea9319c8e44a5
Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/cmake/caches/CrossWinToARMLinux.cmake
Log Message:
-----------
[CMake] Allow parametrizing of the static libraries in Cross ARM CMake cache. NFC. (#118737)
In order to support the cross-arm remote tests for LLDB project
(see 'lldb-remote-linux-*' public builders for details).
Commit: dba0861cd7aa2717b0f36c76d77c097765f6ad57
https://github.com/llvm/llvm-project/commit/dba0861cd7aa2717b0f36c76d77c097765f6ad57
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/AVR/AVRInstrFormats.td
M llvm/lib/Target/AVR/AVRInstrInfo.td
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.h
M llvm/test/CodeGen/AVR/inline-asm/loadstore.ll
Log Message:
-----------
[AVR] Simplify eocoding of load/store instructions (#118279)
Fixes https://github.com/llvm/llvm-project/issues/113774
Commit: 3e0e1c13ce96dfe291ffaf9edc9876cdd5016a0d
https://github.com/llvm/llvm-project/commit/3e0e1c13ce96dfe291ffaf9edc9876cdd5016a0d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
Log Message:
-----------
[RISCV][GISel] Support fp128 arithmetic and conversion for RV64. (#118707)
We can support these via libcalls in libgcc/compiler-rt or integer
operations for fneg/fabs/fcopysign. fp128 values will be passed in two
64-bit GPRs according to the psABI.
Supporting RV32 requires sret which is not supported by libcall handling
in LegalizerHelper.cpp yet. It doesn't call canLowerReturn.
Commit: abc27039be63ce31afe42fc10510921b559db4fe
https://github.com/llvm/llvm-project/commit/abc27039be63ce31afe42fc10510921b559db4fe
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Pass __builtin_memcpy size along (#118649)
To DoBitCastPtr, so we know how many bytes we want to read.
Commit: 0629e9e352fa8a2204e6165c61ce617f7096778e
https://github.com/llvm/llvm-project/commit/0629e9e352fa8a2204e6165c61ce617f7096778e
Author: Renat Idrisov <4032256+parsifal-47 at users.noreply.github.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
[MLIR] Removing dead values for branches (#117501)
Fixing RemoveDeadValues to properly remove arguments from
BranchOpInterface operations.
This is a follow-up for:
https://github.com/llvm/llvm-project/pull/117405
cc: @joker-eph @codemzs
---------
Co-authored-by: Renat Idrisov <parsifal-47 at users.noreply.github.com>
Commit: 71ac1eb50955fdcddfb77f2daa9a213839ff1a3e
https://github.com/llvm/llvm-project/commit/71ac1eb50955fdcddfb77f2daa9a213839ff1a3e
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
M llvm/test/CodeGen/AArch64/extract-vector-elt.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-amdgpu-cvt-f32-ubyte.mir
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
Log Message:
-----------
Revert "[GlobalISel] Combine [s,z]ext of undef into 0" (#118746)
Reverts llvm/llvm-project#117439
Commit: f7560ee97b7441eb3f5b2d0744aad857fafa5855
https://github.com/llvm/llvm-project/commit/f7560ee97b7441eb3f5b2d0744aad857fafa5855
Author: Iuri Chaer <ichaer at splunk.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/lib/Format/CMakeLists.txt
Log Message:
-----------
[clang-format] Add cmake target clang-format-style-options for updating ClangFormatStyleOptions.rst (#111513)
* Create a new `clang-format-style-options` build target which
re-generates ClangFormatStyleOptions.rst from its source header files.
As discussed in
https://github.com/llvm/llvm-project/pull/96804#discussion_r1718407404
---------
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: 6bec1806c9cc90f6e72fc04698f4221c86c5f95e
https://github.com/llvm/llvm-project/commit/6bec1806c9cc90f6e72fc04698f4221c86c5f95e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/lib/Format/CMakeLists.txt
Log Message:
-----------
[clang-format] Add plurals.txt to DEPENDS of style_options_depends
Commit: a9a4a83b6132f076fd14ac31268deaa4bf1381d5
https://github.com/llvm/llvm-project/commit/a9a4a83b6132f076fd14ac31268deaa4bf1381d5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-04 (Wed, 04 Dec 2024)
Changed paths:
M clang/docs/tools/dump_format_style.py
A clang/test/Format/docs_updated.test
M clang/test/Format/lit.local.cfg
Log Message:
-----------
[clang-format] Add test to ensure formatting options docs are updated (#118154)
This patch adds a lit test to clang format to ensure that the
ClangFormatStyleOptions doc page has been updated appropriately. The
test just runs the automatic update script and diffs the outputs to
ensure they are the same.
Commit: 636beb6a2833ee0290935f679252c1b662721b31
https://github.com/llvm/llvm-project/commit/636beb6a2833ee0290935f679252c1b662721b31
Author: Feng Zou <feng.zou at intel.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M lld/ELF/Arch/X86_64.cpp
M lld/test/ELF/invalid/broken-relaxation-x64.test
M lld/test/ELF/pack-dyn-relocs-tls-x86-64.s
M lld/test/ELF/tls-opt.s
A lld/test/ELF/x86-64-tls-ie-err.s
M lld/test/ELF/x86-64-tls-ie-local.s
Log Message:
-----------
[X86][LLD] Handle R_X86_64_CODE_6_GOTTPOFF relocation type (#117675)
For
add %reg1, name at GOTTPOFF(%rip), %reg2
add name at GOTTPOFF(%rip), %reg1, %reg2
{nf} add %reg1, name at GOTTPOFF(%rip), %reg2
{nf} add name at GOTTPOFF(%rip), %reg1, %reg2
{nf} add name at GOTTPOFF(%rip), %reg
add
R_X86_64_CODE_6_GOTTPOFF = 50
in #117277.
Linker can treat R_X86_64_CODE_6_GOTTPOFF as R_X86_64_GOTTPOFF or
convert the instructions above to
add $name at tpoff, %reg1, %reg2
add $name at tpoff, %reg1, %reg2
{nf} add $name at tpoff, %reg1, %reg2
{nf} add $name at tpoff, %reg1, %reg2
{nf} add $name at tpoff, %reg
if the first byte of the instruction at the relocation offset - 6 is
0x62 (namely, encoded w/EVEX prefix) when possible.
Binutils patch: bminor/binutils-gdb at 5bc71c2
Binutils mailthread:
https://sourceware.org/pipermail/binutils/2024-February/132351.html
ABI discussion:
https://groups.google.com/g/x86-64-abi/c/FhEZjCtDLFw/m/VHDjN4orAgAJ
Blog: https://kanrobert.github.io/rfc/All-about-APX-relocation
Commit: fd3907ccb583df99e9c19d2fe84e4e7c52d75de9
https://github.com/llvm/llvm-project/commit/fd3907ccb583df99e9c19d2fe84e4e7c52d75de9
Author: Callum Fare <callum at codeplay.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/cmake/OpenMPTesting.cmake
A offload/liboffload/API/APIDefs.td
A offload/liboffload/API/CMakeLists.txt
A offload/liboffload/API/Common.td
A offload/liboffload/API/Device.td
A offload/liboffload/API/OffloadAPI.td
A offload/liboffload/API/Platform.td
A offload/liboffload/API/README.md
A offload/liboffload/CMakeLists.txt
A offload/liboffload/README.md
A offload/liboffload/exports
A offload/liboffload/include/OffloadImpl.hpp
A offload/liboffload/include/generated/OffloadAPI.h
A offload/liboffload/include/generated/OffloadEntryPoints.inc
A offload/liboffload/include/generated/OffloadFuncs.inc
A offload/liboffload/include/generated/OffloadImplFuncDecls.inc
A offload/liboffload/include/generated/OffloadPrint.hpp
A offload/liboffload/src/Helpers.hpp
A offload/liboffload/src/OffloadImpl.cpp
A offload/liboffload/src/OffloadLib.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/test/lit.cfg
M offload/test/lit.site.cfg.in
A offload/test/tools/offload-tblgen/default_returns.td
A offload/test/tools/offload-tblgen/entry_points.td
A offload/test/tools/offload-tblgen/functions_basic.td
A offload/test/tools/offload-tblgen/functions_code_loc.td
A offload/test/tools/offload-tblgen/functions_ranged_param.td
A offload/test/tools/offload-tblgen/print_enum.td
A offload/test/tools/offload-tblgen/print_function.td
A offload/test/tools/offload-tblgen/type_tagged_enum.td
A offload/tools/offload-tblgen/APIGen.cpp
A offload/tools/offload-tblgen/CMakeLists.txt
A offload/tools/offload-tblgen/EntryPointGen.cpp
A offload/tools/offload-tblgen/FuncsGen.cpp
A offload/tools/offload-tblgen/GenCommon.hpp
A offload/tools/offload-tblgen/Generators.hpp
A offload/tools/offload-tblgen/PrintGen.cpp
A offload/tools/offload-tblgen/RecordTypes.hpp
A offload/tools/offload-tblgen/offload-tblgen.cpp
M offload/unittests/CMakeLists.txt
A offload/unittests/OffloadAPI/CMakeLists.txt
A offload/unittests/OffloadAPI/common/Environment.cpp
A offload/unittests/OffloadAPI/common/Environment.hpp
A offload/unittests/OffloadAPI/common/Fixtures.hpp
A offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
A offload/unittests/OffloadAPI/device/olGetDevice.cpp
A offload/unittests/OffloadAPI/device/olGetDeviceCount.cpp
A offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
A offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
A offload/unittests/OffloadAPI/platform/olGetPlatform.cpp
A offload/unittests/OffloadAPI/platform/olGetPlatformCount.cpp
A offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
A offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
A offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp
Log Message:
-----------
Reland #118503: [Offload] Introduce offload-tblgen and initial new API implementation (#118614)
Reland #118503. Added a fix for builds with `-DBUILD_SHARED_LIBS=ON`
(see last commit). Otherwise the changes are identical.
---
### New API
Previous discussions at the LLVM/Offload meeting have brought up the
need for a new API for exposing the functionality of the plugins. This
change introduces a very small subset of a new API, which is primarily
for testing the offload tooling and demonstrating how a new API can fit
into the existing code base without being too disruptive. Exact designs
for these entry points and future additions can be worked out over time.
The new API does however introduce the bare minimum functionality to
implement device discovery for Unified Runtime and SYCL. This means that
the `urinfo` and `sycl-ls` tools can be used on top of Offload. A
(rough) implementation of a Unified Runtime adapter (aka plugin) for
Offload is available
[here](https://github.com/callumfare/unified-runtime/tree/offload_adapter).
Our intention is to maintain this and use it to implement and test
Offload API changes with SYCL.
### Demoing the new API
```sh
# From the runtime build directory
$ ninja LibomptUnitTests
$ OFFLOAD_TRACE=1 ./offload/unittests/OffloadAPI/offload.unittests
```
### Open questions and future work
* Only some of the available device info is exposed, and not all the
possible device queries needed for SYCL are implemented by the plugins.
A sensible next step would be to refactor and extend the existing device
info queries in the plugins. The existing info queries are all strings,
but the new API introduces the ability to return any arbitrary type.
* It may be sensible at some point for the plugins to implement the new
API directly, and the higher level code on top of it could be made
generic, but this is more of a long-term possibility.
Commit: 41cde465acfddb44d400b0a53bb57960762312a2
https://github.com/llvm/llvm-project/commit/41cde465acfddb44d400b0a53bb57960762312a2
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/ptrauth-function-attributes.c
M clang/test/Driver/aarch64-ptrauth.c
Log Message:
-----------
[PAC][Driver] Add `-faarch64-jump-table-hardening` flag (#113149)
The flag is placed together with pointer authentication flags since they
serve the same security purpose of protecting against attacks on control
flow. The flag is not ABI-affecting and might be enabled separately if
needed, but it's also intended to be enabled as part of pauth-enabled
environments (e.g. pauthtest).
See also codegen implementation #97666.
Commit: a9eb8f0e3dbaf16b6bd83eecb960b6ea8ecaa8c3
https://github.com/llvm/llvm-project/commit/a9eb8f0e3dbaf16b6bd83eecb960b6ea8ecaa8c3
Author: Benjamin Maxwell <macdue at dueutil.tech>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/test/Dialect/ArmSME/vector-legalization.mlir
Log Message:
-----------
[mlir][ArmSME] Fix crash on empty vector.mask in arm-sme-vector-legalization (#118613)
Fixes #118449
Commit: 3a8ada67ff45aec5696d72212d516593c3d32893
https://github.com/llvm/llvm-project/commit/3a8ada67ff45aec5696d72212d516593c3d32893
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][NFC] Fix miscellaneous typos in release notes
Commit: 5d38a3406b11c70e6f0d1a880b78ed404aba2c36
https://github.com/llvm/llvm-project/commit/5d38a3406b11c70e6f0d1a880b78ed404aba2c36
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
Log Message:
-----------
[clangd] Consolidate two functions converting index to LSP locations (#117885)
Commit: 61fe67a4017375fd675f75652e857e837f77fa51
https://github.com/llvm/llvm-project/commit/61fe67a4017375fd675f75652e857e837f77fa51
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/XRefs.h
M clang-tools-extra/clangd/benchmarks/IndexBenchmark.cpp
M clang-tools-extra/clangd/index/Background.cpp
M clang-tools-extra/clangd/index/Background.h
M clang-tools-extra/clangd/index/FileIndex.cpp
M clang-tools-extra/clangd/index/FileIndex.h
M clang-tools-extra/clangd/index/Index.cpp
M clang-tools-extra/clangd/index/Index.h
M clang-tools-extra/clangd/index/MemIndex.cpp
M clang-tools-extra/clangd/index/MemIndex.h
M clang-tools-extra/clangd/index/Merge.cpp
M clang-tools-extra/clangd/index/Merge.h
M clang-tools-extra/clangd/index/ProjectAware.cpp
M clang-tools-extra/clangd/index/Ref.h
M clang-tools-extra/clangd/index/Serialization.cpp
M clang-tools-extra/clangd/index/Serialization.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/index/SymbolCollector.h
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/index/dex/Dex.h
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/Index.proto
M clang-tools-extra/clangd/index/remote/Service.proto
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
M clang-tools-extra/clangd/test/type-hierarchy-ext.test
M clang-tools-extra/clangd/test/type-hierarchy.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/DexTests.cpp
M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
M clang-tools-extra/clangd/unittests/IndexTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/TestTU.cpp
M clang-tools-extra/clangd/unittests/TestWorkspace.cpp
Log Message:
-----------
[clangd] support outgoing calls in call hierarchy (#117673)
This reverts commit ce0f11325e0c62c5b81391589e9b93b412a85bc1.
Commit: c7ef0ac9fd28cb55b8c7c91a890b365cc688f9a9
https://github.com/llvm/llvm-project/commit/c7ef0ac9fd28cb55b8c7c91a890b365cc688f9a9
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/index/remote/Index.proto
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
Log Message:
-----------
[clangd] Drop required attributes from ContainedRef protos
Per https://protobuf.dev/programming-guides/dos-donts/#add-required this
is discouraged and we already handle errors when marshalling protos.
This also ensures new message types are consistent with the rest in the
file.
Commit: a2acb2ff8b5307bb6b973820c4ededf1ddc49bb2
https://github.com/llvm/llvm-project/commit/a2acb2ff8b5307bb6b973820c4ededf1ddc49bb2
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
Log Message:
-----------
[mlir][linalg] Fix vectorization of tensor.extract (#118105)
The example below demonstrates a "scalar read followed by a broadcast"
pattern for `tensor.extract`:
```mlir
#map = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
func.func @scalar_broadcast(
%init : tensor<1x1x3xi32>,
%src: tensor<1x3x2x4xi32>,
%idx :index) -> tensor<1x1x3xi32> {
%c0 = arith.constant 0 :index
%res = linalg.generic {
indexing_maps = [#map],
iterator_types = ["parallel", "parallel", "parallel"]}
outs(%init : tensor<1x1x3xi32>) {
^bb0(%out: i32):
%val = tensor.extract %src[%idx, %idx, %idx, %idx] : tensor<1x3x2x4xi32>
linalg.yield %val : i32
} -> tensor<1x1x3xi32>
return %res : tensor<1x1x3xi32>
}
```
The default masking path within the Linalg vectorizer, which assumes an
identity masking map, is not suitable here. Indeed:
* identity != broadcast.
This patch ensures masking is handled in the `vectorizeTensorExtract`
hook, which has the necessary context for proper handling.
Fixes #116197
Commit: 2e51e150e161bd5fb5b8adb8655744a672ced002
https://github.com/llvm/llvm-project/commit/2e51e150e161bd5fb5b8adb8655744a672ced002
Author: Yuanqiang Liu <liuyuanqiang.yqliu at bytedance.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M mlir/include/mlir-c/Pass.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/CAPI/IR/Pass.cpp
M mlir/python/mlir/_mlir_libs/_mlir/passmanager.pyi
M mlir/test/python/pass_manager.py
Log Message:
-----------
[MLIR][Python] enhance python ir printing with pringing flags (#117836)
Close https://github.com/llvm/llvm-project/pull/65854
Commit: 6caf9f82365a4b377c8ed22e737be14170f2ec9f
https://github.com/llvm/llvm-project/commit/6caf9f82365a4b377c8ed22e737be14170f2ec9f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-fabs.ll
M llvm/test/CodeGen/X86/combine-fneg.ll
M llvm/test/CodeGen/X86/fsxor-alignment.ll
Log Message:
-----------
[X86] combineStore - fold scalar float store(fabs/fneg(load())) -> store(and/xor(load(),c)) (#118680)
As noted on #117557 - its not worth performing scalar float fabs/fneg on the fpu if we're not doing any other fp ops.
This is currently limited to store + load pairs - I could try to extend this further if necessary, but we need to be careful that we don't end up in an infinite loop with the DAGCombiner foldBitcastedFPLogic combine.
Fixes #117557
Commit: 15de77db91c199f9431e81d0b85bb6984d1c5296
https://github.com/llvm/llvm-project/commit/15de77db91c199f9431e81d0b85bb6984d1c5296
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
Log Message:
-----------
[lldb] (Prepare to) speed up dwarf indexing (#118657)
Indexing a single DWARF unit is a fairly small task, which means the
overhead of enqueueing a task for each unit is not negligible (mainly
because introduces a lot of synchronization points for queue management,
memory allocation etc.). This is particularly true if the binary was
built with type units, as these are usually very small.
This essentially brings us back to the state before
https://reviews.llvm.org/D78337, but the new implementation is built on
the llvm ThreadPool, and I've added a small improvement -- we now
construct one "index set" per thread instead of one per unit, which
should lower the memory usage (fewer small allocations) and make the
subsequent merge step faster.
On its own this patch doesn't actually change the performance
characteristics because we still have one choke point -- progress
reporting. I'm leaving that for a separate patch, but I've tried that
simply removing the progress reporting gives us about a 30-60% speed
boost.
Commit: 487a070bebdc1252b83e45f8990704b31c6264f1
https://github.com/llvm/llvm-project/commit/487a070bebdc1252b83e45f8990704b31c6264f1
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem-div32.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit tests for sign-extension removal with div32 enabled
Commit: 0772a0bd29afa33520abf1c5a8bae09a718954b2
https://github.com/llvm/llvm-project/commit/0772a0bd29afa33520abf1c5a8bae09a718954b2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
Revert "[memprof] Update YAML traits for writer purposes (#118720)"
This reverts commit 7b8cf147addf7d3fb4630475c40153226f5fdbd0.
Breaks building on macOS
https://lab.llvm.org/buildbot/#/builders/190/builds/10737
https://lab.llvm.org/buildbot/#/builders/23/builds/5491
https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-cmake-RA-incremental/6076/
Commit: 65ced158e912d2ddda75897914802056e78acf74
https://github.com/llvm/llvm-project/commit/65ced158e912d2ddda75897914802056e78acf74
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/docs/ReleaseNotes.rst
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def
Log Message:
-----------
[RISCV] Remove R_RISCV_RVC_LUI Relocation (#118714)
This was removed from the ABI in riscv-non-isa/riscv-elf-psabi-doc#398.
It is not emitted by LLVM, and seems to have been an internal
implementation detail in binutils.
This is a follow-up to 26ec5da744b8 which removed previous binutils
internal relocations when they were removed from the ABI.
The LLD implementation was not tested when it was added in
https://reviews.llvm.org/D39322
Commit: 17dfdd3a86e0759ce67e54ca53f6174769ed7285
https://github.com/llvm/llvm-project/commit/17dfdd3a86e0759ce67e54ca53f6174769ed7285
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
Log Message:
-----------
[clang][bytecode][tests] Specify triple in bitfields tests
This still breaks on 32bit hosts otherwise.
See https://github.com/llvm/llvm-project/pull/116843
Commit: 0cda970ecc8a885acf7298a61370a1368b0ea39b
https://github.com/llvm/llvm-project/commit/0cda970ecc8a885acf7298a61370a1368b0ea39b
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
A flang/include/flang/Common/Fortran-consts.h
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Common/format.h
A flang/include/flang/Common/target-rounding.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Runtime/cpp-type.h
M flang/include/flang/Runtime/type-code.h
M flang/runtime/format.h
M flang/runtime/non-tbp-dio.h
M flang/runtime/type-info.h
M flang/unittests/Evaluate/fp-testing.cpp
M flang/unittests/Evaluate/fp-testing.h
M flang/unittests/Runtime/Complex.cpp
Log Message:
-----------
[Flang][NFC] Split common headers to reduce dependencies. (#110244)
Fortran.h and target.h are defining symbols where some are used by both, the Fortran runtime (Flang-RT) and Fortran compiler (Flang), and others are used by Flang only. With the upcoming refactoring of the Fortran runtime into its own subproject (#110217), move the declarations that are used by both into new headers to minimize the amount of code that will need to be shared by Flang-RT and Flang.
Details:
* `Fortran.h`: Flang-RT only uses some enum definitions out of this file, but not `AsFortran` which is defined in `Fortran.cpp`. Moving the enums into `Fortran-consts.h` allows keeping `Fortran.cpp` within Flang.
* `target.h`: Contains some floating-point definitions that is used by the non-GTest unittests in `fp-testing.h`. Flang-RT also uses some non-GTest as well. Moving those definitions avoids the dependence on the entire FortranEvaluate library.
Commit: 722a5684326207d11bffb85ce422c8831d09c611
https://github.com/llvm/llvm-project/commit/722a5684326207d11bffb85ce422c8831d09c611
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-fabs.ll
M llvm/test/CodeGen/X86/combine-fneg.ll
Log Message:
-----------
[X86] Add test coverage for f16/bf16 fabs/fneg load-store tests
Future extension to #118680
Commit: ed9915ffdf4cfe58b939111d12819d1ef19a075c
https://github.com/llvm/llvm-project/commit/ed9915ffdf4cfe58b939111d12819d1ef19a075c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/test/CodeGen/X86/fp16-libcalls.ll
Log Message:
-----------
[X86] fp16-libcalls.ll - regenerate test checks with vpternlog comments
Commit: dd7a3d4d798e30dfe53b5bbbbcd9a23c24ea1af9
https://github.com/llvm/llvm-project/commit/dd7a3d4d798e30dfe53b5bbbbcd9a23c24ea1af9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-fabs.ll
M llvm/test/CodeGen/X86/combine-fneg.ll
M llvm/test/CodeGen/X86/fp16-libcalls.ll
Log Message:
-----------
[X86] Extend #118680 - support f16/bf16 fabs/fneg load-store patterns
Commit: 3740fac0d4640c05ba960be97d14cbd375a7c733
https://github.com/llvm/llvm-project/commit/3740fac0d4640c05ba960be97d14cbd375a7c733
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/lib/Format/CMakeLists.txt
Log Message:
-----------
Revert "[clang-format] Add cmake target clang-format-style-options for updating ClangFormatStyleOptions.rst (#111513)"
Breaks the build when docs are not enabled.
This reverts commit f7560ee97b7441eb3f5b2d0744aad857fafa5855.
This reverts commit 6bec1806c9cc90f6e72fc04698f4221c86c5f95e.
Commit: 59720dc703f7f207d013b065d0ed7d3af7168bcc
https://github.com/llvm/llvm-project/commit/59720dc703f7f207d013b065d0ed7d3af7168bcc
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-mul.ll
Log Message:
-----------
[InstCombine] Fold `icmp spred (X *nsw Z), (Y *nsw Z) -> icmp pred Z, 0` if `scmp(X, Y)` is known (#118726)
```
icmp spred (X *nsw Z), (Y *nsw Z) -> icmp swap(spred) Z, 0 if X s< Y
icmp spred (X *nsw Z), (Y *nsw Z) -> icmp spred Z, 0 if X s> Y
```
Alive2: https://alive2.llvm.org/ce/z/F2D0GE
Commit: 71bbafba31699bdabe289654d157ae961432e52a
https://github.com/llvm/llvm-project/commit/71bbafba31699bdabe289654d157ae961432e52a
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Writer.cpp
A lld/test/COFF/arm64x-loadconfig.s
Log Message:
-----------
[LLD][COFF] Add basic ARM64X dynamic relocations support (#118035)
This modifies the machine field in the hybrid view to be AMD64, aligning
it with expectations from ARM64EC modules. While this provides initial
support, additional relocations will be necessary for full
functionality. Many of these cases depend on implementing separate
namespace support first.
Move clearing of the .reloc section from addBaserels to assignAddresses
to ensure it is always cleared, regardless of the relocatable
configuration. This change also clarifies the reasoning for adding the
dynamic relocations chunk in that location.
Commit: b6217f67a422d2c0e24bcfa80cf663b610a0cfc4
https://github.com/llvm/llvm-project/commit/b6217f67a422d2c0e24bcfa80cf663b610a0cfc4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Fix bitcasting from null pointers (#116999)
Commit: db9057edca0fe14987fb892f52bc51441316892c
https://github.com/llvm/llvm-project/commit/db9057edca0fe14987fb892f52bc51441316892c
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
Log Message:
-----------
[Sched] Skip MemOp with unknown size when clustering (#118443)
In #83875, we changed the type of `Width` to `LocationSize`. To get
the clsuter bytes, we use `LocationSize::getValue()` to calculate
the value.
But when `Width` is an unknown size `LocationSize`, an assertion
"Getting value from an unknown LocationSize!" will be triggered.
This patch simply skips MemOp with unknown size to fix this issue
and keep the logic the same as before.
This issue was found when implementing software pipeliner for
RISC-V in #117546. The pipeliner may clone some memory operations
with `BeforeOrAfterPointer` size.
Commit: 44433147d62ef0b918c8925874a407ecec15193f
https://github.com/llvm/llvm-project/commit/44433147d62ef0b918c8925874a407ecec15193f
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/index/MemIndex.h
M clang-tools-extra/clangd/index/dex/Dex.h
Log Message:
-----------
[NFC] Fix uninitialized scalar field in constructor. (#118324)
Non-static class field is not initialized in constructor.
Commit: da6099c9adadffb58e0edca253b1f29db77627f6
https://github.com/llvm/llvm-project/commit/da6099c9adadffb58e0edca253b1f29db77627f6
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M flang/test/Semantics/test_symbols.py
Log Message:
-----------
[flang][test] Recognize !$acc and !$omp spelled with capital letters (#118666)
If there are any continuation lines in the source, they will be printed
by the unparser with capital letters (at least in case of OpenMP). To
avoid having them stripped out, recognize their spellings using capital
letters as well.
---------
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: ffb1c21bd4697ab5a6f11e2f2eba4fefaa298f2a
https://github.com/llvm/llvm-project/commit/ffb1c21bd4697ab5a6f11e2f2eba4fefaa298f2a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/transpose-opts-lifting-constant-folds.ll
Log Message:
-----------
[Matrix] Fix crash in liftTranspose when instructions are folded.
Builder.Create(F)Add may constant fold the inputs, return a constant
instead of an instruction. Account for that instead of crashing.
Commit: ff78cd5f3d6ae8e7084f0aff4df4164ff5a38af9
https://github.com/llvm/llvm-project/commit/ff78cd5f3d6ae8e7084f0aff4df4164ff5a38af9
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
A flang/test/Lower/OpenMP/delayed-privatization-default-init.f90
M flang/test/Lower/OpenMP/delayed-privatization-pointer.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
A flang/test/Lower/do_concurrent_local_default_init.f90
Log Message:
-----------
[flang] fix private pointers and default initialized variables (#118494)
Both OpenMP privatization and DO CONCURRENT LOCAL lowering was incorrect
for pointers and derived type with default initialization.
For pointers, the descriptor was not established with the rank/type
code/element size, leading to undefined behavior if any inquiry was made
to it prior to a pointer assignment (and if/when using the runtime for
pointer assignments, the descriptor must have been established).
For derived type with default initialization, the copies were not
default initialized.
Commit: f85be32613a3b7078d4a4618f0995bcab353d050
https://github.com/llvm/llvm-project/commit/f85be32613a3b7078d4a4618f0995bcab353d050
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZOperands.td
Log Message:
-----------
[SystemZ] SIMM32 is a signed constant (#118634)
A follow-up to PR #117181: SIMM32 must use getSignedTargetConstant(),
too.
Commit: 462cb3cd6cecd0511ecaf0e3ebcaba455ece587d
https://github.com/llvm/llvm-project/commit/462cb3cd6cecd0511ecaf0e3ebcaba455ece587d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/test/CodeGen/AArch64/ls64-inline-asm.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
M clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes.c
M clang/test/CodeGen/arm64_32-vaarg.c
M clang/test/CodeGen/attr-counted-by-pr110385.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/math-libcalls-tbaa.c
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
M clang/test/CodeGenCXX/microsoft-abi-typeid.cpp
M clang/test/CodeGenOpenCL/amdgpu-nullptr.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
M clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Analysis/BasicAA/featuretest.ll
M llvm/test/Analysis/ValueTracking/phi-known-bits.ll
M llvm/test/CodeGen/AMDGPU/implicit-arg-v5-opt.ll
M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/coro-retcon-alloca-opaque-ptr.ll
M llvm/test/Transforms/Coroutines/coro-retcon-alloca.ll
M llvm/test/Transforms/Coroutines/coro-retcon-once-value.ll
M llvm/test/Transforms/Coroutines/coro-retcon-resume-values.ll
M llvm/test/Transforms/Coroutines/coro-swifterror.ll
M llvm/test/Transforms/InstCombine/2007-03-25-BadShiftMask.ll
M llvm/test/Transforms/InstCombine/2009-01-08-AlignAlloca.ll
M llvm/test/Transforms/InstCombine/AArch64/dmb-intrinsics.ll
M llvm/test/Transforms/InstCombine/X86/x86-addsub-inseltpoison.ll
M llvm/test/Transforms/InstCombine/X86/x86-addsub.ll
M llvm/test/Transforms/InstCombine/array.ll
M llvm/test/Transforms/InstCombine/assume-align.ll
M llvm/test/Transforms/InstCombine/assume-loop-align.ll
M llvm/test/Transforms/InstCombine/assume-redundant.ll
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/InstCombine/call-cast-target.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/cast_ptr.ll
M llvm/test/Transforms/InstCombine/catchswitch-phi.ll
M llvm/test/Transforms/InstCombine/compare-alloca.ll
M llvm/test/Transforms/InstCombine/compare-unescaped.ll
M llvm/test/Transforms/InstCombine/dependent-ivs.ll
M llvm/test/Transforms/InstCombine/extractvalue.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/fsh.ll
M llvm/test/Transforms/InstCombine/gep-addrspace.ll
M llvm/test/Transforms/InstCombine/gep-canonicalize-constant-indices.ll
M llvm/test/Transforms/InstCombine/gep-combine-loop-invariant.ll
M llvm/test/Transforms/InstCombine/gep-merge-constant-indices.ll
M llvm/test/Transforms/InstCombine/gep-vector-indices.ll
M llvm/test/Transforms/InstCombine/gepphigep.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/icmp-custom-dl.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/inbounds-gep.ll
M llvm/test/Transforms/InstCombine/indexed-gep-compares.ll
M llvm/test/Transforms/InstCombine/intptr1.ll
M llvm/test/Transforms/InstCombine/intptr7.ll
M llvm/test/Transforms/InstCombine/load-bitcast-select.ll
M llvm/test/Transforms/InstCombine/mem-par-metadata-memcpy.ll
M llvm/test/Transforms/InstCombine/memccpy.ll
M llvm/test/Transforms/InstCombine/memcpy_alloca.ll
M llvm/test/Transforms/InstCombine/mempcpy.ll
M llvm/test/Transforms/InstCombine/memset2.ll
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
M llvm/test/Transforms/InstCombine/phi-equal-incoming-pointers.ll
M llvm/test/Transforms/InstCombine/phi-timeout.ll
M llvm/test/Transforms/InstCombine/phi.ll
M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
M llvm/test/Transforms/InstCombine/ptrmask.ll
M llvm/test/Transforms/InstCombine/remove-loop-phi-multiply-by-zero.ll
M llvm/test/Transforms/InstCombine/select-cmp-br.ll
M llvm/test/Transforms/InstCombine/select-gep.ll
M llvm/test/Transforms/InstCombine/sink_sideeffecting_instruction.ll
M llvm/test/Transforms/InstCombine/snprintf-2.ll
M llvm/test/Transforms/InstCombine/snprintf-3.ll
M llvm/test/Transforms/InstCombine/snprintf-4.ll
M llvm/test/Transforms/InstCombine/snprintf.ll
M llvm/test/Transforms/InstCombine/sprintf-1.ll
M llvm/test/Transforms/InstCombine/stpncpy-1.ll
M llvm/test/Transforms/InstCombine/str-int.ll
M llvm/test/Transforms/InstCombine/strlcpy-1.ll
M llvm/test/Transforms/InstCombine/strlen-1.ll
M llvm/test/Transforms/InstCombine/struct-assign-tbaa-2.ll
M llvm/test/Transforms/InstCombine/sub.ll
M llvm/test/Transforms/InstCombine/unpack-fca.ll
M llvm/test/Transforms/InstCombine/vec_gep_scalar_arg-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_gep_scalar_arg.ll
M llvm/test/Transforms/InstCombine/vscale_gep.ll
M llvm/test/Transforms/InstCombine/wcslen-1.ll
M llvm/test/Transforms/InstCombine/wcslen-3.ll
M llvm/test/Transforms/InstCombine/wcslen-5.ll
M llvm/test/Transforms/LoopUnroll/AArch64/runtime-unroll-generic.ll
M llvm/test/Transforms/LoopUnroll/ARM/upperbound.ll
M llvm/test/Transforms/LoopUnroll/WebAssembly/basic-unrolling.ll
M llvm/test/Transforms/LoopUnroll/peel-loop.ll
M llvm/test/Transforms/LoopUnroll/runtime-unroll-remainder.ll
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-no-scalar-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
M llvm/test/Transforms/LoopVectorize/AMDGPU/packed-math.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/extract-last-veclane.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/histograms.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-3.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/loop-scalars.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
M llvm/test/Transforms/LoopVectorize/trunc-reductions.ll
M llvm/test/Transforms/LoopVectorize/vector-geps.ll
M llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM1.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sinking-vs-if-conversion.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/X86/merge-functions2.ll
M llvm/test/Transforms/PhaseOrdering/X86/merge-functions3.ll
M llvm/test/Transforms/PhaseOrdering/X86/pixel-splat.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr50555.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PhaseOrdering/X86/simplifycfg-late.ll
M llvm/test/Transforms/PhaseOrdering/X86/speculation-vs-tbaa.ll
M llvm/test/Transforms/PhaseOrdering/X86/spurious-peeling.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/X86/vec-load-combine.ll
M llvm/test/Transforms/PhaseOrdering/X86/vec-shift.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reduction-known-first-value.ll
M llvm/test/Transforms/PhaseOrdering/basic.ll
M llvm/test/Transforms/PhaseOrdering/bitcast-store-branch.ll
M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion-loads.ll
M llvm/test/Transforms/PhaseOrdering/gvn-replacement-vs-hoist.ll
M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
M llvm/test/Transforms/PhaseOrdering/lto-argpromotion-ipsccp.ll
M llvm/test/Transforms/PhaseOrdering/lto-licm.ll
M llvm/test/Transforms/PhaseOrdering/pr39282.ll
M llvm/test/Transforms/PhaseOrdering/pr98799-inline-simplifycfg-ub.ll
M llvm/test/Transforms/PhaseOrdering/scev-custom-dl.ll
M llvm/test/Transforms/PhaseOrdering/simplifycfg-options.ll
M llvm/test/Transforms/PhaseOrdering/single-iteration-loop-sroa.ll
M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll
M llvm/test/Transforms/RewriteStatepointsForGC/intrinsics.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr2.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
M llvm/test/Transforms/SLPVectorizer/WebAssembly/no-vectorize-rotate.ll
M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/opt.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-instcombine.ll
M llvm/test/Transforms/SimpleLoopUnswitch/AMDGPU/uniform-unswitch.ll
M llvm/test/Transforms/SimplifyCFG/Hexagon/switch-to-lookup-table.ll
Log Message:
-----------
[InstCombine] Infer nusw + nneg -> nuw for getelementptr (#111144)
If the gep is nusw (usually via inbounds) and the offset is
non-negative, we can infer nuw.
Proof: https://alive2.llvm.org/ce/z/ihztLy
Commit: 8e6634444876a59c1352a4d62704e93b23b7c5ae
https://github.com/llvm/llvm-project/commit/8e6634444876a59c1352a4d62704e93b23b7c5ae
Author: Tyler Nowicki <tyler.nowicki at amd.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/include/llvm/Support/Debug.h
M llvm/unittests/Support/DebugTest.cpp
Log Message:
-----------
[Support] Use macro var args to allow templates within DEBUG_WITH_TYPE (#117614)
Use variadic args with DEBUG_WITH_TYPE("name", ...) macros to resolve a
compilation failure that occurs when using a comma within the last macro
argument. Commas come up when instantiating templates such as
SmallMapVector that require multiple template args.
Commit: 1f932825f9c1a63e1badaae2dbd5305485dfc010
https://github.com/llvm/llvm-project/commit/1f932825f9c1a63e1badaae2dbd5305485dfc010
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
Log Message:
-----------
[MLIR][EmitC] arith-to-emitc: Fix lowering of fptoui (#118504)
`arith.fptoui %arg0 : f32 to i16` was lowered to
```
%0 = emitc.cast %arg0 : f32 to ui32
emitc.cast %0 : ui32 to i16
```
and is now lowered to
```
%0 = emitc.cast %arg0 : f32 to ui16
emitc.cast %0 : ui16 to i16
```
Commit: bb03a184705953c55f141f9731275c421bdc7769
https://github.com/llvm/llvm-project/commit/bb03a184705953c55f141f9731275c421bdc7769
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/test/Transforms/SCCP/pr45185-range-predinfo.ll
Log Message:
-----------
[SCCP] Regenerate test checks (NFC)
The checks generated by old UTC version fail on this test due to
missing signature matching, so regenerate it with a newer one.
Commit: f9f7c42ca68f0721fffddde67de14732c2007b39
https://github.com/llvm/llvm-project/commit/f9f7c42ca68f0721fffddde67de14732c2007b39
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULateCodeGenPrepare.cpp
Log Message:
-----------
[AMDGPU] Refine AMDGPULateCodeGenPrepare class. NFC. (#118792)
Use references instead of pointers for most state and initialize it all
in the constructor, and similarly for the LiveRegOptimizer class.
Commit: 6b5c67bd166f1cb5d92d01136474b023b576e19a
https://github.com/llvm/llvm-project/commit/6b5c67bd166f1cb5d92d01136474b023b576e19a
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/pr118695.ll
Log Message:
-----------
[PowerPC][Backend] using signed extend value instead of zero extend value for isIntS34Immediate() (#118703)
The patch fix the issue
https://github.com/llvm/llvm-project/issues/118695
Commit: f1d81dbd0573502134270495aa43e3ffb3193ab0
https://github.com/llvm/llvm-project/commit/f1d81dbd0573502134270495aa43e3ffb3193ab0
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/prune-non-affecting-module-map-repeated-textual.cpp
Log Message:
-----------
[ASTWriter] Do not allocate source location space for module maps used only for textual headers (#116374)
This is a follow up to #112015 and it reduces the unnecessary
duplication of source locations further.
We do not need to allocate source location space in the serialized PCMs
for module maps used only to find textual headers. Those module maps are
never referenced from anywhere in the serialized ASTs and are re-read in
other compilations.
This change should not affect correctness of Clang compilations or
clang-scan-deps in any way.
We do need the InputFile entry in the serialized AST because
clang-scan-deps relies on it. The previous patch introduced a mechanism
to do exactly that.
We have found that to finally remove any duplication of module maps we
use internally in our build system.
Commit: d25d0405410dc2e22575009cd9209a2206fbcbfe
https://github.com/llvm/llvm-project/commit/d25d0405410dc2e22575009cd9209a2206fbcbfe
Author: Pravin Jagtap <Pravin.Jagtap at amd.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
Log Message:
-----------
[AMDGPU][NFC] Autogenerate gfx950 hazard tests. (#118794)
Commit: f7685af4a5bd188e6d548967d818d8569f10a70d
https://github.com/llvm/llvm-project/commit/f7685af4a5bd188e6d548967d818d8569f10a70d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Analysis/ValueTracking/phi-known-bits.ll
M llvm/test/Transforms/InstCombine/gepphigep.ll
M llvm/test/Transforms/InstCombine/indexed-gep-compares.ll
M llvm/test/Transforms/InstCombine/intptr1.ll
M llvm/test/Transforms/InstCombine/intptr2.ll
M llvm/test/Transforms/InstCombine/intptr3.ll
M llvm/test/Transforms/InstCombine/intptr4.ll
M llvm/test/Transforms/InstCombine/intptr5.ll
M llvm/test/Transforms/InstCombine/known-phi-recurse.ll
M llvm/test/Transforms/InstCombine/phi-equal-incoming-pointers.ll
M llvm/test/Transforms/InstCombine/phi.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
M llvm/test/Transforms/LoopUnroll/peel-loop.ll
M llvm/test/Transforms/LoopUnroll/unroll-cleanup.ll
M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sinking-vs-if-conversion.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr38280.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
M llvm/test/Transforms/PhaseOrdering/scev-custom-dl.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-reduce.ll
Log Message:
-----------
[InstCombine] Move gep of phi fold into separate function
This makes sure that an early return during this fold doesn't end
up skipping later gep folds.
Commit: 707e08917d66f858adc252ed151a0749e457e5db
https://github.com/llvm/llvm-project/commit/707e08917d66f858adc252ed151a0749e457e5db
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
Log Message:
-----------
[LoopVectorize] Restore cost check lines in test (NFC)
Accidentally dropped these while updating the test.
Commit: 3a4b9f38915625c68c78b62de48a3de8b97c5043
https://github.com/llvm/llvm-project/commit/3a4b9f38915625c68c78b62de48a3de8b97c5043
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
A clang/test/SemaOpenACC/combined-construct-gang-ast.cpp
A clang/test/SemaOpenACC/combined-construct-gang-clause.cpp
M clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
Log Message:
-----------
[OpenACC] Implement 'gang' clause for Combined Constructs
This one is a bit complicated, as it has some interesting interactions,
as 'gang' Sema is required to look at its containing compute construct.
Except in the case of a combined construct, they are the same. This
resulted in a large refactor of the checking code for CheckGangExpr,
plus some additional work on the diagnostics for its interaction with
'num_gangs' and 'vector'/'worker'.
Commit: f7e8be7c66b53a126c8cba9ac81b5b77d873aa1e
https://github.com/llvm/llvm-project/commit/f7e8be7c66b53a126c8cba9ac81b5b77d873aa1e
Author: Samira Bazuzi <bazuzi at google.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/lib/Lex/Lexer.cpp
M clang/unittests/Lex/LexerTest.cpp
Log Message:
-----------
Skip escaped newlines before checking for whitespace in Lexer::getRawToken. (#117548)
The Lexer used in getRawToken is not told to keep whitespace, so when it
skips over escaped newlines, it also ignores whitespace, regardless of
getRawToken's IgnoreWhiteSpace parameter.
Instead of letting this case fall through to lexing, check
for whitespace after skipping over any escaped newlines.
Commit: 59a9e4d8a450529d02e7f08e21c40f8c547b2ebd
https://github.com/llvm/llvm-project/commit/59a9e4d8a450529d02e7f08e21c40f8c547b2ebd
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/intrinsic-vector-match.ll
Log Message:
-----------
[RISCV] Update matchSplatAsGather to convert vectors if they have different sizes (#117878)
This patch updates the matchSplatAsGather function so we can handle vectors of different sizes. The goal is to improve the code gen for @llvm.experimental.vector.match on RISCV.
Currently, we use a scalar extract and splat instead of vrgather, and the patch changes that.
Commit: 3bd3fa64283ea4bb2a893ed5a8d4d0438e761aba
https://github.com/llvm/llvm-project/commit/3bd3fa64283ea4bb2a893ed5a8d4d0438e761aba
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZOperands.td
Log Message:
-----------
[NFC][SystemZ] Use SExt for signed constants (#118803)
Use SExt instead of ZExt in XForms which produce a signed value. This is
only to make it clear that the XForm handles a signed value.
Commit: d09632ba819d21b12cdf0ec107209c0c5cbf100d
https://github.com/llvm/llvm-project/commit/d09632ba819d21b12cdf0ec107209c0c5cbf100d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Log Message:
-----------
[InstCombine] Remove nusw handling in ptrtoint of gep fold (NFCI) (#118804)
Now that #111144 infers gep nuw, we no longer have to repeat the
inference in this fold.
Commit: 2bd3174226958a5a646ea4bc69a6afa21f1e6262
https://github.com/llvm/llvm-project/commit/2bd3174226958a5a646ea4bc69a6afa21f1e6262
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
A llvm/test/Transforms/SCCP/gep-nuw.ll
Log Message:
-----------
[SCCP] Add tests for gep nuw inference (NFC)
Commit: f59b600c21add076d6a876f29f94990b24b8e321
https://github.com/llvm/llvm-project/commit/f59b600c21add076d6a876f29f94990b24b8e321
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.h
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ParsedAST.h
M clang-tools-extra/clangd/TUScheduler.cpp
M clang-tools-extra/clangd/TUScheduler.h
M clang-tools-extra/clangd/support/DirectiveTree.cpp
M clang-tools-extra/modularize/ModuleAssistant.cpp
Log Message:
-----------
[NFC] Complete proper copying and resource cleanup in classes. (#118655)
Provide, where missing, a copy constructor, a copy assignment operator
or a destructor to prevent potential issues that can arise.
Commit: d457100a8152cc2ebf8cd219caae92cc0f591156
https://github.com/llvm/llvm-project/commit/d457100a8152cc2ebf8cd219caae92cc0f591156
Author: Chris White <chriswhiteiodev at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/warn-unused-private-field.cpp
Log Message:
-----------
[Clang] Fix -Wunused-private-field false negative with defaulted comparison operators (#116871)
Fix -Wunused-private-field incorrectly suppressing warnings for friend
defaulted comparison operators. The warning should only be suppressed
when the defaulted comparison is a class member function.
Fixes #116270
Commit: 97fd435eea1040c818c3f2330a3399180396bf0a
https://github.com/llvm/llvm-project/commit/97fd435eea1040c818c3f2330a3399180396bf0a
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[rtsan] intercept accept4 syscall. (#117278)
Commit: 34a076c46fafe6bd5fee48426195d3d9e66b8482
https://github.com/llvm/llvm-project/commit/34a076c46fafe6bd5fee48426195d3d9e66b8482
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV][NFC] Don't set UnrollAndJamInnerLoopThreshold in getUnrollingPreferences (#118572)
This has no effect since its the default value used in
llvm::gatherUnrollingPreferences.
Commit: 8a90b5b31776957cb9cfa4f9547d19544640c5cc
https://github.com/llvm/llvm-project/commit/8a90b5b31776957cb9cfa4f9547d19544640c5cc
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M flang/test/Semantics/test_symbols.py
Log Message:
-----------
[flang][test] Change re.I to flags=re.I in re.sub
Follow-up to da6099c9ad. As a positional argument, the `re.I` was in
place of `count`, not `flags`.
Commit: 27eaa8a40ef338bea611f693fa8e810b1fc8d78d
https://github.com/llvm/llvm-project/commit/27eaa8a40ef338bea611f693fa8e810b1fc8d78d
Author: Maurice Heumann <MauriceHeumann at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
A llvm/test/Transforms/InstCombine/shl-twice-constant.ll
Log Message:
-----------
[InstCombine] Prevent infinite loop with two shifts (#118806)
The following pattern: `(C2 << X) << C1` will usually be transformed
into `(C2 << C1) << X`, essentially swapping `X` and `C1`.
However, this should only be done when `C1` is an immediate constant,
otherwise thiscan lead to both constants being swapped forever.
This fixes #118798.
Commit: e7412a5035062356f111e159cc2ed42893db2573
https://github.com/llvm/llvm-project/commit/e7412a5035062356f111e159cc2ed42893db2573
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/usubsat.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] uaddsat/usubsat sdag for true16 format (#118708)
uaddsat and usubsat SDAG codeGen pattern for True16 format witth
V_ADD/SUB_NC_U16
Commit: fdb90cef75cad0f46f06f1316eaf39358773b468
https://github.com/llvm/llvm-project/commit/fdb90cef75cad0f46f06f1316eaf39358773b468
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M libc/docs/ctype.rst
M libc/docs/fenv.rst
M libc/docs/setjmp.rst
M libc/docs/signal.rst
M libc/docs/stdbit.rst
M libc/docs/threads.rst
M libc/utils/docgen/docgen.py
M libc/utils/docgen/signal.json
Log Message:
-----------
[libc][docgen] update to POSIX.1-2024 (#118717)
The recently ratified POSIX.1-2024 is newer than POSIX.1-2017.
Commit: bda02096d3b3c19e69b9f70ca8ff161d8173fec0
https://github.com/llvm/llvm-project/commit/bda02096d3b3c19e69b9f70ca8ff161d8173fec0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[ProfileData] Add InstrProfWriter::writeBinaryIds (NFC) (#118754)
The patch makes InstrProfWriter::writeImpl less monolithic by adding
InstrProfWriter::writeBinaryIds to serialize binary IDs. This way,
InstrProfWriter::writeImpl can simply call the new function instead of
handling all the details within writeImpl.
Commit: b6c0f1bfa79a3a32d841ac5ab1f94c3aee3b5d90
https://github.com/llvm/llvm-project/commit/b6c0f1bfa79a3a32d841ac5ab1f94c3aee3b5d90
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/inline-asm-v-constraint.ll
M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/expandload.ll
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-mask-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/inline-asm.ll
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/llrint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/pr88576.ll
M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-args-by-mem.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vcpop.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-reassociations.ll
M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfirst.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vlsegff-rv32-dead.ll
M llvm/test/CodeGen/RISCV/rvv/vlsegff-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vlsegff-rv64-dead.ll
M llvm/test/CodeGen/RISCV/rvv/vlsegff-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmsbf.ll
M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsif.ll
M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
M llvm/test/CodeGen/RISCV/rvv/vmsof.ll
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.ll
M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
M llvm/test/CodeGen/RISCV/rvv/vp-select.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-mask-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-bf16.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-int.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-O0.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vsext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vzext-vp.ll
Log Message:
-----------
[RISCV] Clear vill for whole vector register moves in vsetvli insertion (#118283)
This is an alternative to #117866 that works by demanding a valid vtype
instead of using a separate pass.
The main advantage of this is that it allows coalesceVSETVLIs to just
reuse an existing vsetvli later in the block.
To do this we need to first transfer the vsetvli info to some arbitrary
valid state in transferBefore when we encounter a vector copy. Then we
add a new vill demanded field that will happily accept any other known
vtype, which allows us to coalesce these where possible.
Note we also need to check for vector copies in computeVLVTYPEChanges,
otherwise the pass will completely skip over functions that only have
vector copies and nothing else.
This is one part of a fix for #114518. We still need to check if there's
other cases where vector copies/whole register moves that are inserted
after vsetvli insertion.
Commit: 83ccaad4735d029295c5cad0f28786341c1348b7
https://github.com/llvm/llvm-project/commit/83ccaad4735d029295c5cad0f28786341c1348b7
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/runtime/CUDA/allocator.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
Log Message:
-----------
[flang][cuda] Use async id for device stream allocation (#118733)
When stream is specified use cudaMallocAsync with the specified stream
Commit: 245f26a3d3048ea85f625849adf8a016fc9524ca
https://github.com/llvm/llvm-project/commit/245f26a3d3048ea85f625849adf8a016fc9524ca
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-05 (Thu, 05 Dec 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/hdrgen/yaml/sys/mman.yaml
M libc/include/sys/syscall.h.def
M libc/src/sys/mman/CMakeLists.txt
M libc/src/sys/mman/linux/CMakeLists.txt
R libc/src/sys/mman/linux/process_mrelease.cpp
R libc/src/sys/mman/process_mrelease.h
M libc/test/src/sys/mman/linux/CMakeLists.txt
R libc/test/src/sys/mman/linux/process_mrelease_test.cpp
Log Message:
-----------
[libc] revert all process_mrelease changes (#118650)
Revert as its test is unstable.
https://github.com/llvm/llvm-project/issues/118057
Commit: 0964328c2960159f66ad232bb2257fbabab3c0ec
https://github.com/llvm/llvm-project/commit/0964328c2960159f66ad232bb2257fbabab3c0ec
Author: John Harrison <harjohn at google.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M lldb/unittests/Host/SocketTest.cpp
M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
M lldb/unittests/TestingSupport/Host/SocketTestUtilities.h
Log Message:
-----------
[lldb] Fix the SocketTest failure on unsupported hosts (#118673)
The test `SocketTest::TCPListen0MultiListenerGetListeningConnectionURI`
is failing on hosts that do not map `localhost` to both an ipv4 and ipv6
address. For example this build
https://lab.llvm.org/buildbot/#/builders/195/builds/1909.
To fix this, I added a helper to validate if the host has an /etc/hosts
entry for both ipv4 and ipv6, otherwise we skip the test.
Commit: b8c4fb00e6ab424e22b275ad73186e2971eacd88
https://github.com/llvm/llvm-project/commit/b8c4fb00e6ab424e22b275ad73186e2971eacd88
Author: Pravin Jagtap <Pravin.Jagtap at amd.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/hazards-gfx950.mir
Log Message:
-----------
[AMDGPU] Add hazard tests for cvt scale of fp4. (#118813)
Commit: 3f0cc068cef26e820b3acbd21b3577817e4bf4ca
https://github.com/llvm/llvm-project/commit/3f0cc068cef26e820b3acbd21b3577817e4bf4ca
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/test/HLFIR/minloc-elemental.fir
A flang/test/HLFIR/opt-bufferization-non-realloc-assignment.fir
M flang/test/Integration/OpenMP/workshare-axpy.f90
Log Message:
-----------
[flang] Assume matching shapes in elemental assignment with non-realloc lhs. (#118552)
The optimized bufferization pass cannot optimize very simple cases of
elemental
assignments, because of the suboptimal checks order. This patch relies
on the fact that in a legal program the lhs and rhs of an assignment
have matching shapes, when lhs is not an allocatable and rhs is a result
of an elemental array operation.
Commit: cc46d0bee967989c12a0040bb3cab1319ae50e79
https://github.com/llvm/llvm-project/commit/cc46d0bee967989c12a0040bb3cab1319ae50e79
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
A flang/test/HLFIR/simplify-hlfir-intrinsics-sum.fir
Log Message:
-----------
[flang] Expand SUM(DIM=CONSTANT) into an hlfir.elemental. (#118556)
An array SUM with the specified constant DIM argument
may be expanded into hlfir.elemental with a reduction loop
inside it processing all elements of the specified dimension.
The expansion allows further optimization of the cases like
`A=SUM(B+1,DIM=1)` in the optimized bufferization pass
(given that it can prove there are no read/write conflicts).
Commit: 3da843bae179374e74e2601a8549e473b0080dc6
https://github.com/llvm/llvm-project/commit/3da843bae179374e74e2601a8549e473b0080dc6
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir] Add ValueBoundsOpInterfaceImpl for scf.forall (#118817)
Adds a ValueBoundsOpInterface implementation for scf.forall ops. The
implementation supports bounding for both induction variables, results,
and block args of the forall op. Induction variables are given upper and
lower bounds based on the lower and upper loop bounds, and dimensions of
the results and init block arguments are constrained to be equal to the
matching dims of the shared_outs operand.
Signed-off-by: Max Dawkins <maxdawkins19 at gmail.com>
Co-authored-by: Max Dawkins <maxdawkins19 at gmail.com>
Commit: 409edc64d18837c5d47764888400ed2921a03918
https://github.com/llvm/llvm-project/commit/409edc64d18837c5d47764888400ed2921a03918
Author: wwwatermiao <chenmiao32 at huawei.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ld1_vnum.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_st1_vnum.c
Log Message:
-----------
[AArch64][SME] Fix bug on SMELd1St1 (#118109)
Patch[1] has update intrinsic interface for ld1/st1, while based on
ARM's document, "If the intrinsic also has a vnum argument, the ZA slice
number is calculated by adding vnum to slice.". But the "vnum" did not
work for our realization now, this patch fix this point.
[1]https://github.com/llvm/llvm-project/commit/ee31ba0dd923c3a4628cf3887e137843e43c8b22
Commit: 41c33cbf360462143e13b51b17a9e4ce9c893837
https://github.com/llvm/llvm-project/commit/41c33cbf360462143e13b51b17a9e4ce9c893837
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll
Log Message:
-----------
[RISCV][GISel] Enable support for ArrayType arguments if the element type is also supported.
This allows us to handle small coerced structs that are passed as
[2 x i64]. This is one of the last big reasons for -O0 fallbacks
in some of my testing.
Commit: 24699841448914b5afd45a80d4334e2b4b951f96
https://github.com/llvm/llvm-project/commit/24699841448914b5afd45a80d4334e2b4b951f96
Author: Pravin Jagtap <Pravin.Jagtap at amd.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Log Message:
-----------
[AMDGPU][NFC] Delete duplicate decl and impl defines. (#118843)
Commit: 8ab2730c0a09f16324dd7aa76e9792fe70df35c9
https://github.com/llvm/llvm-project/commit/8ab2730c0a09f16324dd7aa76e9792fe70df35c9
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M .github/workflows/libcxx-restart-preempted-jobs.yaml
Log Message:
-----------
[libc++] Rename test job for restarting preempted jobs
Commit: 6b0785390d02193d81d8db7fb12279ffa4651afe
https://github.com/llvm/llvm-project/commit/6b0785390d02193d81d8db7fb12279ffa4651afe
Author: dklochkov-intel <denis.klochkov at intel.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Preprocessor/sycl-macro.cpp
Log Message:
-----------
[SYCL] Change SYCL version according to standard (#114790)
Version of SYCL was changed according to the latest agreement:
The lower 2 digits are not formally specified, but we plan to use these
to identify the month in which we submit the specification for
ratification, which is similar to the C++ macro __cplusplus.
Since the SYCL 2020 specification was submitted for ratification in
December of 2020, the macro's value is now 202012 for SYCL 2020.
see PR for details
https://github.com/KhronosGroup/SYCL-Docs/pull/634
Commit: 1e5c1a342e87961513da84a55cb7a3c3ba22b354
https://github.com/llvm/llvm-project/commit/1e5c1a342e87961513da84a55cb7a3c3ba22b354
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/test/CodeGen/ignore-overflow-pattern.c
Log Message:
-----------
Make the `CHECK` lines here resistent to `chandlerc` (#118736)
Specifically, usernames containing `handle`, such as `chandlerc`, often
end up in paths, including the path of this test file which contains the
word `overflow`. Combined, they create a match for `handle.*overflow` in
the filename on my system (but likely not many others), leading this
test to mysteriously fail for unfortunate usernames like mine. =D
No discussion of the amount of time I spent debugging this please. =[
Commit: abb6919a63c7ef017bb4f9c86057adcdb8129964
https://github.com/llvm/llvm-project/commit/abb6919a63c7ef017bb4f9c86057adcdb8129964
Author: Alex Langford <alangford at apple.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M lldb/test/API/functionalities/vtable/TestVTableValue.py
Log Message:
-----------
[lldb] Add additional assertions to TestVTableValue.test_overwrite_vtable (#118719)
If this test fails, you're likely going to see something like "Assertion
Error: A != B" which doesn't really give much explanation for why this
failed.
Instead of ignoring the error, we should assert that it succeeded. This
will lead to a better error message, for example:
`AssertionError: 'memory write failed for 0x102d7c018' is not success`
Commit: cb6a02abe21fb399e86863dd69e865d0ddaa6838
https://github.com/llvm/llvm-project/commit/cb6a02abe21fb399e86863dd69e865d0ddaa6838
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-gang-ast.cpp
A clang/test/SemaOpenACC/combined-construct-worker-ast.cpp
A clang/test/SemaOpenACC/combined-construct-worker-clause.cpp
Log Message:
-----------
[OpenACC] Implement 'worker' clause for combined constructs
This is very similar to 'gang', except with fewer restrictions, and only an
interaction with 'num_workers', plus disallowing 'gang' and 'worker' in
its associated statement. This patch implements this, the same as how
'gang' implemented it.
Commit: 51a5b77b57ab3061f4a7fbcf858d7304cd9ccdce
https://github.com/llvm/llvm-project/commit/51a5b77b57ab3061f4a7fbcf858d7304cd9ccdce
Author: Rashmi Mudduluru <r_mudduluru at apple.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
A clang/lib/StaticAnalyzer/Checkers/WebKit/MemoryUnsafeCastChecker.cpp
A clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.cpp
A clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.mm
Log Message:
-----------
[Webkit Checkers] Introduce a Webkit checker for memory unsafe casts (#114606)
This PR introduces a new checker
`[alpha.webkit.MemoryUnsafeCastChecker]` that warns all downcasts from a base type to a derived type.
rdar://137766829
Commit: 0adff0af20c7d9bae8bd8bdf402506c10369ead1
https://github.com/llvm/llvm-project/commit/0adff0af20c7d9bae8bd8bdf402506c10369ead1
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M libc/config/windows/entrypoints.txt
M libc/hdr/CMakeLists.txt
M libc/hdr/time_macros.h
M libc/hdr/types/clockid_t.h
A libc/include/llvm-libc-macros/windows/CMakeLists.txt
A libc/include/llvm-libc-macros/windows/time-macros-ext.h
M libc/src/CMakeLists.txt
M libc/src/__support/time/CMakeLists.txt
A libc/src/__support/time/clock_gettime.h
M libc/src/__support/time/linux/CMakeLists.txt
M libc/src/__support/time/linux/clock_conversion.h
M libc/src/__support/time/linux/clock_gettime.cpp
R libc/src/__support/time/linux/clock_gettime.h
A libc/src/__support/time/windows/CMakeLists.txt
A libc/src/__support/time/windows/clock_gettime.cpp
M libc/src/time/CMakeLists.txt
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
R libc/src/time/linux/time.cpp
M libc/src/time/linux/timespec_get.cpp
A libc/src/time/time.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/threads/linux/raw_mutex_test.cpp
M libc/test/src/time/CMakeLists.txt
M libc/test/src/time/time_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][windows] start time API implementation (#117775)
Add a `clock_gettime` emulation layer and use it to implement the `time`
entrypoint.
For windows, the monotonic clock is emulated using `QPC`.
The realtime clock is emulated using `GetSystemTimePreciseAsFileTime`.
Commit: 2c397fae288fc7df2e01b2a1f461f8488936f569
https://github.com/llvm/llvm-project/commit/2c397fae288fc7df2e01b2a1f461f8488936f569
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port 51a5b77b57ab
Commit: 2214e02378185cec51eedb68c028342c8c19740b
https://github.com/llvm/llvm-project/commit/2214e02378185cec51eedb68c028342c8c19740b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV] Fix typos in RISCVVLOptimizer.cpp. NFC
Commit: 91354fb1469620cc92c4bf1a11444b2e7f13d54d
https://github.com/llvm/llvm-project/commit/91354fb1469620cc92c4bf1a11444b2e7f13d54d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExceptionSpec.cpp
A clang/test/SemaCXX/noexcept-destroying-delete.cpp
Log Message:
-----------
[C++20] Destroying delete can cause a type to be noexcept when deleting (#118687)
Given a `noexcept` operator with an operand that calls `delete`, Clang
was not considering whether the selected `operator delete` function was
a destroying delete or not when inspecting whether the deleted object
type has a throwing destructor. Thus, the operator would return `false`
for a type with a potentially throwing destructor even though that
destructor would not be called due to the destroying delete. Clang now
takes the kind of delete operator into consideration.
Fixes #118660
Commit: 66a0a081338d9942997d1620db5c37c9c72ec3f3
https://github.com/llvm/llvm-project/commit/66a0a081338d9942997d1620db5c37c9c72ec3f3
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
Log Message:
-----------
[RISCV] Extract spread(2,4,8) shuffle lowering from interleave(2) (#118822)
This is a prep patch for improving spread(4,8) shuffles. I also think it
improves the readability of the existing code, but the primary
motivation is simply staging work.
Commit: c54616ea481aa8fb48e113f4832b6df8ca8b2a99
https://github.com/llvm/llvm-project/commit/c54616ea481aa8fb48e113f4832b6df8ca8b2a99
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-todo.mlir
R mlir/test/Target/LLVMIR/openmp-wsloop-private.mlir
Log Message:
-----------
Revert "[OpenMP][OMPIRBuilder] Add delayed privatization support for `wsloop` (#118463)" (#118848)
Commit: 8a6f1abe16577b79dd4bdf52082f3c84c5630e86
https://github.com/llvm/llvm-project/commit/8a6f1abe16577b79dd4bdf52082f3c84c5630e86
Author: Mateusz Mikuła <mati865 at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M lld/COFF/Writer.cpp
M lld/test/COFF/dependentflags.test
Log Message:
-----------
[LLD] [COFF] Print a warning when using /dependentloadflag without load config (#117400)
As per request in https://github.com/llvm/llvm-project/pull/113814.
Commit: 0550480fe6a908496255b8f508868a2799a75249
https://github.com/llvm/llvm-project/commit/0550480fe6a908496255b8f508868a2799a75249
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Linux/global-overflow-bfd.cpp
Log Message:
-----------
Disable test broken by #117624 (#118858)
The test fails after #117624
https://lab.llvm.org/buildbot/#/builders/186/builds/4581
Commit: 9fd052a1223c19245664922c68c101a79cb694f0
https://github.com/llvm/llvm-project/commit/9fd052a1223c19245664922c68c101a79cb694f0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M libc/config/windows/entrypoints.txt
M libc/hdr/CMakeLists.txt
M libc/hdr/time_macros.h
M libc/hdr/types/clockid_t.h
R libc/include/llvm-libc-macros/windows/CMakeLists.txt
R libc/include/llvm-libc-macros/windows/time-macros-ext.h
M libc/src/CMakeLists.txt
M libc/src/__support/time/CMakeLists.txt
R libc/src/__support/time/clock_gettime.h
M libc/src/__support/time/linux/CMakeLists.txt
M libc/src/__support/time/linux/clock_conversion.h
M libc/src/__support/time/linux/clock_gettime.cpp
A libc/src/__support/time/linux/clock_gettime.h
R libc/src/__support/time/windows/CMakeLists.txt
R libc/src/__support/time/windows/clock_gettime.cpp
M libc/src/time/CMakeLists.txt
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
A libc/src/time/linux/time.cpp
M libc/src/time/linux/timespec_get.cpp
R libc/src/time/time.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/threads/linux/raw_mutex_test.cpp
M libc/test/src/time/CMakeLists.txt
M libc/test/src/time/time_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Revert "[libc][windows] start time API implementation (#117775)"
This reverts commit 0adff0af20c7d9bae8bd8bdf402506c10369ead1.
Breaks the GPU build
Commit: a821937b6d29f874d2561c6ef073faeed302b1a9
https://github.com/llvm/llvm-project/commit/a821937b6d29f874d2561c6ef073faeed302b1a9
Author: Peng Liu <winner245 at hotmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M libcxx/test/std/containers/sequences/vector.bool/shrink_to_fit.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.capacity/shrink_to_fit.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
A libcxx/test/support/increasing_allocator.h
Log Message:
-----------
[libc++][test] Refactor increasing_allocator (#115671)
The increasing_allocator<T> class, originally introduced to test shrink_to_fit()
for std::vector, std::vector<bool>, and std::basic_string, has duplicated
definitions across several test files. Given the potential utility of this
class for capacity-related tests in various sequence containers, this patch
refactors the definition of increasing_allocator<T> into a single, reusable
location.
Commit: 22774bbea1dfa0aeb51a4e6b4332dfaca9f58b1a
https://github.com/llvm/llvm-project/commit/22774bbea1dfa0aeb51a4e6b4332dfaca9f58b1a
Author: Luke Quinn <quic_lquinn at quicinc.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/double-zfa.ll
A llvm/test/CodeGen/RISCV/GlobalISel/float-zfa.ll
A llvm/test/CodeGen/RISCV/GlobalISel/half-zfa.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
Log Message:
-----------
[RISCV][GISel] Add Zfa FP legalization and full tests for 9 insn (#118723)
ceil, floor, round, roundeven, trunc, rint, nearbyint, maximum, minimum.
Commit: e84f79e925bf49600e24e0d11e20c282037e4a2c
https://github.com/llvm/llvm-project/commit/e84f79e925bf49600e24e0d11e20c282037e4a2c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M libcxx/docs/TestingLibcxx.rst
Log Message:
-----------
[libc++][docs] Use --show-all in the sample command-line to run benchmarks
It's really not useful at all to run benchmarks without --show-all since
you don't get the benchmark output. And since --show-all is the suggested
default way to run benchmarks, it's not necessary anymore to mention it
right below.
Commit: 6018820c48322ee9db4971efa9b048f16521d753
https://github.com/llvm/llvm-project/commit/6018820c48322ee9db4971efa9b048f16521d753
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/i1-icmp.ll
Log Message:
-----------
[NVPTX] Fix lowering of i1 SETCC (#115035)
Add DAG legalization support for expanding i1 SETCC nodes using
appropriate logical operations to simulate integer comparisons. Use
these expansions to handle i1 SETCC in NVPTX.
fixes #58428 and #57405
Commit: 2393ab65edda14cc416068ebee0b512228723877
https://github.com/llvm/llvm-project/commit/2393ab65edda14cc416068ebee0b512228723877
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M libcxx/include/__memory/compressed_pair.h
A libcxx/test/libcxx/containers/associative/reference_comparator_abi.compile.pass.cpp
Log Message:
-----------
[libc++] Fix unintended ABI break in associative containers with reference comparators (#118685)
While reference comparators are a terrible idea and it's not entirely
clear whether they are supported, fixing the unintended ABI break is
straightforward so we should do it as a first step.
Fixes #118559
Commit: 1d3f9f886288d9be08772ed348c382a479cf857f
https://github.com/llvm/llvm-project/commit/1d3f9f886288d9be08772ed348c382a479cf857f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Stop storing EVTs in a function scoped static std::set. (#118715)
EVTs potentially contain a Type * that points into memory owned by an
LLVMContext. Storing them in a function scoped static means they may
outlive the LLVMContext they point to.
This std::set is used to unique single element VT lists containing a
single extended EVT. Single element VT list with a simple EVT are
uniqued by a separate cache indexed by the MVT::SimpleValueType enum. VT
lists with more than one element are uniqued by a FoldingSet owned by
the SelectionDAG object.
This patch moves the single element cache into SelectionDAG so that it
will be destroyed when SelectionDAG is destroyed.
Fixes #88233
Commit: 698d83218565d60580d7c71e0fce89a38134a5c6
https://github.com/llvm/llvm-project/commit/698d83218565d60580d7c71e0fce89a38134a5c6
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/IR/DataLayout.cpp
Log Message:
-----------
DataLayout: Fix latent issues with getMaxIndexSizeInBits (#118740)
Because it was implemented in terms of getMaxIndexSize, it was always
rounding the values up to a multiple of 8. Additionally, it was using
the PointerSpec's BitWidth rather than its IndexBitWidth, which was
self-evidently incorrect.
Since getMaxIndexSize was only used by getMaxIndexSizeInBits, and its
name and function seem niche and somewhat confusing, go ahead and remove
it until a concrete need for it arises.
Commit: 3a7d1b5c1643881704d3f6bdc6b9b3c7e16b09a8
https://github.com/llvm/llvm-project/commit/3a7d1b5c1643881704d3f6bdc6b9b3c7e16b09a8
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M libc/CMakeLists.txt
Log Message:
-----------
[libc] Include CheckCXXCompilerFlag when checking compiler features (#118862)
Includes `CheckCXXCompilerFlag` so when building LLVM libc is built
standalone, it actually works and doesn't complain about
`check_cxx_compiler_flag` not being defined.
Commit: dbd920b290697b06b4fa1f5c1b37a0d6b91e1559
https://github.com/llvm/llvm-project/commit/dbd920b290697b06b4fa1f5c1b37a0d6b91e1559
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
Reapply [memprof] Update YAML traits for writer purposes (#118720)
For Frames, we prefer the inline notation for the brevity.
For PortableMemInfoBlock, we go through all member fields and print
out those that are populated.
This iteration works around the unavailability of
ScalarTraits<uintptr_t> on macOS.
Commit: 6f21401ae969eb3cdf66c7c84b52c90ca71c21bd
https://github.com/llvm/llvm-project/commit/6f21401ae969eb3cdf66c7c84b52c90ca71c21bd
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Linux/global-overflow-bfd.cpp
Log Message:
-----------
Remove fixme about BFD and Android
Follow up to #118858
Commit: cfa582e8aaa791b52110791f5e6504121aaf62bf
https://github.com/llvm/llvm-project/commit/cfa582e8aaa791b52110791f5e6504121aaf62bf
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
A llvm/test/Transforms/InstCombine/printf-addrspace.ll
Log Message:
-----------
SimplifyLibCalls: Use default globals address space when building new global strings. (#118729)
Writing a test for this transitively exposed a number of places in
BuildLibCalls where
we were failing to propagate address spaces properly, which are
additionally fixed.
Commit: a9aff440d9dde3a636a4ccff3d5f7eaf25836c34
https://github.com/llvm/llvm-project/commit/a9aff440d9dde3a636a4ccff3d5f7eaf25836c34
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
R libc/docs/complex.rst
R libc/docs/ctype.rst
R libc/docs/date_and_time.rst
R libc/docs/fenv.rst
A libc/docs/headers/complex.rst
A libc/docs/headers/ctype.rst
A libc/docs/headers/fenv.rst
A libc/docs/headers/index.rst
A libc/docs/headers/math/index.rst
A libc/docs/headers/math/log.rst
A libc/docs/headers/math/stdfix.rst
A libc/docs/headers/search.rst
A libc/docs/headers/setjmp.rst
A libc/docs/headers/signal.rst
A libc/docs/headers/stdbit.rst
A libc/docs/headers/stdio.rst
A libc/docs/headers/strings.rst
A libc/docs/headers/threads.rst
A libc/docs/headers/time.rst
M libc/docs/index.rst
R libc/docs/libc_search.rst
R libc/docs/math/index.rst
R libc/docs/math/log.rst
R libc/docs/math/stdfix.rst
R libc/docs/setjmp.rst
R libc/docs/signal.rst
R libc/docs/stdbit.rst
R libc/docs/stdio.rst
R libc/docs/strings.rst
R libc/docs/threads.rst
M libc/utils/docgen/docgen.py
Log Message:
-----------
[libc][docs] reorganize documentation (#118836)
This commit does a few things:
* creates libc/docs/headers/ and moves all user API related headers under it.
* updates paths and docgen
* updates the top level index to put these headers under a new "Implementation
Status" tab.
* rename some of the files to be foo.rst for foo.h (except strings, which is
currently a mix of string.h and stdlib.h)
* update the heading of some files to be in the form foo.h.
Commit: 7329086d4ef7e92103309a2c659bbeabdee9e655
https://github.com/llvm/llvm-project/commit/7329086d4ef7e92103309a2c659bbeabdee9e655
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
A libc/docs/headers/assert.rst
A libc/docs/headers/errno.rst
M libc/docs/headers/index.rst
A libc/docs/headers/locale.rst
A libc/utils/docgen/assert.json
A libc/utils/docgen/errno.json
A libc/utils/docgen/locale.json
Log Message:
-----------
[libc][docs] stub out assert, errno, and locale (#118852)
[libc][docs] stub out assert, errno, and locale
These were the remaining c89 library headers (besides string.h and
stdlib.h; I
will split strings.rst in a follow up commit).
The macro support detection in docgen doesn't quite work for some of
these
headers. Add the stubs for these headers for now, and fix up docgen
later.
See the "NIST publication":
Link: https://www.open-std.org/jtc1/sc22/wg14/www/projects.html
Commit: 426aecb7e9370b4f2f42d6c59652794b4bfd2fea
https://github.com/llvm/llvm-project/commit/426aecb7e9370b4f2f42d6c59652794b4bfd2fea
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M libunwind/src/Unwind-sjlj.c
Log Message:
-----------
[libunwind] Fix a typo in debug print (#118856)
Commit: 68e75eebec4cf5fc7eef7d9525b276c4ff5e1b17
https://github.com/llvm/llvm-project/commit/68e75eebec4cf5fc7eef7d9525b276c4ff5e1b17
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/saddo-ssubo.ll
Log Message:
-----------
[PPC] Custom lower ssubo for i64 (#118711)
This is a follow-up patch to improve the codegen for ssubo node for i64
in 64-bit mode by custom lowering.
Commit: 63dfe70b224b562f4e5a4e8367353127684584df
https://github.com/llvm/llvm-project/commit/63dfe70b224b562f4e5a4e8367353127684584df
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] move AST_MATCHER to anonymous namespace in InfiniteLoopCheck (#118820)
Commit: e6cf5d2863b77895ae7183952514bedd9e8dde16
https://github.com/llvm/llvm-project/commit/e6cf5d2863b77895ae7183952514bedd9e8dde16
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M libc/config/windows/entrypoints.txt
M libc/hdr/CMakeLists.txt
M libc/hdr/time_macros.h
M libc/hdr/types/clockid_t.h
A libc/include/llvm-libc-macros/windows/CMakeLists.txt
A libc/include/llvm-libc-macros/windows/time-macros-ext.h
M libc/src/CMakeLists.txt
M libc/src/__support/time/CMakeLists.txt
A libc/src/__support/time/clock_gettime.h
A libc/src/__support/time/gpu/CMakeLists.txt
A libc/src/__support/time/gpu/clock_gettime.cpp
A libc/src/__support/time/gpu/time_utils.cpp
A libc/src/__support/time/gpu/time_utils.h
M libc/src/__support/time/linux/CMakeLists.txt
M libc/src/__support/time/linux/clock_conversion.h
M libc/src/__support/time/linux/clock_gettime.cpp
R libc/src/__support/time/linux/clock_gettime.h
A libc/src/__support/time/windows/CMakeLists.txt
A libc/src/__support/time/windows/clock_gettime.cpp
M libc/src/time/CMakeLists.txt
M libc/src/time/gpu/CMakeLists.txt
M libc/src/time/gpu/clock.cpp
M libc/src/time/gpu/clock_gettime.cpp
M libc/src/time/gpu/nanosleep.cpp
R libc/src/time/gpu/time_utils.cpp
R libc/src/time/gpu/time_utils.h
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
R libc/src/time/linux/time.cpp
M libc/src/time/linux/timespec_get.cpp
A libc/src/time/time.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/threads/linux/raw_mutex_test.cpp
M libc/test/src/time/CMakeLists.txt
M libc/test/src/time/time_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Reapply "[libc][windows] start time API implementation (#117775)" (#118886)
Commit: 2ccf7ed277df28651b94bbee9fccefdf22fb074f
https://github.com/llvm/llvm-project/commit/2ccf7ed277df28651b94bbee9fccefdf22fb074f
Author: Jared Wyles <jared.wyles at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M .gitignore
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/JITLinkLinker.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
M bolt/unittests/Core/MemoryMaps.cpp
M llvm/include/llvm/ExecutionEngine/JITLink/COFF.h
M llvm/include/llvm/ExecutionEngine/JITLink/COFF_x86_64.h
M llvm/include/llvm/ExecutionEngine/JITLink/ELF.h
M llvm/include/llvm/ExecutionEngine/JITLink/ELF_aarch32.h
M llvm/include/llvm/ExecutionEngine/JITLink/ELF_aarch64.h
M llvm/include/llvm/ExecutionEngine/JITLink/ELF_i386.h
M llvm/include/llvm/ExecutionEngine/JITLink/ELF_loongarch.h
M llvm/include/llvm/ExecutionEngine/JITLink/ELF_ppc64.h
M llvm/include/llvm/ExecutionEngine/JITLink/ELF_riscv.h
M llvm/include/llvm/ExecutionEngine/JITLink/ELF_x86_64.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
M llvm/include/llvm/ExecutionEngine/JITLink/MachO.h
M llvm/include/llvm/ExecutionEngine/JITLink/MachO_arm64.h
M llvm/include/llvm/ExecutionEngine/JITLink/MachO_x86_64.h
M llvm/include/llvm/ExecutionEngine/JITLink/TableManager.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
M llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h
M llvm/lib/ExecutionEngine/JITLink/COFF.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
M llvm/lib/ExecutionEngine/JITLink/DefineExternalSectionStartAndEndSymbols.h
M llvm/lib/ExecutionEngine/JITLink/ELF.cpp
M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_i386.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_ppc64.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO.cpp
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/JITLink/PerGraphGOTAndPLTStubsBuilder.h
M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
M llvm/lib/ExecutionEngine/Orc/LazyObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectFileInterface.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/SectCreate.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/EHFrameSupportTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.cpp
M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/MachOLinkGraphTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/MemoryManagerErrorTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/StubsTests.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/MapperJITLinkMemoryManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
Log Message:
-----------
[JITLink] Switch to SymbolStringPtr for Symbol names (#115796)
Use SymbolStringPtr for Symbol names in LinkGraph. This reduces string interning
on the boundary between JITLink and ORC, and allows pointer comparisons (rather
than string comparisons) between Symbol names. This should improve the
performance and readability of code that bridges between JITLink and ORC (e.g.
ObjectLinkingLayer and ObjectLinkingLayer::Plugins).
To enable use of SymbolStringPtr a std::shared_ptr<SymbolStringPool> is added to
LinkGraph and threaded through to its construction sites in LLVM and Bolt. All
LinkGraphs that are to have symbol names compared by pointer equality must point
to the same SymbolStringPool instance, which in ORC sessions should be the pool
attached to the ExecutionSession.
---------
Co-authored-by: Lang Hames <lhames at gmail.com>
Commit: 2dba66b8536506cb2f41a86a01e74819c40c53a4
https://github.com/llvm/llvm-project/commit/2dba66b8536506cb2f41a86a01e74819c40c53a4
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M libc/docs/index.rst
Log Message:
-----------
[libc] document supported os ranges (#118863)
Commit: 794afe0b860a8d695bae34ea2889871ec89ca774
https://github.com/llvm/llvm-project/commit/794afe0b860a8d695bae34ea2889871ec89ca774
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
Log Message:
-----------
[ORC] Remove an unused variable.
Commit: 37b10af6a0c0f39ac102dda4490f447122b550ef
https://github.com/llvm/llvm-project/commit/37b10af6a0c0f39ac102dda4490f447122b550ef
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVGISel.td
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb-zbkb.ll
Log Message:
-----------
[RISCV][GISel] Use correct shift width for GIShiftMask32 ComplexOperandMatcher.
We should use 32 instead of XLen. This allows us to remove
'and X, 31' from the shift amount.
Commit: 1a8960490182540da6860c981d4f433f7583c03c
https://github.com/llvm/llvm-project/commit/1a8960490182540da6860c981d4f433f7583c03c
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopc-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopc.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopc-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopc.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] create true16/fake16 mc tests for more vop3 test file (#118859)
This is a NFC.
Create and duplicate test file for true16/fake16 mc test and update with
+real-true16/-real-true16 flags properly.
This is for preparing more test changes for true16 flows
Commit: 244b207d3c2e5a2a72cd4470829ac39c653c406a
https://github.com/llvm/llvm-project/commit/244b207d3c2e5a2a72cd4470829ac39c653c406a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Add attach & corefile templates (#118894)
Commit: e33b00a218967c684068b33f23d7cb58b995c55d
https://github.com/llvm/llvm-project/commit/e33b00a218967c684068b33f23d7cb58b995c55d
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M lld/test/MachO/bp-section-orderer.s
Log Message:
-----------
[InstrProf][lld] Extend test to confirm order_file takes precedense over BP (#118889)
When both `-order_file` and `--irpgo-profile-sort=` (soon to be
`-bp-startup-sort=function` in
https://github.com/llvm/llvm-project/pull/118594) are used, we want to
confirm that symbols in the orderfile take precedence.
Commit: 6410edcb67e9dcf0b539005ff7425dec493028da
https://github.com/llvm/llvm-project/commit/6410edcb67e9dcf0b539005ff7425dec493028da
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/CMakeLists.txt
Log Message:
-----------
[examples] Add missing dependence on OrcShared.
Hopefully this will fix the linker error in
https://lab.llvm.org/buildbot/#/builders/80/builds/7248.
Commit: e60a939a51252df594a0a9922cd511e5d9c2bd6e
https://github.com/llvm/llvm-project/commit/e60a939a51252df594a0a9922cd511e5d9c2bd6e
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
Log Message:
-----------
[RISCV] Use zext and shift for spread(4,8) when types allow (#118893)
For a spread with an element type small enough, we can use a zext and
shift to perform the shuffle. For e8, this covers spread(2,4,8), and for
e16 covers spread(2,4). Note that spread(2) is already covered by the
existing interleave logic, and is simply listed for completeness in the
prior description.
Commit: a9b399aeef57224cfe699c2804a01363142f1f68
https://github.com/llvm/llvm-project/commit/a9b399aeef57224cfe699c2804a01363142f1f68
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/test/Dialect/GPU/canonicalize.mlir
Log Message:
-----------
[MLIR][GPU] Fix memref.dim folding with out-of-bound index (#118890)
Fixes #118760
Commit: 2b855dd97092e2178ac5c470a804a17ec440d7e5
https://github.com/llvm/llvm-project/commit/2b855dd97092e2178ac5c470a804a17ec440d7e5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVPostRAExpandPseudoInsts.cpp
Log Message:
-----------
[RISCV] Correct the pass name for RISCVPostRAExpandPseudo.
riscv-expand-pseudolisimm32 -> riscv-post-ra-expand-pseudoa
Commit: 9ccde12f5eeb91152900082a2ae839e2a9702b31
https://github.com/llvm/llvm-project/commit/9ccde12f5eeb91152900082a2ae839e2a9702b31
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
Log Message:
-----------
[clang] Compute accurate begin location for CallExpr with explicit object parameter (#117841)
The explicit object parameter is written before the callee expression,
so the begin location should come from the explicit object parameter.
Fixes https://github.com/llvm/llvm-project/issues/116335
Commit: 8201ae2aa662a1bcba80751f3ef162f228f626f7
https://github.com/llvm/llvm-project/commit/8201ae2aa662a1bcba80751f3ef162f228f626f7
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/lib/ExecutionEngine/Orc/Shared/OrcRTBridge.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/OrcRTBootstrap.cpp
Log Message:
-----------
[ORC] Provide default MemoryAccess in SimpleRemoteEPC, add WritePointers impl.
Make EPCGenericMemoryAccess the default implementation for the MemoryAccess
object in SimpleRemoteEPC, and add support for the WritePointers operation to
OrcTargetProcess (previously this operation was unimplemented and would have
triggered an error if accessed in a remote-JIT setup).
No testcase yet: This functionality requires cross-process JITing to test (or a
much more elaborate unit-test setup). It can be tested once the new top-level
ORC runtime project lands.
Commit: eb49788bd935b2335f73fd2a4124c82e683bd9b0
https://github.com/llvm/llvm-project/commit/eb49788bd935b2335f73fd2a4124c82e683bd9b0
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
Log Message:
-----------
[Offload][AMDGPU] Allow COV6 images (#118909)
Commit: d20731ce6bc97e2cc0d6be502ca174c14d563de2
https://github.com/llvm/llvm-project/commit/d20731ce6bc97e2cc0d6be502ca174c14d563de2
Author: abhishek-kaushik22 <abhishek.kaushik at intel.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/X86/X86TileConfig.cpp
Log Message:
-----------
[CGData][GlobalIsel][Legalizer][DAG][MC][AsmParser][X86][AMX] Use `std::move` to avoid copy (#118068)
Commit: 27e458c8cbec27d48ee73623c4b5bbf6bba407cb
https://github.com/llvm/llvm-project/commit/27e458c8cbec27d48ee73623c4b5bbf6bba407cb
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/CUFCommon.h
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFCommon.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-global-addr.mlir
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
Log Message:
-----------
[flang][cuda] Distinguish constant fir.global from globals with a #cuf.cuda<constant> attribute (#118912)
1. In `CufOpConversion` `isDeviceGlobal` was renamed
`isRegisteredGlobal` and moved to the common file. `isRegisteredGlobal`
excludes constant `fir.global` operation from registration. This is to
avoid calls to `_FortranACUFGetDeviceAddress` on globals which do not
have any symbols in the runtime. This was done for
`_FortranACUFRegisterVariable` in #118582, but also needs to be done
here after #118591
2. `CufDeviceGlobal` no longer adds the `#cuf.cuda<constant>` attribute
to the constant global. As discussed in #118582 a module variable with
the #cuf.cuda<constant> attribute is not a compile time constant. Yet,
the compile time constant also needs to be copied into the GPU module.
The candidates for copy to the GPU modules are
- the globals needing regsitrations regardless of their uses in device
code (they can be referred to in host code as well)
- the compile time constant when used in device code
3. The registration of "constant" module device variables (
#cuf.cuda<constant>) can be restored in `CufAddConstructor`
Commit: d88a0c7322a42227e45ebc09b98132490d6a67b5
https://github.com/llvm/llvm-project/commit/d88a0c7322a42227e45ebc09b98132490d6a67b5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Rename Inline to IsInlineFrame in YAML (#118901)
This patch makes the YAML field name match the struct field name.
Commit: b5bd19211118c6d43bc525a4e3fb65d2c750d61e
https://github.com/llvm/llvm-project/commit/b5bd19211118c6d43bc525a4e3fb65d2c750d61e
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/CMakeLists.txt
A clang/lib/Serialization/TemplateArgumentHasher.cpp
A clang/lib/Serialization/TemplateArgumentHasher.h
M clang/test/Modules/odr_hash.cpp
A clang/test/Modules/recursive-instantiations.cppm
M clang/test/OpenMP/target_parallel_ast_print.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/teams_ast_print.cpp
M clang/unittests/Serialization/CMakeLists.txt
A clang/unittests/Serialization/LoadSpecLazilyTest.cpp
Log Message:
-----------
[Serialization] Support load lazy specialization lazily
Currently all the specializations of a template (including
instantiation, specialization and partial specializations) will be
loaded at once if we want to instantiate another instance for the
template, or find instantiation for the template, or just want to
complete the redecl chain.
This means basically we need to load every specializations for the
template once the template declaration got loaded. This is bad since
when we load a specialization, we need to load all of its template
arguments. Then we have to deserialize a lot of unnecessary
declarations.
For example,
```
// M.cppm
export module M;
export template <class T>
class A {};
export class ShouldNotBeLoaded {};
export class Temp {
A<ShouldNotBeLoaded> AS;
};
// use.cpp
import M;
A<int> a;
```
We should a specialization ` A<ShouldNotBeLoaded>` in `M.cppm` and we
instantiate the template `A` in `use.cpp`. Then we will deserialize
`ShouldNotBeLoaded` surprisingly when compiling `use.cpp`. And this
patch tries to avoid that.
Given that the templates are heavily used in C++, this is a pain point
for the performance.
This patch adds MultiOnDiskHashTable for specializations in the
ASTReader. Then we will only deserialize the specializations with the
same template arguments. We made that by using ODRHash for the template
arguments as the key of the hash table.
To review this patch, I think `ASTReaderDecl::AddLazySpecializations`
may be a good entry point.
The patch was reviewed in
https://github.com/llvm/llvm-project/pull/83237 but that PR is a stacked
PR. But I feel the intention of the stacked PRs get lost during the
review process. So I feel it is better to merge the commits into a
single commit instead of merging them in the PR page. It is better for
us to cherry-pick and revert.
Commit: 548678ef84bad940caf1610287d7a0e3bdfdae61
https://github.com/llvm/llvm-project/commit/548678ef84bad940caf1610287d7a0e3bdfdae61
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Serialization/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Serialization/BUILD.gn
Log Message:
-----------
[gn build] Port b5bd19211118
Commit: 5e0844a969a10c1d99ce809c69f17383389c48d1
https://github.com/llvm/llvm-project/commit/5e0844a969a10c1d99ce809c69f17383389c48d1
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[llvm] Pass FFI CMake options through to runtimes (for offload) (#118807)
Pass the FFI-related CMake options through to runtimes, since offload is
building against libffi. This is needed when the system requires custom
`LIBFFI_INCLUDE` to build (e.g. on Gentoo where the headers are
installed to `/usr/lib*/libffi/include`).
Commit: b54ba5361e8e9e16b70ee509cd3f9d2ed539e63b
https://github.com/llvm/llvm-project/commit/b54ba5361e8e9e16b70ee509cd3f9d2ed539e63b
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M offload/DeviceRTL/CMakeLists.txt
Log Message:
-----------
[offload] Add gfx1012 (Navi 14) to AMDGPU models list (#118857)
Fixes #118824
Commit: 74d29c6393df606e98e7c42b9a97f56f335e3ffb
https://github.com/llvm/llvm-project/commit/74d29c6393df606e98e7c42b9a97f56f335e3ffb
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/docs/tools/dump_format_style.py
Log Message:
-----------
[clang-format] Open plurals.txt in read-only mode in dump_format_style.py
Commit: 398f3b368af9bced530e65c02bb38136d7f69caf
https://github.com/llvm/llvm-project/commit/398f3b368af9bced530e65c02bb38136d7f69caf
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
[lldb] Add synthetic formatter for llvm::Expected (#118758)
Adds a synthetic formatter for `llvm::Expected<T>`. The synthetic value
will have a single child, either `value` or `error`.
Commit: f0b09dfd4c84fe8ffbc726da39ee5255e1a22a2f
https://github.com/llvm/llvm-project/commit/f0b09dfd4c84fe8ffbc726da39ee5255e1a22a2f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/lib/Format/CMakeLists.txt
Log Message:
-----------
[clang-format] Add cmake target clang-format-style-options
This new custom target is for running dump_format_style.py to update
ClangFormatStyleOptions.rst if any of its dependencies changes.
Commit: 8d225f10efe55e281b2967367073f3fdfd39cab1
https://github.com/llvm/llvm-project/commit/8d225f10efe55e281b2967367073f3fdfd39cab1
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M lld/COFF/CallGraphSort.cpp
M lld/COFF/CallGraphSort.h
M lld/COFF/Driver.cpp
M lld/COFF/DriverUtils.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/Writer.cpp
Log Message:
-----------
[lld-link] Replace error(...) with Err
Commit: 36c294013cbb4ef46dfd652df1ea0bff5d20462d
https://github.com/llvm/llvm-project/commit/36c294013cbb4ef46dfd652df1ea0bff5d20462d
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M lld/COFF/DebugTypes.cpp
M lld/COFF/Writer.cpp
Log Message:
-----------
[lld-link] Remove unneeded Twine when using COFFSyncStream
Commit: 94fbe7e3ae7c0ce4e9a7d801e7700457a36f731d
https://github.com/llvm/llvm-project/commit/94fbe7e3ae7c0ce4e9a7d801e7700457a36f731d
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Replace TreeEntry::setOperandsInOrder with VLOperands. (#113880)
To reduce repeated code, TreeEntry::setOperandsInOrder will be replaced
by VLOperands.
Arg_size will be provided to make sure other operands will not be
reorderd when VL[0] is IntrinsicInst (because APO is a boolean value).
In addition, BoUpSLP::reorderInputsAccordingToOpcode will also be
removed since it is simple.
Commit: 9a5946cdba91ce9801643711186dbffddda9f111
https://github.com/llvm/llvm-project/commit/9a5946cdba91ce9801643711186dbffddda9f111
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/docs/tools/dump_format_help.py
Log Message:
-----------
[clang-format] Add --directory option to dump_format_help.py
Commit: 8b844de3c9c70f25bb79787158b8dc5b8fc11293
https://github.com/llvm/llvm-project/commit/8b844de3c9c70f25bb79787158b8dc5b8fc11293
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M lld/COFF/DebugTypes.cpp
M lld/COFF/Driver.cpp
M lld/COFF/DriverUtils.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/MapFile.cpp
M lld/COFF/Writer.cpp
Log Message:
-----------
[lld-link] Replace fatal(...) with Fatal
Commit: eeb55d3af63e10c573d4bb1f0fe69a55eafa52cb
https://github.com/llvm/llvm-project/commit/eeb55d3af63e10c573d4bb1f0fe69a55eafa52cb
Author: vporpo <vporpodas at google.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Update MemDGNode chain upon instr creation (#116896)
The DAG maintains a chain of MemDGNodes that links together all the
nodes that may touch memroy.
Whenever a new instruction gets created we need to make sure that this
chain gets updated. If the new instruction touches memory then its
corresponding MemDGNode should be inserted into the chain.
Commit: fb2cbc00e0b27bc25afd8c831151333a41820bc0
https://github.com/llvm/llvm-project/commit/fb2cbc00e0b27bc25afd8c831151333a41820bc0
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format] Reformat Python script git-clang-format with black
Commit: 983f88c1ec9cee51cf0fb4e6a0f00074a7cf1b60
https://github.com/llvm/llvm-project/commit/983f88c1ec9cee51cf0fb4e6a0f00074a7cf1b60
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/DriverUtils.cpp
M lld/COFF/MinGW.cpp
M lld/COFF/MinGW.h
M lld/COFF/PDB.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/Symbols.cpp
M lld/COFF/Symbols.h
Log Message:
-----------
[lld-link] Use COFFSyncStream
Add a operator<< overload for Symbol *.
Commit: c7caab2238399346591271a86ef4cc59fe86a7b4
https://github.com/llvm/llvm-project/commit/c7caab2238399346591271a86ef4cc59fe86a7b4
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/Writer.cpp
Log Message:
-----------
[lld-link] Simplify some << toString
Commit: f7261e9bbe335a512179624e1419a27e5aa9ce75
https://github.com/llvm/llvm-project/commit/f7261e9bbe335a512179624e1419a27e5aa9ce75
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M llvm/tools/dsymutil/dsymutil.cpp
Log Message:
-----------
[dsymutil] Emit a warning instead of an error when using fat64 header (#118898)
Universal Mach-O files can't have an archicture slice that starts beyond
the 4GB boundary. However, we support generating universal binaries with
a fat64 header, but older tools may not understand this format.
Currently, unless -fat64 is passed, dsymutil will error out when it
encounters a slice that would exceeds the 4GB limit. Now that more tools
(like LLDB and CoreSymbolication) understand the fat64 header format,
this patch changes the default behavior to use the fat64 header and
emits a warning instead. The warning can be silenced by passing the
-fat64 flag. The goal is to eventually remove the warning altogether.
rdar://140998416
Commit: 35619c791d1f5128d16c7a8e099e8856e12ab39c
https://github.com/llvm/llvm-project/commit/35619c791d1f5128d16c7a8e099e8856e12ab39c
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[RISCV] Add tune info for mem* expansion (#118439)
So that CPUs can tune these options.
Commit: dca2ed31278c444f839e3e04fde0c21b62451d4a
https://github.com/llvm/llvm-project/commit/dca2ed31278c444f839e3e04fde0c21b62451d4a
Author: WANG Rui <wangrui at loongson.cn>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
Log Message:
-----------
[LoongArch][NFC] Pre-commit tests for sign-extension removal with vectors
Commit: e25c556abeb9ae5f82da42cd26b9dae8462a7197
https://github.com/llvm/llvm-project/commit/e25c556abeb9ae5f82da42cd26b9dae8462a7197
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-05 (Thu, 05 Dec 2024)
Changed paths:
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format][NFC] Reformat git-clang-format with `black -l80`
Commit: da24c02466e4d3201887806e038eb71f45bd08ee
https://github.com/llvm/llvm-project/commit/da24c02466e4d3201887806e038eb71f45bd08ee
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/lib/Interpreter/Interpreter.cpp
Log Message:
-----------
[clang-repl] Remove redundant shared flag while running clang-repl in browser (#118107)
While running clang-repl in the browser, we would be interested in this
cc1 command
`
"" -cc1 -triple wasm32-unknown-emscripten -emit-obj -disable-free
-clear-ast-before-backend -disable-llvm-verifier -discard-value-names
-main-file-name "<<< inputs >>>" -mrelocation-model static
-mframe-pointer=none -ffp-contract=on -fno-rounding-math
-mconstructor-aliases -target-cpu generic -debugger-tuning=gdb
-fdebug-compilation-dir=/ -v -fcoverage-compilation-dir=/ -resource-dir
/lib/clang/19 -internal-isystem /include/wasm32-emscripten/c++/v1
-internal-isystem /include/c++/v1 -internal-isystem
/lib/clang/19/include -internal-isystem /include/wasm32-emscripten
-internal-isystem /include -std=c++17 -fdeprecated-macro -ferror-limit
19 -fvisibility=default -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf
-fcxx-exceptions -fexceptions -fincremental-extensions -o "<<< inputs
>>>.o" -x c++ "<<< inputs >>>"
`
As can be seen `shared` is anyway overwritten by `static` which is also
what would be provided by default. Hence we can get rid of the shared
flag here.
Commit: f7ff3cde96c4b81b032c58cafee7bf77233f5517
https://github.com/llvm/llvm-project/commit/f7ff3cde96c4b81b032c58cafee7bf77233f5517
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp
Log Message:
-----------
[libc++] Fix sub-overflow in std::gcd implementation (#117984)
Fix #117249
Commit: edbebda4542976e7b002393cc41783f53d427b3a
https://github.com/llvm/llvm-project/commit/edbebda4542976e7b002393cc41783f53d427b3a
Author: Jakub Chlanda <jakub at codeplay.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Assert previous SGPR exists when bundling preloaded args (#118802)
This came up from a downstream static analysis tool.
Commit: 487396864975fe03ce67bef934b0a4544921259f
https://github.com/llvm/llvm-project/commit/487396864975fe03ce67bef934b0a4544921259f
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M libc/benchmarks/CMakeLists.txt
R libc/benchmarks/automemcpy/CMakeLists.txt
R libc/benchmarks/automemcpy/README.md
R libc/benchmarks/automemcpy/include/automemcpy/CodeGen.h
R libc/benchmarks/automemcpy/include/automemcpy/FunctionDescriptor.h
R libc/benchmarks/automemcpy/include/automemcpy/RandomFunctionGenerator.h
R libc/benchmarks/automemcpy/include/automemcpy/ResultAnalyzer.h
R libc/benchmarks/automemcpy/lib/CMakeLists.txt
R libc/benchmarks/automemcpy/lib/CodeGen.cpp
R libc/benchmarks/automemcpy/lib/CodeGenMain.cpp
R libc/benchmarks/automemcpy/lib/RandomFunctionGenerator.cpp
R libc/benchmarks/automemcpy/lib/ResultAnalyzer.cpp
R libc/benchmarks/automemcpy/lib/ResultAnalyzerMain.cpp
R libc/benchmarks/automemcpy/unittests/CMakeLists.txt
R libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
R libc/benchmarks/automemcpy/unittests/ResultAnalyzerTest.cpp
M libc/docs/dev/source_tree_layout.rst
Log Message:
-----------
[libc] Remove automemcpy folder (#118781)
The build is currently broken and we don't have the resources to keep it
up to date :-/
Commit: efe4bfa623d40f8221f449c3dd38392101a53599
https://github.com/llvm/llvm-project/commit/efe4bfa623d40f8221f449c3dd38392101a53599
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/lib/AST/CommentLexer.cpp
M clang/lib/AST/CommentParser.cpp
M clang/lib/AST/CommentSema.cpp
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[AST] Include clang/Basic/DiagnosticComment.h instead of clang/AST/CommentDiagnostic.h (#117499)
Since:
commit d076608d58d1ec55016eb747a995511e3a3f72aa
Author: Richard Trieu <rtrieu at google.com>
Date: Sat Dec 8 05:05:03 2018 +0000
clang/AST/CommentDiagnostic.h has been forwarding to
clang/Basic/DiagnosticComment.h. This patch includes
clang/Basic/DiagnosticComment.h instead of
clang/AST/CommentDiagnostic.h.
Commit: f893b475004fdea48288f329124817325e659792
https://github.com/llvm/llvm-project/commit/f893b475004fdea48288f329124817325e659792
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_mve.td
M clang/test/CodeGen/arm-mve-intrinsics/vadc.c
M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
M llvm/test/CodeGen/Thumb2/mve-intrinsics/vadc.ll
M llvm/test/CodeGen/Thumb2/mve-vadc-vsbc-spill.ll
Log Message:
-----------
[ARM] Fix instruction selection for MVE vsbciq intrinsic (#118284)
There were two bugs in the implementation of the MVE vsbciq (subtract
with carry across vector, with initial carry value) intrinsics:
* The VSBCI instruction behaves as if the carry-in is always set, but we
were selecting it when the carry-in is clear.
* The vsbciq intrinsics should generate IR with the carry-in set, but
they were leaving it clear.
These two bugs almost cancelled each other out, but resulted in
incorrect code when the vsbcq intrinsics (with a carry-in) were used,
and the carry-in was a compile time constant.
Commit: 2d8e8dd2b83da113dd94f01c67fb8b3e3ce38cc9
https://github.com/llvm/llvm-project/commit/2d8e8dd2b83da113dd94f01c67fb8b3e3ce38cc9
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/test/Driver/arm-cortex-cpus-2.c
M clang/test/Misc/target-invalid-cpu-note/arm.c
M llvm/include/llvm/TargetParser/ARMTargetParser.def
M llvm/lib/Target/ARM/ARMProcessors.td
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/test/CodeGen/ARM/build-attributes.ll
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[ARM] Add Cortex-A510 CPU for AArch32 (#118811)
This core was originally AArch64-only, but the r1p0 revision added
optional support for AArch32 at EL0.
TRM: https://developer.arm.com/documentation/101604/0103
Commit: 055f1a77f664d73c38ddcbaa74b3131e04881c3d
https://github.com/llvm/llvm-project/commit/055f1a77f664d73c38ddcbaa74b3131e04881c3d
Author: bernhardu <bernhardu at mailbox.org>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
[win/asan] Avoid warnings in interception_win.cpp. (#118143)
warning: format specifies type 'void *' but the argument has type 'uptr'
(aka 'unsigned long long') [-Wformat] (observed at x86_64, in
AllocateTrampolineRegion)
warning: format specifies type 'char *' but the argument has type
'RVAPtr<char>' [-Wformat] (observed at x86_64, in
InternalGetProcAddress)
Commit: b569ec6de6a0c57d6c4b675df7d7e3e28a9f4904
https://github.com/llvm/llvm-project/commit/b569ec6de6a0c57d6c4b675df7d7e3e28a9f4904
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/test/CodeGen/attr-counted-by.c
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/test/Analysis/LazyCallGraph/blockaddress.ll
M llvm/test/Transforms/SCCP/conditions-iter-order.ll
M llvm/test/Transforms/SCCP/gep-nuw.ll
M llvm/test/Transforms/SCCP/ipsccp-ssa-copy-nested-conds.ll
M llvm/test/Transforms/SCCP/pr45185-range-predinfo.ll
M llvm/test/Transforms/SCCP/widening.ll
Log Message:
-----------
[SCCP] Infer nuw for gep nusw with non-negative offsets (#118819)
If the GEP is nusw/inbounds and has all-non-negative offsets infer nuw
as well.
This doesn't have measurable compile-time impact.
Proof: https://alive2.llvm.org/ce/z/ihztLy
Commit: 489db6538e5c90190cfdc50e497b4916af46dfe1
https://github.com/llvm/llvm-project/commit/489db6538e5c90190cfdc50e497b4916af46dfe1
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.h
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll
M llvm/test/CodeGen/SPIRV/opencl/vload2.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-event-null.ll
Log Message:
-----------
[SPIR-V] Emit Alignment decoration for alloca instructions and improve type inference (#118520)
This PR is to fix the following issues:
* the SPIR-V Backend didn't generate Alignment decoration for alloca
instructions,
* we need to use types from demangled function declarations to specify
types for opaque pointers.
Commit: e9fb0ad21dd3593bf641e4fb0aec6d641cb511f3
https://github.com/llvm/llvm-project/commit/e9fb0ad21dd3593bf641e4fb0aec6d641cb511f3
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port 2ccf7ed277df28651b94bbee9fccefdf22fb074f
Commit: 3eed8479a895253307c6d87a38bb5acf314c6505
https://github.com/llvm/llvm-project/commit/3eed8479a895253307c6d87a38bb5acf314c6505
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingMerge.c
Log Message:
-----------
[profile] Fix bounds checks in profile merging (#118782)
These bounds checks work on the result of the pointer addition -- but
the pointer addition already asserts that no overflow may occur, so the
checks are optimized away after #118472. Avoid this by performing the
addition in a way that permits overflow.
Commit: 72aefbb5d06f3b82ded6fa499c3994f5d03aba57
https://github.com/llvm/llvm-project/commit/72aefbb5d06f3b82ded6fa499c3994f5d03aba57
Author: Lily Wang <94091114+LilyWangLL at users.noreply.github.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M lldb/tools/lldb-dap/ProgressEvent.h
Log Message:
-----------
[lldb] Include `<chrono>` for `system_clock` and `now` (#118059)
I am a member of Microsoft vcpkg, due to there are new changes merged by
microsoft/STL#5105, which revealed a conformance issue in `llvm`. It
must add include `<chrono>` to fix this error.
Compiler error with this STL change:
```
D:\b\llvm\src\org-18.1.6-e754cb1d0b.clean\lldb\tools\lldb-dap\ProgressEvent.h(79): error C2039: 'system_clock': is not a member of 'std::chrono'
D:\b\llvm\src\org-18.1.6-e754cb1d0b.clean\lldb\tools\lldb-dap\ProgressEvent.cpp(134): error C3083: 'system_clock': the symbol to the left of a '::' must be a type
D:\b\llvm\src\org-18.1.6-e754cb1d0b.clean\lldb\tools\lldb-dap\ProgressEvent.cpp(134): error C2039: 'now': is not a member of 'std::chrono'
```
Commit: 6f5bffdfc0476d50a4dbcdba6946893ea3b0e2c8
https://github.com/llvm/llvm-project/commit/6f5bffdfc0476d50a4dbcdba6946893ea3b0e2c8
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/test/mlir-tblgen/op-default-builder.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir-tblgen] Relax builder ambiguity check (#118310)
The mlir-tblgen tool prevents the parameter of the build() constructor
for the first default-valued attribute of an operation from having a
default value to avoid ambiguity with the corresponding build()
constructor taking unwrapped value. However it does so even when earlier
wrapped unwrappable attribute would lift the ambiguity. This commit
relax the logic accordingly, which allows to remove a manual constructor
in Arith dialect.
Commit: 3eb7ccec58ae5c7360c6b871952f5f5d7f0a1860
https://github.com/llvm/llvm-project/commit/3eb7ccec58ae5c7360c6b871952f5f5d7f0a1860
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/test/Dialect/Linalg/decompose-tensor-pack.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
Log Message:
-----------
[mlir][linalg] Add tests for tensor.unpack decomposition (#118786)
This commit adds additional tests and documentation for
`DecomposeOuterUnitDimsUnPackOpPattern` to ensure symmetry with its
counterpart for `tensor.pack`, `DecomposeOuterUnitDimsPackOpPattern`.
The new tests aim to improve implementation, documentation, and test
coverage for tensor.unpack. They cover the following scenarios:
* Static tile sizes: A simple `tensor.unpack` case
(`@simple_unpack_static_tiles`).
* Dynamic tile size: `tensor.unpack` with a single dynamic tile size
(`@simple_unpack_dynamic_tile`).
* Transpose: `tensor.unpack` with dynamic tile size and transpose
(`@simple_unpack_dynamic_tile_transpose`), currently commented out due
to some missing logic (see below)
* Scalable tile size: `tensor.unpack` with a scalable inner tile size
(@simple_unpack_scalable_tile).
Notes:
The test `@simple_unpack_dynamic_tile_transpose` is commented out
because the logic for capturing dynamic sizes for `tensor::EmptyOp` when
some tile sizes are dynamic is incomplete. This missing functionality
will be addressed in a follow-up patch.
Commit: 6f190cabe0a0409aecbf000ee78aa786dfc715f7
https://github.com/llvm/llvm-project/commit/6f190cabe0a0409aecbf000ee78aa786dfc715f7
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel] Port e6cf5d2863b77895ae7183952514bedd9e8dde16
Commit: 91d6e10cca4ea8d50927aba024f33c9076785d3a
https://github.com/llvm/llvm-project/commit/91d6e10cca4ea8d50927aba024f33c9076785d3a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/ConstantInitBuilder.cpp
Log Message:
-----------
[CodeGen] Migrate away from PointerUnion::{is,get} (NFC) (#118600)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 2c7ece2e8cf58d607f870ca9f02302df8aaa75d4
https://github.com/llvm/llvm-project/commit/2c7ece2e8cf58d607f870ca9f02302df8aaa75d4
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LiveStacks.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveStacks.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocPBQP.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMarkLastScratchLoad.cpp
M llvm/lib/Target/LoongArch/LoongArchDeadRegisterDefinitions.cpp
M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[CodeGen][NewPM] Port LiveStacks analysis to NPM (#118778)
Commit: 28bba0d717a43ea3f01689625577197889374965
https://github.com/llvm/llvm-project/commit/28bba0d717a43ea3f01689625577197889374965
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/cmake/modules/CheckCompilerVersion.cmake
M llvm/docs/GettingStarted.rst
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
Bump minimum MSVC version by one dot release to VS 2019 16.8 (#118833)
This is a small change, but unblocks using longer string literals in
LLVM's source code, and hopefully isn't disruptive.
Discussed in an RFC here:
https://discourse.llvm.org/t/rfc-raising-minimum-msvc-version-by-one-dot-release/
Commit: 3d7260b44168cfc8d49e84b884ba0f403d23c1b6
https://github.com/llvm/llvm-project/commit/3d7260b44168cfc8d49e84b884ba0f403d23c1b6
Author: Mateusz Mikuła <mati865 at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/test/MinGW/driver.test
Log Message:
-----------
[LLD] [MinGW] Implement --dependent-load-flag option (#113814)
Implement MSVC's `/DEPENDENTLOADFLAG` as `--dependent-load-flag` and
forward it to COFF.
ld.bfd doesn't support it, yet at least, but if they later add support for something similar, hopefully they’d agree to the same option name.
There is no solid need for it yet, but it's being considered:
https://github.com/msys2/MINGW-packages/pull/22216#issuecomment-2428417546
Commit: 49abcd207fe26ea0fc7170e66f1b0b22f1d853d3
https://github.com/llvm/llvm-project/commit/49abcd207fe26ea0fc7170e66f1b0b22f1d853d3
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GCMetadata.cpp
M llvm/lib/CodeGen/LiveDebugVariables.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/LiveStacks.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/Transforms/Utils/LoopSimplify.cpp
Log Message:
-----------
[CodeGen][PM] Initialize analyses with isAnalysis=true (#118779)
Analyses should be marked as analyses.
Otherwise they are prone to get ignored by the legacy analysis cache mechanism and get scheduled redundantly.
Commit: 82c93b6f19bf9db75ac6e4100b9f1b4f2a7df67f
https://github.com/llvm/llvm-project/commit/82c93b6f19bf9db75ac6e4100b9f1b4f2a7df67f
Author: Akshay Deodhar <adeodhar at nvidia.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Analysis/ScalarEvolution/trip-count-phi-increment.ll
Log Message:
-----------
[SCEV] Simplify SCEVExpr for PHI to SCEV for operand if operands are identical (#115945)
Helps SCEV analyze some special phi nodes, allowing the computation of
loop trip count in cases like the following:
https://godbolt.org/z/xGs1d81TW
Commit: 3dbff90b16b5964b9fa468438ff40985be5c1ade
https://github.com/llvm/llvm-project/commit/3dbff90b16b5964b9fa468438ff40985be5c1ade
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] matchPMADDWD/matchPMADDWD_2 - update to use SDPatternMatch matching. NFCI.
Prep work for #118433
Commit: 1126bef609e7afa77105308406d74d4e459ee0a5
https://github.com/llvm/llvm-project/commit/1126bef609e7afa77105308406d74d4e459ee0a5
Author: James Chesterman <James.Chesterman at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
Log Message:
-----------
[AArch64][SVE] Only generate wide adds when SVE2 or StreamingSVE is available (#118838)
Commit: 2a4c74cc8451f0ba34baaee203afb941a498f6b3
https://github.com/llvm/llvm-project/commit/2a4c74cc8451f0ba34baaee203afb941a498f6b3
Author: David Green <david.green at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
A llvm/test/tools/llvm-mca/AArch64/Cortex/X1-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/X2-sve-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Cortex/X3-sve-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Cortex/X4-sve-instructions.s
Log Message:
-----------
[AArch64] Update the scheduling model for Cortex-X1/2/3/4 (#118826)
These Neoverse-V scheduling models more closely match the Cortex-X
series cpus with 4 vector pipelines, even if they do not match exactly.
Commit: 9a24f2198ec02960c9e9afedace96ba6afa9c5b1
https://github.com/llvm/llvm-project/commit/9a24f2198ec02960c9e9afedace96ba6afa9c5b1
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/FunctionComparator.h
M llvm/lib/Transforms/Utils/FunctionComparator.cpp
A llvm/test/Transforms/MergeFunc/initializes-attr.ll
Log Message:
-----------
[MergeFuncs] Handle ConstantRangeList attributes
Support comparison of ConstantRangeList attributes in
FunctionComparator.
Commit: f081ffe70165dc3a585279a74494497a48a65b15
https://github.com/llvm/llvm-project/commit/f081ffe70165dc3a585279a74494497a48a65b15
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Simplify & clarify bypass handling for IV resume values (NFC)
Split off NFC part refactoring from
https://github.com/llvm/llvm-project/pull/110577. This simplifies and
clarifies induction resume value creation for bypass blocks.
Commit: ce4801d373df1c2ddcc602add133066640c7073d
https://github.com/llvm/llvm-project/commit/ce4801d373df1c2ddcc602add133066640c7073d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/test/CodeGen/X86/vpdpwssd.ll
Log Message:
-----------
[X86] vpdpwssd.ll - add test coverage for #118443
Commit: 9d2351ab9aff3741e3f4e10ab7ebabc77a6079d6
https://github.com/llvm/llvm-project/commit/9d2351ab9aff3741e3f4e10ab7ebabc77a6079d6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vpdpwssd.ll
Log Message:
-----------
[X86] matchPMADDWD - add matching for (add (X, (pmaddwd Y, Z)) reassociation patterns.
Allows us to match pmaddwd accumulation patterns, and folding to vpdpwssd instructions on VNNI targets
Fixes #118433
Commit: 76db47335903cb65d3027c0a77658f488d8ce659
https://github.com/llvm/llvm-project/commit/76db47335903cb65d3027c0a77658f488d8ce659
Author: David Green <david.green at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/bf16-instructions.ll
A llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
A llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
Log Message:
-----------
[AArch64] Add bf16 instruction coverage. NFC
These are the same tests as fp16-instructions.ll, fp16-v4-instructions.ll and
fp16-v8-instruction.ll ported to bf16.
Commit: 99dc3967595c472b6edbe789a1346b0350294567
https://github.com/llvm/llvm-project/commit/99dc3967595c472b6edbe789a1346b0350294567
Author: John Brawn <john.brawn at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/fpcast.ll
M llvm/test/Transforms/InstCombine/fptrunc.ll
Log Message:
-----------
[InstCombine] Make fptrunc combine use intersection of fast math flags (#118808)
These combines involve swapping the fptrunc with its operand, and using
the intersection of fast math flags is the safest option as e.g. if we
have (fptrunc (fneg ninf x)) then (fneg ninf (fptrunc x)) will not be
correct as if x is a not within the range of the destination type the
result of (fptrunc x) will be inf.
Commit: 0678e2058364ec10b94560d27ec7138dfa003287
https://github.com/llvm/llvm-project/commit/0678e2058364ec10b94560d27ec7138dfa003287
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
M llvm/test/Transforms/LoopVectorize/X86/pr55096-scalarize-add.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/branch-weights.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-trunc-induction-steps.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
M llvm/test/Transforms/LoopVectorize/pr66616.ll
M llvm/test/Transforms/LoopVectorize/reduction-align.ll
M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
Log Message:
-----------
[VPlan] Update scalar induction resume values in VPlan. (#110577)
Updated ILV.createInductionResumeValues (now createInductionResumeVPValue)
to directly update the VPIRInstructions wrapping the original phis with the
created resume values.
This is the first step towards modeling them completely in VPlan.
Subsequent patches will move creation of the resume values completely
into VPlan.
Depends on https://github.com/llvm/llvm-project/pull/109975.
PR: https://github.com/llvm/llvm-project/pull/110577
Commit: a202a35e79b2885061e744bd551814560c4bef14
https://github.com/llvm/llvm-project/commit/a202a35e79b2885061e744bd551814560c4bef14
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Utils] Remove DebugInfoFinder parameter from CloneBasicBlock (#118620)
Summary:
There was a single usage of CloneBasicBlock with non-default
DebugInfoFinder inside CloneFunctionInto which has been refactored in
more focused.
Test Plan:
ninja check-llvm-unit check-llvm
Commit: 8bc9551d9b01f02a1b720063cee80174c27dac1b
https://github.com/llvm/llvm-project/commit/8bc9551d9b01f02a1b720063cee80174c27dac1b
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/CodeGen/AArch64/aarch64-dup-ext-crash.ll
M llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
A llvm/test/CodeGen/AArch64/sink-mul-exts.ll
M llvm/test/CodeGen/AArch64/sinksplat.ll
Log Message:
-----------
[AArch64] Improve operand sinking for mul instructions (#116604)
- Sink splat operands to mul instructions for types where we can use the
lane-indexed variants.
- When sinking operands for [su]mull, also sink the ext instruction.
Commit: 6bb5d6ae23cace42bd108ca14e17e863c73bbb5c
https://github.com/llvm/llvm-project/commit/6bb5d6ae23cace42bd108ca14e17e863c73bbb5c
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
Log Message:
-----------
[NFC] Use a move instead of a copy to optimize performance. (#118699)
This is an issue detected by a static analysis tool,
Commit: 7c523601188922964964f3b763f908ba035b1038
https://github.com/llvm/llvm-project/commit/7c523601188922964964f3b763f908ba035b1038
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/test/MC/ARM/invalid-barrier.s
Log Message:
-----------
[ARM] Error on invalid tokens in barrier insts (#118849)
These operand parser functions for barrier instructions were returning
ParseStatus::Failure for unexpected token kinds, but not outputting an
error message, so these instructions with invalid operands were being
rejected without an error being printed.
Fixes #67949
Commit: 452efb35df641bac80a901c867ddfdd4de6ad2f4
https://github.com/llvm/llvm-project/commit/452efb35df641bac80a901c867ddfdd4de6ad2f4
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/test/CodeGen/AArch64/memtag-merge-writeback.mir
Log Message:
-----------
[AArch64] Fix LDR/STR folding causing memtag failures (#118821)
When generating code with sanitize_memtag, we make use of the fact that
the sp+imm forms of many load and store instructions are not
tag-checked, so we can use SP directly instead of needing a register
holding the tagged pointer. However, this isn't true for the writeback
versions of the instructions, so we can't fold ADDs and SUBs into them
in AArch64LoadStoreOptimizer. This would be possible in cases where the
loads/stores only access untagged stack slots, but that information
isn't easily available after frame index elimination.
Commit: 89e919fb0df391da42dbfd48cd8de268335fe672
https://github.com/llvm/llvm-project/commit/89e919fb0df391da42dbfd48cd8de268335fe672
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
Fix warnings while compiling SLPVectorizer.cpp (#118051)
Towards #118048
I was building llvm (clang and lld) for webassembly and came across
these warnings. Not sure if they are seen in our builds too.
```
/Users/anutosh491/work/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:6924:67: warning: comparison of integers of different signs: 'typename iterator_traits<user_iterator_impl<User>>::difference_type' (aka 'long') and 'unsigned int' [-Wsign-compare]
6924 | if (std::distance(LI->user_begin(), LI->user_end()) !=
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
6925 | LI->getNumUses())
| ~~~~~~~~~~~~~~~~
[ 79%] Building CXX object lib/Transforms/Instrumentation/CMakeFiles/LLVMInstrumentation.dir/PGOInstrumentation.cpp.o
/Users/anutosh491/work/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:9754:43: warning: comparison of integers of different signs: 'typename iterator_traits<Value *const *>::difference_type' (aka 'long') and 'unsigned int' [-Wsign-compare]
9754 | count(Slice, Slice.front()) ==
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
9755 | (isa<UndefValue>(Slice.front()) ? VF - 1 : 1)) {
```
This PR tries to address those warnings.
Commit: 6307e4b31efee4b5a396da1df2e0939ab9009f11
https://github.com/llvm/llvm-project/commit/6307e4b31efee4b5a396da1df2e0939ab9009f11
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
Revert "[SLP] NFC. Replace TreeEntry::setOperandsInOrder with VLOperands. (#113880)"
This reverts commit 94fbe7e3ae7c0ce4e9a7d801e7700457a36f731d.
Causes a crash when linking mafft in ReleaseLTO-g config.
Commit: 1885886b3f42922ed76812c3b1a1b81f3532bbc9
https://github.com/llvm/llvm-project/commit/1885886b3f42922ed76812c3b1a1b81f3532bbc9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
A llvm/test/CodeGen/X86/pr118934.ll
Log Message:
-----------
[X86] matchIndexRecursively - fix incorrect signed/unsigned constant creation
Fixes #118934
Commit: ae73bc8e94b3174e2b495eee544cf843b6e51899
https://github.com/llvm/llvm-project/commit/ae73bc8e94b3174e2b495eee544cf843b6e51899
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-gep.ll
Log Message:
-----------
Reapply [InstCombine] Support gep nuw in icmp folds (#118472)
The profile runtime test failure this caused has been addressed in:
https://github.com/llvm/llvm-project/pull/118782
-----
Unsigned icmp of gep nuw folds to unsigned icmp of offsets. Unsigned
icmp of gep nusw nuw folds to unsigned samesign icmp of offsets.
Proofs: https://alive2.llvm.org/ce/z/VEwQY8
Commit: 384e69a914558899a35f13349965966de2d635ac
https://github.com/llvm/llvm-project/commit/384e69a914558899a35f13349965966de2d635ac
Author: cmtice <cmtice at google.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__type_traits/detected_or.h
Log Message:
-----------
[libc++] Add _LIBCPP_NODEBUG on internal allocator trait aliases (#118835)
Put _LIBCPP_NODEBUG on the new allocator trait aliases introduced in
https://github.com/llvm/llvm-project/pull/115654. This prevents a large
increase in the gdb_index size that was introduced by that PR.
Commit: 952c5156e65d15e0f8692ec55e2874657150259e
https://github.com/llvm/llvm-project/commit/952c5156e65d15e0f8692ec55e2874657150259e
Author: Jefferson Le Quellec <jefferson.lequellec at codeplay.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/openmp-offload.c
Log Message:
-----------
[Driver][OpenMP] Fix OpenMP target-toolchain-option parser (#115375)
## Description
This PR fixes a segmentation fault that occurs when passing options
requiring arguments via `-Xopenmp-target=<triple>`. The issue was that
the function `Driver::getOffloadArchs` did not properly parse the
extracted option, but instead assumed it was valid, leading to a crash
when incomplete arguments were provided.
## Backtrace
```sh
llvm-project/build/bin/clang++ main.cpp -fopenmp=libomp -fopenmp-targets=powerpc64le-ibm-linux-gnu -Xopenmp-target=powerpc64le-ibm-linux-gnu -o
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: llvm-project/build/bin/clang++ main.cpp -fopenmp=libomp -fopenmp-targets=powerpc64le-ibm-linux-gnu -Xopenmp-target=powerpc64le-ibm-linux-gnu -o
1. Compilation construction
2. Building compilation actions
#0 0x0000562fb21c363b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (llvm-project/build/bin/clang+++0x392f63b)
#1 0x0000562fb21c0e3c SignalHandler(int) Signals.cpp:0:0
#2 0x00007fcbf6c81420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#3 0x0000562fb1fa5d70 llvm::opt::Option::matches(llvm::opt::OptSpecifier) const (llvm-project/build/bin/clang+++0x3711d70)
#4 0x0000562fb2a78e7d clang::driver::Driver::getOffloadArchs(clang::driver::Compilation&, llvm::opt::DerivedArgList const&, clang::driver::Action::OffloadKind, clang::driver::ToolChain const*, bool) const (llvm-project/build/bin/clang+++0x41e4e7d)
#5 0x0000562fb2a7a9aa clang::driver::Driver::BuildOffloadingActions(clang::driver::Compilation&, llvm::opt::DerivedArgList&, std::pair<clang::driver::types::ID, llvm::opt::Arg const*> const&, clang::driver::Action*) const (.part.1164) Driver.cpp:0:0
#6 0x0000562fb2a7c093 clang::driver::Driver::BuildActions(clang::driver::Compilation&, llvm::opt::DerivedArgList&, llvm::SmallVector<std::pair<clang::driver::types::ID, llvm::opt::Arg const*>, 16u> const&, llvm::SmallVector<clang::driver::Action*, 3u>&) const (llvm-project/build/bin/clang+++0x41e8093)
#7 0x0000562fb2a8395d clang::driver::Driver::BuildCompilation(llvm::ArrayRef<char const*>) (llvm-project/build/bin/clang+++0x41ef95d)
#8 0x0000562faf92684c clang_main(int, char**, llvm::ToolContext const&) (llvm-project/build/bin/clang+++0x109284c)
#9 0x0000562faf826cc6 main (llvm-project/build/bin/clang+++0xf92cc6)
#10 0x00007fcbf6699083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#11 0x0000562faf923a5e _start (llvm-project/build/bin/clang+++0x108fa5e)
[1] 2628042 segmentation fault (core dumped) main.cpp -fopenmp=libomp -fopenmp-targets=powerpc64le-ibm-linux-gnu -o
```
Commit: 37797d3e802f9e740b05556cdaa3bb1f6cdef5e0
https://github.com/llvm/llvm-project/commit/37797d3e802f9e740b05556cdaa3bb1f6cdef5e0
Author: Peng Liu <winner245 at hotmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M libcxx/test/std/containers/sequences/vector/common.h
M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
Log Message:
-----------
[libc++][test] Fix and refactor exception tests for std::vector constructors (#117662)
The existing exceptions tests for `vector<T>` have several issues: some
tests did not throw exceptions at all, making them not useful for
exception-safety testing, and some tests did not throw exceptions at the
intended points, failing to serve their expected purpose. This PR fixes
those tests for vector's constructors. Morever, this PR extracted common
classes and utilities into a separate header file, and renamed those
classes using more descriptive names.
Commit: 2f4eac62879f9ccf6fda53e4e083e8eed46a9119
https://github.com/llvm/llvm-project/commit/2f4eac62879f9ccf6fda53e4e083e8eed46a9119
Author: Ties Stuij <ties.stuij at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.h
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/frame-pointer-elim.c
Log Message:
-----------
[clang][ARM] disable frame pointers by default for bare metal ARM targets (#117140)
because:
- This brings Clang in line with GCC for which this is the default for ARM
- It frees up a register, so performance increase, especially on Thumb/6-M
- It will decrease code size
Commit: 92376c3ff5453cb954a614d368fa3d52d6d0fa99
https://github.com/llvm/llvm-project/commit/92376c3ff5453cb954a614d368fa3d52d6d0fa99
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/src/interface.cpp
M offload/src/omptarget.cpp
M offload/test/api/omp_env_vars.c
M offload/test/offloading/info.c
M offload/test/offloading/ompx_bare.c
A offload/test/offloading/ompx_bare_multi_dim.cpp
M offload/test/offloading/small_trip_count.c
M offload/test/offloading/small_trip_count_thread_limit.cpp
Log Message:
-----------
[Offload][OMPX] Add the runtime support for multi-dim grid and block (#118042)
Commit: 1801fb4bd358cd6be0d085f9b74aacbeea951a17
https://github.com/llvm/llvm-project/commit/1801fb4bd358cd6be0d085f9b74aacbeea951a17
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[MLIR] Fixes arith.sub folder crash on dynamically shaped tensors (#118908)
We can't create a constant for a value with dynamic shape.
Fixes #118772
Commit: c91ba04328e1ded6f284469a7828d181324d4e30
https://github.com/llvm/llvm-project/commit/c91ba04328e1ded6f284469a7828d181324d4e30
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M flang/include/flang/Lower/Allocatable.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/MutableBox.h
M flang/include/flang/Optimizer/CodeGen/DescriptorModel.h
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/common.h
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/include/flang/Runtime/CUDA/memory.h
A flang/include/flang/Runtime/allocator-registry-consts.h
M flang/include/flang/Runtime/allocator-registry.h
A flang/include/flang/Runtime/array-constructor-consts.h
M flang/include/flang/Runtime/array-constructor.h
A flang/include/flang/Runtime/descriptor-consts.h
M flang/include/flang/Runtime/descriptor.h
A flang/include/flang/Runtime/io-api-consts.h
M flang/include/flang/Runtime/io-api.h
A flang/include/flang/Runtime/iostat-consts.h
M flang/include/flang/Runtime/iostat.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/ArrayConstructor.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Semantics/compute-offsets.cpp
M flang/runtime/array-constructor.cpp
M flang/runtime/environment-default-list.h
M flang/runtime/internal-unit.cpp
M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
M flang/test/Lower/HLFIR/array-ctor-character.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/unittests/Optimizer/Builder/Runtime/AllocatableTest.cpp
M flang/unittests/Runtime/ArrayConstructor.cpp
M flang/unittests/Runtime/ExternalIOTest.cpp
M flang/unittests/Runtime/ListInputTest.cpp
M flang/unittests/Runtime/LogicalFormatTest.cpp
M flang/unittests/Runtime/Namelist.cpp
M flang/unittests/Runtime/NumericalFormatTest.cpp
M flang/unittests/Runtime/RuntimeCrashTest.cpp
Log Message:
-----------
[Flang][NFC] Split runtime headers in preparation for cross-compilation. (#112188)
Split some headers into headers for public and private declarations in
preparation for #110217. Moving the runtime-private headers in
runtime-private include directory will occur in #110298.
* Do not use `sizeof(Descriptor)` in the compiler. The size of the
descriptor is target-dependent while `sizeof(Descriptor)` is the size of
the Descriptor for the host platform which might be too small when
cross-compiling to a different platform. Another problem is that the
emitted assembly ((cross-)compiling to the same target) is not identical
between Flang's running on different systems. Moving the declaration of
`class Descriptor` out of the included header will also reduce the
amount of #included sources.
* Do not use `sizeof(ArrayConstructorVector)` and
`alignof(ArrayConstructorVector)` in the compiler. Same reason as with
`Descriptor`.
* Compute the descriptor's extra flags without instantiating a
Descriptor. `Fortran::runtime::Descriptor` is defined in the runtime
source, but not the compiler source.
* Move `InquiryKeywordHashDecode` into runtime-private header. The
function is defined in the runtime sources and trying to call it in the
compiler would lead to a link-error.
* Move allocator-kind magic numbers into common header. They are the
only declarations out of `allocator-registry.h` in the compiler as well.
This does not make Flang cross-compile ready yet, the main goal is to
avoid transitive header dependencies from Flang to clang-rt. There are
more assumptions that host platform is the same as the target platform.
Commit: d74214cc8c03159e5d1f1168a09368cf3b23fd5f
https://github.com/llvm/llvm-project/commit/d74214cc8c03159e5d1f1168a09368cf3b23fd5f
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
Log Message:
-----------
[clang][NFC] Change suppression mapping interfaces to use SourceLocation (#118960)
This way we can delay getting a presumed location even further, only
performing it for diagnostics that are mapped.
Commit: 2f9cd43a736008bdecdd920f84c702209ddbd20f
https://github.com/llvm/llvm-project/commit/2f9cd43a736008bdecdd920f84c702209ddbd20f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/BitcastBuffer.cpp
M clang/lib/AST/ByteCode/BitcastBuffer.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Check primitive bit casts for indeterminate bits (#118954)
Record bits ranges of initialized bits and check them in
allInitialized().
Commit: 1bdb0a408f1e2e9f6d5f43b23b4f87f87b3950ab
https://github.com/llvm/llvm-project/commit/1bdb0a408f1e2e9f6d5f43b23b4f87f87b3950ab
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
A libcxx/Maintainers.md
M llvm/Maintainers.md
Log Message:
-----------
[libcxx] Add Maintainers.md file
Commit: a43b2e13f9cc69ec7077ea9c74a972e178a2d8f7
https://github.com/llvm/llvm-project/commit/a43b2e13f9cc69ec7077ea9c74a972e178a2d8f7
Author: David Olsen <dolsen at nvidia.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Dialect/IR/CIRTypes.h
A clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/lib/CIR/CodeGen/CIRGenTypes.cpp
A clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
A clang/test/CIR/global-var-simple.cpp
Log Message:
-----------
[CIR] Integral types; simple global variables (#118743)
Add integral types to ClangIR. These are the first ClangIR types, so the
change includes some infrastructure for managing ClangIR types.
So that the integral types can be used somewhere, generate ClangIR for
global variables using the new `cir.global` op. As with the current
support for functions, global variables are just a stub at the moment.
The only properties that global variables have are a name and a type.
Add a new ClangIR code gen test global-var-simple.cpp, which defines
global variables with most of the integral types.
(Part of upstreaming the ClangIR incubator project into LLVM.)
Commit: bb3eb0ca0cf0fe454f6845d429190cb30e6fa0f5
https://github.com/llvm/llvm-project/commit/bb3eb0ca0cf0fe454f6845d429190cb30e6fa0f5
Author: VladiKrapp-Arm <vladi.krapp at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
A llvm/test/Transforms/LoopUnroll/ARM/lob-unroll.ll
Log Message:
-----------
[ARM] Test unroll behaviour on machines with low overhead branching (#118692)
Add test for existing loop unroll behaviour.
Current behaviour is the single loop with fmul gets runtime unrolled by
count of 4, with the loop remainder unrolled as the 3 for.body9.us.prol
sections. This is quite a lot of compare and branch, negating the
benefits of the low overhead loop mechanism.
Commit: 5fa59edfa73a69ab146d7b9cc115de5770d11dca
https://github.com/llvm/llvm-project/commit/5fa59edfa73a69ab146d7b9cc115de5770d11dca
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/trunc.ll
Log Message:
-----------
[ConstraintElim] Add support for `trunc nsw/nuw` (#118745)
Proof for `trunc nsw nneg X -> trunc nuw X`:
https://alive2.llvm.org/ce/z/ooP6Mt
Commit: c74e2232f226b95d1cf73b9835ec1691a2022010
https://github.com/llvm/llvm-project/commit/c74e2232f226b95d1cf73b9835ec1691a2022010
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/test/Transforms/InstCombine/AMDGPU/lane-index-simplify-demanded-bits.ll
Log Message:
-----------
AMDGPU: Simplify demanded bits on readlane/writeline index arguments (#117963)
The main goal is to fold away wave64 code when compiled for wave32.
If we have out of bounds indexing, these will now clamp down to
a low bit which may CSE with the operations on the low half of the
wave.
Commit: 3f3bcac53ee492fd1c020be3690e87f5b0b8a41f
https://github.com/llvm/llvm-project/commit/3f3bcac53ee492fd1c020be3690e87f5b0b8a41f
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
A llvm/test/MC/AMDGPU/gfx11_asm_vinterp.s
A llvm/test/MC/AMDGPU/gfx11_asm_vinterp_alias.s
A llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vinterp.txt
Log Message:
-----------
[AMDGPU] New alias v_interp_p2_new_f32 (#118968)
This is for compatibility with SP3. Also add basic testing for the new
GFX11 VINTERP encoding.
Commit: 807726fce4b44bffb1e6e853aae51ca74da3589c
https://github.com/llvm/llvm-project/commit/807726fce4b44bffb1e6e853aae51ca74da3589c
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
Log Message:
-----------
[AMDGPU] New aliases v_add3_nc_u32 and v_xor_add_u32 (#118970)
This is for compatibility with SP3.
Commit: 33f4f3972531badc1cece78d3ed5eaf969ff4709
https://github.com/llvm/llvm-project/commit/33f4f3972531badc1cece78d3ed5eaf969ff4709
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
A llvm/test/MC/AMDGPU/gfx11_asm_vopc_alias.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx_alias.s
Log Message:
-----------
[AMDGPU] New GFX11 v_cmp_tru_* aliases for integer comparisons (#118976)
This is for compatibility with SP3. It only affects GFX11 because the
v_cmp_t_* instructions were removed in GFX12.
Commit: e68a3e4d0dd349a34c02471438d2e97c2b29e846
https://github.com/llvm/llvm-project/commit/e68a3e4d0dd349a34c02471438d2e97c2b29e846
Author: Ping Charoenwet <wachiraph.c at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M lldb/source/Target/StackFrame.cpp
Log Message:
-----------
[lldb] Fix typos in `StackFrame.cpp` (#118991)
Commit: d6ec7c82f383ae4268f350f4d2e267af45fae8c0
https://github.com/llvm/llvm-project/commit/d6ec7c82f383ae4268f350f4d2e267af45fae8c0
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M flang/runtime/CUDA/descriptor.cpp
Log Message:
-----------
[flang][CUF] fix missing header after #112188 (#118993)
Otherwise, builds with `-DFLANG_CUF_RUNTIME` hits:
```
runtime/CUDA/descriptor.cpp:44:24: error: invalid use of incomplete type 'const class Fortran::runtime::Descriptor'
44 | std::size_t count{src->SizeInBytes()};
```
Commit: 140680c5c8560f03b7a4b3f7db5a7f3c158b938a
https://github.com/llvm/llvm-project/commit/140680c5c8560f03b7a4b3f7db5a7f3c158b938a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vpdpwssd.ll
Log Message:
-----------
[X86] Add peephole for (add (concat_vectors vpmaddwd, vpmaddwd)) -> vpdpwssd on VNNI targets
Cleanup for #118433
Commit: 6bc3c9ee6bfbace7275dedfddef1cb8f177aa491
https://github.com/llvm/llvm-project/commit/6bc3c9ee6bfbace7275dedfddef1cb8f177aa491
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
Log Message:
-----------
[X86] combineX86ShuffleChain - always create VPERMV3 nodes if started from a VPERMV3 node
If the root shuffle node was a VPERMV3 node, then we can always replace it with a new VPERMV3 node - it doesn't matter if other variable shuffles in the chain had multiple uses.
Commit: 9ad22cf0ee9eb686ea9fd76fd9cc41f4c006ccbc
https://github.com/llvm/llvm-project/commit/9ad22cf0ee9eb686ea9fd76fd9cc41f4c006ccbc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
Log Message:
-----------
[X86] lowerV32I16Shuffle - attempt to fold unary shuffle to lane permute + repeated mask
Fixes #79799
Commit: 4f7f71b7bccdc38f37b82981e8fa9ceb536a7016
https://github.com/llvm/llvm-project/commit/4f7f71b7bccdc38f37b82981e8fa9ceb536a7016
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
A llvm/test/Transforms/LoopVectorize/interleave-with-i65-induction.ll
Log Message:
-----------
[VPlan] Compare APInt instead of getSExtValue to fix crash in unroll.
getSExtValue assumes the result fits in 64 bits, but this may not be the
case for indcutions with wider types. Instead, directly perform the
compare on the APInt for the ConstantInt.
Fixes https://github.com/llvm/llvm-project/issues/118850.
Commit: a46ee733d244333785c0896ce399341fe30240b0
https://github.com/llvm/llvm-project/commit/a46ee733d244333785c0896ce399341fe30240b0
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
Log Message:
-----------
[lldb] Fix off by one in array index check in Objective C runtime plugin (#118995)
Reported in #116944 / https://pvs-studio.com/en/blog/posts/cpp/1188/.
Commit: 1091fad31a83d5ab87eb6fa11fe3bdb3f0d152ea
https://github.com/llvm/llvm-project/commit/1091fad31a83d5ab87eb6fa11fe3bdb3f0d152ea
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Fix stack-use-after-scope in VPInstruction::generate (NFC).
Fix stack-use-after-scope introduced in 0678e2058364ec by pulling out
the vector to a dedicated variable.
Should fix ASan/MSan failures, including
https://lab.llvm.org/buildbot/#/builders/169/builds/6111.
Commit: f09b16e2671cbcdf7cb7dc7ed705db092a9deda1
https://github.com/llvm/llvm-project/commit/f09b16e2671cbcdf7cb7dc7ed705db092a9deda1
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
M llvm/test/Transforms/LoopVectorize/X86/pr55096-scalarize-add.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/branch-weights.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-trunc-induction-steps.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
M llvm/test/Transforms/LoopVectorize/pr66616.ll
M llvm/test/Transforms/LoopVectorize/reduction-align.ll
M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
Log Message:
-----------
Revert "[VPlan] Update scalar induction resume values in VPlan. (#110577)"
This reverts commit 0678e2058364ec10b94560d27ec7138dfa003287.
This reverts commit 1091fad31a83d5ab87eb6fa11fe3bdb3f0d152ea.
Causes crashes in llvm-test-suite when using stage 2 clang.
Commit: 009b5e8e5915910d172f6660ceb69784c18e7ac7
https://github.com/llvm/llvm-project/commit/009b5e8e5915910d172f6660ceb69784c18e7ac7
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
A clang/test/SemaOpenACC/combined-construct-vector-ast.cpp
A clang/test/SemaOpenACC/combined-construct-vector-clause.cpp
M clang/test/SemaOpenACC/loop-construct-vector-clause.cpp
Log Message:
-----------
[OpenACC] 'vector' clause implementation for combined constructs
Similar to 'worker', the 'vector' clause has some rules that needed to
be applied on its argument legality that for combined constructs need to
look at the current construct, not the 'effective' parent construct.
Additionally, it has some interaction with `vector_length` that needed
to be encoded as well. This patch implements it.
Commit: dff47d944dc626eb2d1b846710a18cad6cc1fb22
https://github.com/llvm/llvm-project/commit/dff47d944dc626eb2d1b846710a18cad6cc1fb22
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
Log Message:
-----------
[RISCV] Add coverage for deinterleave with only subvector used
Commit: d42ab5d0f02bd7ac6fa50c7e393ba5848160b327
https://github.com/llvm/llvm-project/commit/d42ab5d0f02bd7ac6fa50c7e393ba5848160b327
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/regcoal-subranges-update-remat.mir
M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
M llvm/test/CodeGen/SystemZ/regcoal-undef-lane-4-rm-cp-commuting-def.mir
M llvm/test/CodeGen/SystemZ/regcoal_undefsrc.mir
Log Message:
-----------
SystemZ: Regenerate baseline checks for some coalescer tests (#118322)
These were missing -NEXT checks and also had some dead checks.
Also switch a test to actually check the output.
Commit: 2e33ed9ecc52fcec27eac2efb2615d1efcf6fd32
https://github.com/llvm/llvm-project/commit/2e33ed9ecc52fcec27eac2efb2615d1efcf6fd32
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M compiler-rt/include/sanitizer/memprof_interface.h
M compiler-rt/lib/memprof/memprof_flags.cpp
M compiler-rt/lib/memprof/memprof_flags.h
M compiler-rt/lib/memprof/memprof_interface_internal.h
M compiler-rt/lib/memprof/memprof_rtl.cpp
M compiler-rt/lib/memprof/weak_symbols.txt
M compiler-rt/test/memprof/TestCases/default_options.cpp
A compiler-rt/test/memprof/TestCases/set_options.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
A llvm/test/Instrumentation/HeapProfiler/memprof-options.ll
Log Message:
-----------
[memprof] Use -memprof-runtime-default-options to set options during compile time (#118874)
Add the `__memprof_default_options_str` variable, initialized via the
`-memprof-runtime-default-options` LLVM flag, to hold the default options string
for memprof. This allows us to set these options during compile time in
the clang invocation.
Also update the docs to describe the various ways to set these options.
Commit: b9aa155d26935c058449f4ac116201de000fd7bf
https://github.com/llvm/llvm-project/commit/b9aa155d26935c058449f4ac116201de000fd7bf
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-splat-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
Log Message:
-----------
[TTI][X86]Fix detection of the shuffles from the second shuffle operand only
If the shuffle mask uses only indices from the second shuffle operand,
processShuffleMasks function misses it currently, which prevents correct
cost estimation in this corner case. To fix this, need to raise the
limit to 2 * VF rather than just VF and adjust processing
correspondingly. Will allow future improvements for 2 sources
permutations.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/118972
Commit: bded8890149e55b9abc9c32cb4a9c883c3daad91
https://github.com/llvm/llvm-project/commit/bded8890149e55b9abc9c32cb4a9c883c3daad91
Author: Benjamin Maxwell <macdue at dueutil.tech>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGenCXX/aarch64-sve-vector-init.cpp
Log Message:
-----------
[clang][AArch64] Fix C++11 style initialization of typedef'd vectors (#118956)
Previously, this hit an `llvm_unreachable()` assertion as the type of
`vec_t` did not exactly match `__SVInt8_t`, as it was wrapped in a
typedef.
Comparing the canonical types instead allows the types to match
correctly and avoids the crash.
Fixes #107609
Commit: 39451e45f5905b5b3f8f6b6eb1d71005e6bcdd6a
https://github.com/llvm/llvm-project/commit/39451e45f5905b5b3f8f6b6eb1d71005e6bcdd6a
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/type_traits.h
A libc/src/__support/CPP/type_traits/is_copy_assignable.h
A libc/src/__support/CPP/type_traits/is_copy_constructible.h
A libc/src/__support/CPP/type_traits/is_move_assignable.h
A libc/src/__support/CPP/type_traits/is_move_constructible.h
M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
M libc/test/src/__support/CPP/atomic_test.cpp
Log Message:
-----------
[libc][CPP] clean up and generalize atomic implementation (#118996)
Commit: 7f4414b2a1a4d9f802a03f56894c406f0fe3e9a9
https://github.com/llvm/llvm-project/commit/7f4414b2a1a4d9f802a03f56894c406f0fe3e9a9
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll
Log Message:
-----------
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (4/11) (#116830)
SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.
This patch adds support for emitting the zeroing forms of certain
`FCVTZS`, and `FCVTZU` instructions.
Commit: 02db35a1d644b559d3841f31e9167d12458f8efc
https://github.com/llvm/llvm-project/commit/02db35a1d644b559d3841f31e9167d12458f8efc
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/test/Semantics/OpenMP/from-clause-v45.f90
M flang/test/Semantics/OpenMP/reduction04.f90
M flang/test/Semantics/OpenMP/reduction06.f90
M flang/test/Semantics/OpenMP/reduction12.f90
A flang/test/Semantics/OpenMP/reduction15.f90
A flang/test/Semantics/OpenMP/reduction16.f90
M flang/test/Semantics/OpenMP/to-clause-v45.f90
M flang/test/Semantics/OpenMP/use_device_addr1.f90
M flang/test/Semantics/OpenMP/use_device_ptr1.f90
Log Message:
-----------
[flang][OpenMP] Implement `CheckReductionObjects` for all reduction c… (#118689)
…lauses
Currently we only do semantic checks for REDUCTION. There are two other
clauses, IN_REDUCTION, and TASK_REDUCTION which will also need those
checks. Implement a function that checks the common list-item
requirements for all those clauses.
Commit: e73ec1a74af3a390af5a77dea64022019a2a5686
https://github.com/llvm/llvm-project/commit/e73ec1a74af3a390af5a77dea64022019a2a5686
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Examples/omp-declarative-directive.f90
M flang/test/Semantics/OpenMP/declarative-directive01.f90
A flang/test/Semantics/OpenMP/linear-clause01.f90
Log Message:
-----------
[Flang][OpenMP] Add some semantic checks for Linear clause (#111354)
This PR adds all the missing semantics for the Linear clause based on
the OpenMP 5.2 restrictions. The restriction details are mentioned
below.
OpenMP 5.2:
5.4.6 linear Clause restrictions
- A linear-modifier may be specified as ref or uval only on a declare
simd directive.
- If linear-modifier is not ref, all list items must be of type integer.
- If linear-modifier is ref or uval, all list items must be dummy
arguments without the VALUE attribute.
- List items must not be Cray pointers or variables that have the
POINTER attribute. Cray pointer support has been deprecated.
- If linear-modifier is ref, list items must be polymorphic variables,
assumed-shape arrays, or variables with the ALLOCATABLE attribute.
- A common block name must not appear in a linear clause.
- The list-item cannot appear more than once
4.4.4 ordered Clause restriction
- If n is explicitly specified, a linear clause must not be specified on
the same directive.
5.11 aligned Clause restriction
- Each list item must have C_PTR or Cray pointer type or have the
POINTER or ALLOCATABLE attribute. Cray pointer support has been
deprecated.
Commit: 4a44e4b192db0bb38d3eb7ff20c767e2c747d745
https://github.com/llvm/llvm-project/commit/4a44e4b192db0bb38d3eb7ff20c767e2c747d745
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M offload/cmake/OpenMPTesting.cmake
Log Message:
-----------
[offload] Remove bogus offload-tblgen check for standalone build (#119004)
fd3907ccb583df99e9c19d2fe84e4e7c52d75de9 introduced a check for system
offload-tblgen executable when doing a standalone build. This check is
bogus, since offload-tblgen is built as part of offload and not some
other preinstalled component. The path is also overwritten below, so the
check only causes tests to be disabled unnecessarily.
Commit: 12bdeba76eef1c7adf004a280036a7fb690ba573
https://github.com/llvm/llvm-project/commit/12bdeba76eef1c7adf004a280036a7fb690ba573
Author: Haowei Wu <haowei at google.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/CMakeLists.txt
R clang/lib/Serialization/TemplateArgumentHasher.cpp
R clang/lib/Serialization/TemplateArgumentHasher.h
M clang/test/Modules/odr_hash.cpp
R clang/test/Modules/recursive-instantiations.cppm
M clang/test/OpenMP/target_parallel_ast_print.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/teams_ast_print.cpp
M clang/unittests/Serialization/CMakeLists.txt
R clang/unittests/Serialization/LoadSpecLazilyTest.cpp
Log Message:
-----------
Revert "[Serialization] Support load lazy specialization lazily"
This reverts commit b5bd19211118c6d43bc525a4e3fb65d2c750d61e.
It brokes multiple llvm bots including clang-x64-windows-msvc
Commit: 1d95825d4d168a17a4f27401dec3f2977a59a70e
https://github.com/llvm/llvm-project/commit/1d95825d4d168a17a4f27401dec3f2977a59a70e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Serialization/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Serialization/BUILD.gn
Log Message:
-----------
[gn build] Port 12bdeba76eef
Commit: 84efad0b471543003c0724c85f158f66fccfdc0f
https://github.com/llvm/llvm-project/commit/84efad0b471543003c0724c85f158f66fccfdc0f
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
A llvm/test/CodeGen/RISCV/fixed-csr.ll
Log Message:
-----------
[RISCV][MRI] Account for fixed registers when determining callee saved regs (#115756)
This fixes
https://discourse.llvm.org/t/fixed-register-being-spill-and-restored-in-clang/83058.
We need to do it in `MachineRegisterInfo::getCalleeSavedRegs` instead of
`RISCVRegisterInfo::getCalleeSavedRegs` since the MF argument of
`TargetRegisterInfo:::getCalleeSavedRegs` is `const`, so we can't call
`MF->getRegInfo().disableCalleeSavedRegister` there.
So to put it in `MachineRegisterInfo::getCalleeSavedRegs`, we move
`isRegisterReservedByUser` into `TargetSubtargetInfo`.
Commit: 3c83054bec3326ccf338eeda56e67e8cd83a3b2a
https://github.com/llvm/llvm-project/commit/3c83054bec3326ccf338eeda56e67e8cd83a3b2a
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
Log Message:
-----------
[RISCV] Add tests for suboptimal interleave patterns
Upcoming changes will improve codegen in these cases per the included
TOOOs.
Commit: ca3180ad6e39304177deac112bd78739d85fe32b
https://github.com/llvm/llvm-project/commit/ca3180ad6e39304177deac112bd78739d85fe32b
Author: Chris Apple <cja-private at pm.me>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Transforms/Instrumentation/RealtimeSanitizer.h
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
M llvm/test/Instrumentation/RealtimeSanitizer/rtsan.ll
Log Message:
-----------
[LLVM][rtsan] Add module pass to initialize rtsan (#118989)
This allows shared libraries instrumented with RTSan to be initialized.
This approach directly mirrors the approach in Tsan, Asan and many of
the other sanitizers
Commit: 7f7f540a48982d7901412502d045d7863d951ffe
https://github.com/llvm/llvm-project/commit/7f7f540a48982d7901412502d045d7863d951ffe
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
M llvm/test/Transforms/LoopVectorize/X86/pr55096-scalarize-add.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/branch-weights.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-trunc-induction-steps.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
M llvm/test/Transforms/LoopVectorize/pr66616.ll
M llvm/test/Transforms/LoopVectorize/reduction-align.ll
M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
Log Message:
-----------
Reapply "[VPlan] Update scalar induction resume values in VPlan. (#110577)"
This reverts commit f09b16e2671cbcdf7cb7dc7ed705db092a9deda1.
The crash when building llvm-test-suite with stage2 should have been
fixed by 1091fad31a83d5ab87eb6fa11fe3bdb3f0d152ea.
Commit: ab0dc290bca14b8a13540a846724dcd034397f5d
https://github.com/llvm/llvm-project/commit/ab0dc290bca14b8a13540a846724dcd034397f5d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-phi-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/phi.ll
Log Message:
-----------
[RISCV][GISel] Allow s32 G_PHI for RV64 to support f32 phis.
Commit: 131b7fe2b108fb33efd031371f0f8a993e374860
https://github.com/llvm/llvm-project/commit/131b7fe2b108fb33efd031371f0f8a993e374860
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
Log Message:
-----------
[RISCV][VLOPT] Add support for widening integer mul-add instructions (#112219)
This adds support for these instructions and also tests getOperandInfo
for these instructions as well. I think the VL on the using add
instruction can be optimized further, once we add support for optimizing
non-vlmax.
Commit: c5e4e8f87da8156108716b0e24e9ef40682562e8
https://github.com/llvm/llvm-project/commit/c5e4e8f87da8156108716b0e24e9ef40682562e8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Add IndexedMemProfData::addCallStack (#118920)
This patch adds a helper function to replace an idiom like:
CallStackId CSId = hashCallStack(CallStack)
MemProfData.CallStacks.try_emplace(CSId, CallStack);
// Do something with CSId.
Commit: 1df28554bd6264d44aa2ce12e5a2fc29f61bb027
https://github.com/llvm/llvm-project/commit/1df28554bd6264d44aa2ce12e5a2fc29f61bb027
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
A clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
A clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
Log Message:
-----------
[HLSL] Add ByteAddressBuffer, RWByteAddressBuffer and RasterizerOrderedByteAddressBuffer definitions to HLSLExternalSemaSource #113477 (#116699)
This is the first one in a series of PRs adding the requirements for
#58654
This PR adds `ByteAddressBuffer`, `RWByteAddressBuffer ` and
`RasterizerOrderedByteAddressBuffer ` definitions as well as their
handle lowering to `dx.RawBuffer`.
closes #58654
---------
Co-authored-by: Joao Saffran <jderezende at microsoft.com>
Commit: b23fc2c5bf92ae3bcd2ac4c784ead0ffba159f5a
https://github.com/llvm/llvm-project/commit/b23fc2c5bf92ae3bcd2ac4c784ead0ffba159f5a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M libcxxabi/src/cxa_guard_impl.h
Log Message:
-----------
[libc++abi] Fix broken check for _LIBCPP_HAS_THREAD_API_PTHREAD (#118999)
We were still using the old `defined(_LIBCPP_HAS_THREAD_API_PTHREAD)`
check, which is always true.
Commit: cd74ebaec606e35485f007e3dcf2609f4cf9bef6
https://github.com/llvm/llvm-project/commit/cd74ebaec606e35485f007e3dcf2609f4cf9bef6
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M libcxx/test/std/containers/sequences/vector/common.h
Log Message:
-----------
[libc++] Make a few test helper constructors explicit (#118975)
Commit: 516d6ede122086027baa2288623605a423375e87
https://github.com/llvm/llvm-project/commit/516d6ede122086027baa2288623605a423375e87
Author: Zhen Wang <37195552+wangzpgi at users.noreply.github.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/test/Dialect/GPU/outlining.mlir
Log Message:
-----------
[mlir][gpu] Add optional attributes of kernelModule and kernelFunc for outlining kernels. (#118861)
Adding optional attributes so we can specify the kernel function names
and the kernel module names generated.
Commit: 5d9c321e8d3b543c7da44f1b0447d4d09570ddbb
https://github.com/llvm/llvm-project/commit/5d9c321e8d3b543c7da44f1b0447d4d09570ddbb
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/vscale-memset.ll
Log Message:
-----------
Handle scalable store size in MemCpyOptimizer (#118957)
The compiler crashes with an ICE when it tries to create a `memset` with
scalable size.
Commit: 6cb339f9c1009d94925ec3b8138cac35cbe50bf3
https://github.com/llvm/llvm-project/commit/6cb339f9c1009d94925ec3b8138cac35cbe50bf3
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M libcxx/test/benchmarks/allocation.bench.cpp
R libcxx/test/libcxx/language.support/support.dynamic/new_faligned_allocation.pass.cpp
M libcxx/test/libcxx/memory/shared_ptr_array.pass.cpp
M libcxx/test/std/language.support/support.dynamic/align_val_t.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
R libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
R libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
R libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
R libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/types.h
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++] Refactor tests for aligned allocation and sized deallocation (#117915)
This patch refactors the tests around aligned allocation and sized
deallocation to avoid relying on passing the -fsized-deallocation or
-faligned-allocation flags by default. Since both of these features are
enabled by default in >= C++14 mode, it now makes sense to make that
assumption in the test suite.
A notable exception is MinGW and some older compilers, where sized
deallocation is still not enabled by default. We treat that as a "bug"
in the test suite and we work around it by explicitly adding
-fsized-deallocation, but only under those configurations.
Commit: 7ff89294b63f8f15c650fe314cff5c576978c489
https://github.com/llvm/llvm-project/commit/7ff89294b63f8f15c650fe314cff5c576978c489
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M libc/src/__support/CPP/atomic.h
Log Message:
-----------
[libc] Update fence to use scoped fence now that it's supported (#119018)
Summary:
Adds support for scoped fences now that the NVPTX backend doesn't break
on them.
Commit: 4b24ab4be9351ef822fd8fd546237eabd8c3ba57
https://github.com/llvm/llvm-project/commit/4b24ab4be9351ef822fd8fd546237eabd8c3ba57
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions-approx.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/convert-sm80.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
Log Message:
-----------
Reland "[NVPTX] Add folding for cvt.rn.bf16x2.f32" (#116417)
Reland https://github.com/llvm/llvm-project/pull/116109.
Fixes issue where operands were flipped.
Per the PTX spec, a mov instruction packs the first operand as low, and
the second operand as high:
> ```
> // pack two 16-bit elements into .b32
> d = a.x | (a.y << 16)
> ```
On the other hand cvt.rn.f16x2.f32 instructions take high, than low
operands:
> For .f16x2 and .bf16x2 instruction type, two inputs a and b of .f32
type are converted into .f16 or .bf16 type and the converted values are
packed in the destination register d, such that the value converted from
input a is stored in the upper half of d and the value converted from
input b is stored in the lower half of d
Commit: 6797b0f0c002c9f3dda7a2b502ddf33e2c8f6777
https://github.com/llvm/llvm-project/commit/6797b0f0c002c9f3dda7a2b502ddf33e2c8f6777
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Use RPOT for VPlan codegen and printing.
This split off changes for more complex CFGs in VPlan from both
https://github.com/llvm/llvm-project/pull/114292
https://github.com/llvm/llvm-project/pull/112138
This simplifies their respective diffs.
Commit: 376dad72abb4960cd93e37e3e98de3950b5c3dfe
https://github.com/llvm/llvm-project/commit/376dad72abb4960cd93e37e3e98de3950b5c3dfe
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/perfect-matched-reused-bv.ll
Log Message:
-----------
[SLP]Move resulting vector before inert point, if the late generated buildvector fully matched
If the perfect diamond match was detected for the postponed buildvectors
and the vector for the previous node comes after the current node, need
to move the vector register before the current inserting point to
prevent compiler crash.
Fixes #119002
Commit: f9e11501841fc602488fea78b88910eab7d4d396
https://github.com/llvm/llvm-project/commit/f9e11501841fc602488fea78b88910eab7d4d396
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
Log Message:
-----------
[Driver] Normalize the baremetal handling of libc++ and runtimes (#101259)
The handling of libc++ and other runtime libraries in the baremetal
driver is different from other targets for no particular reason. This
change removes the custom in the baremetal driver logic and replaces it
with the generic logic to improve consistency and reduce maintenance
overhead while also handling additional flags the current logic doesn't.
Commit: 01d8e0fc75a897a6a9c2ce634645457a895ed505
https://github.com/llvm/llvm-project/commit/01d8e0fc75a897a6a9c2ce634645457a895ed505
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M lldb/include/lldb/Target/Platform.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/unittests/SymbolFile/DWARF/XcodeSDKModuleTests.cpp
Log Message:
-----------
[lldb] Add a per-CU API to read the SDK (#119022)
The Swift plugin would find this useful.
Commit: 030bbc92a705758f1131fb29cab5be6d6a27dd1f
https://github.com/llvm/llvm-project/commit/030bbc92a705758f1131fb29cab5be6d6a27dd1f
Author: anoopkg6 <anoop.kumar6 at ibm.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/SystemZ/builtin-setjmp-logjmp.c
M llvm/docs/ExceptionHandling.rst
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
A llvm/test/CodeGen/SystemZ/builtin-longjmp.ll
A llvm/test/CodeGen/SystemZ/builtin-setjmp-alloca.ll
A llvm/test/CodeGen/SystemZ/builtin-setjmp-spills.ll
A llvm/test/CodeGen/SystemZ/builtin-setjmp.ll
Log Message:
-----------
[SystemZ] Add support for __builtin_setjmp and __builtin_longjmp (#116642)
Implementation for __builtin_setjmp and __builtin_longjmp for SystemZ.
Commit: 832ccfe55275b1561b2548bfac075447037d6663
https://github.com/llvm/llvm-project/commit/832ccfe55275b1561b2548bfac075447037d6663
Author: Christopher Bate <cbate at nvidia.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M mlir/lib/Analysis/Presburger/PWMAFunction.cpp
Log Message:
-----------
[mlir][presburger] NFC: Add missing definition for 'MultiAffineFunction::dump' (#118397)
Commit: 3c47e63723b1aa9e76f30fc8d1acef9caf4ea783
https://github.com/llvm/llvm-project/commit/3c47e63723b1aa9e76f30fc8d1acef9caf4ea783
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Log Message:
-----------
[SystemZ] Fix a warning
This patch fixes:
llvm/lib/Target/SystemZ/SystemZISelLowering.cpp:953:30: error:
unused variable 'TRI' [-Werror,-Wunused-variable]
Commit: 83ad90d851f9e32a51d56193125ab596cc3636b6
https://github.com/llvm/llvm-project/commit/83ad90d851f9e32a51d56193125ab596cc3636b6
Author: Siu Chi Chan <siuchi.chan at amd.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
A llvm/test/tools/llvm-split/AMDGPU/large-kernels-merging-weak_odr.ll
Log Message:
-----------
[AMDGPU] Fix module split's assumption on kernels
Module split assumes that a kernel function must have an external
linkage; however, that isn't the case. For example, a static kernel
function will have a weak_odr linkage
Change-Id: I1e5dee0de1fd866b365f4090a574e1b2961f8dca
Commit: 8fc6fca9f28ce20d76066be66fcc41aa38f7dc3d
https://github.com/llvm/llvm-project/commit/8fc6fca9f28ce20d76066be66fcc41aa38f7dc3d
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
A clang/test/CodeGen/AArch64/fixed-register-global.c
R clang/test/Driver/aarch64-fixed-register-global.c
M clang/test/Sema/aarch64-fixed-global-register.c
Log Message:
-----------
[clang][AArch64] Avoid a crash when a non-reserved register is used (#117419)
Fixes #76426, #109778 (for AArch64)
The previous patch for this issue, #94271, generated an error message if
a register and a global variable did not have the same size. This patch
checks if the register is reserved.
Commit: da65fe1c16308cdb71b2fd26aaedc0ce52521ab4
https://github.com/llvm/llvm-project/commit/da65fe1c16308cdb71b2fd26aaedc0ce52521ab4
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
R clang/test/CodeGen/AArch64/fixed-register-global.c
A clang/test/Driver/aarch64-fixed-register-global.c
M clang/test/Sema/aarch64-fixed-global-register.c
Log Message:
-----------
Revert "[clang][AArch64] Avoid a crash when a non-reserved register is used (#117419)"
This reverts commit 8fc6fca9f28ce20d76066be66fcc41aa38f7dc3d.
Commit: 0ee364d2a28104aaa36e246fc8a316f86de32aae
https://github.com/llvm/llvm-project/commit/0ee364d2a28104aaa36e246fc8a316f86de32aae
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M lldb/docs/index.rst
A lldb/docs/resources/formatterbytecode.rst
A lldb/examples/python/formatter_bytecode.py
A lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/MyOptional.cpp
A lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/formatter.py
A lldb/test/Shell/ScriptInterpreter/Python/bytecode.test
Log Message:
-----------
[lldb] Add a compiler/interpreter of LLDB data formatter bytecode to lldb/examples (#113398)
This PR adds a proof-of-concept for a bytecode designed to ship and run
LLDB data formatters. More motivation and context can be found in the
`formatter-bytecode.md` file and on discourse.
https://discourse.llvm.org/t/a-bytecode-for-lldb-data-formatters/82696
Commit: 9ac52ce8d6cb7adcb5f3981952e39207c5b9588a
https://github.com/llvm/llvm-project/commit/9ac52ce8d6cb7adcb5f3981952e39207c5b9588a
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.large.mir
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.simple.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.exp.small.mir
Log Message:
-----------
[AMDGPU] Add iglp_opt(3) for simple mfma / exp interleaving (#117269)
Adds a minimal iglp_opt to do simple exp / mfma interleaving.
Commit: 8ab76a47b242addc82109a3b3b6de9c3d6426eca
https://github.com/llvm/llvm-project/commit/8ab76a47b242addc82109a3b3b6de9c3d6426eca
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M lldb/docs/index.rst
R lldb/docs/resources/formatterbytecode.rst
R lldb/examples/python/formatter_bytecode.py
R lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/MyOptional.cpp
R lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/formatter.py
R lldb/test/Shell/ScriptInterpreter/Python/bytecode.test
Log Message:
-----------
Revert "[lldb] Add a compiler/interpreter of LLDB data formatter bytecode to examples"
This reverts commit 7e3da87ca896484a11ac09df297183147154ac91.
I managed to break the bots.
Commit: 50c0e679b9e23787a4fc5a6a7c04571e4b0bb3f1
https://github.com/llvm/llvm-project/commit/50c0e679b9e23787a4fc5a6a7c04571e4b0bb3f1
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M bolt/lib/Core/DebugNames.cpp
A bolt/test/X86/dwarf5-debug-names-union.test
Log Message:
-----------
[BOLT][DWARF] Add support for DW_TAG_union_type to DebugNames. (#119023)
Adding support for DW_TAG_union_type for DebugNames acceleration tables.
Commit: 9f430bd415f462c2b7e32d895eab02c5c2207657
https://github.com/llvm/llvm-project/commit/9f430bd415f462c2b7e32d895eab02c5c2207657
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Log Message:
-----------
Revert "[SystemZ] Fix a warning"
This reverts commit 3c47e63723b1aa9e76f30fc8d1acef9caf4ea783.
Commit: 8787bc72a61aa43a6e937647b6797ddb2ff287d2
https://github.com/llvm/llvm-project/commit/8787bc72a61aa43a6e937647b6797ddb2ff287d2
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/CodeGen/CGBuiltin.cpp
R clang/test/CodeGen/SystemZ/builtin-setjmp-logjmp.c
M llvm/docs/ExceptionHandling.rst
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
R llvm/test/CodeGen/SystemZ/builtin-longjmp.ll
R llvm/test/CodeGen/SystemZ/builtin-setjmp-alloca.ll
R llvm/test/CodeGen/SystemZ/builtin-setjmp-spills.ll
R llvm/test/CodeGen/SystemZ/builtin-setjmp.ll
Log Message:
-----------
Revert "[SystemZ] Add support for __builtin_setjmp and __builtin_longjmp (#116642)"
This reverts commit 030bbc92a705758f1131fb29cab5be6d6a27dd1f.
Commit: 17a7f20685de2a275fc2e53a38c5818797fe8a44
https://github.com/llvm/llvm-project/commit/17a7f20685de2a275fc2e53a38c5818797fe8a44
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] merge same part matchers in return-const-ref-from-parameter (#118985)
Commit: 60380cd27c6fa5ed6e39866c51b18a64bc4d566a
https://github.com/llvm/llvm-project/commit/60380cd27c6fa5ed6e39866c51b18a64bc4d566a
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M lldb/docs/index.rst
A lldb/docs/resources/formatterbytecode.rst
A lldb/examples/python/formatter_bytecode.py
A lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/MyOptional.cpp
A lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/formatter.py
A lldb/test/Shell/ScriptInterpreter/Python/bytecode.test
Log Message:
-----------
[lldb] Add a compiler/interpreter of LLDB data formatter bytecode to examples
This PR adds a proof-of-concept for a bytecode designed to ship and
run LLDB data formatters. More motivation and context can be found in
the formatter-bytecode.rst file and on discourse.
https://discourse.llvm.org/t/a-bytecode-for-lldb-data-formatters/82696
Relanding with a fix for a case-sensitive path.
Commit: afa2fbf87a8e3fff609fd325c938929c48e94280
https://github.com/llvm/llvm-project/commit/afa2fbf87a8e3fff609fd325c938929c48e94280
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
A clang/test/CodeGen/AArch64/fixed-register-global.c
R clang/test/Driver/aarch64-fixed-register-global.c
M clang/test/Sema/aarch64-fixed-global-register.c
Log Message:
-----------
[Reland][clang][AArch64] Avoid a crash when a non-reserved register is used (#117419)
Relanding the patch with a fix for a test failure on build bots that do
not build LLVM for AArch64.
Fixes #76426, #109778 (for AArch64)
The previous patch for this issue, #94271, generated an error message if
a register and a global variable did not have the same size. This patch
checks if the register is reserved.
Commit: 509893b58ff444a6f080946bd368e9bde7668f13
https://github.com/llvm/llvm-project/commit/509893b58ff444a6f080946bd368e9bde7668f13
Author: choikwa <5455710+choikwa at users.noreply.github.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/bypass-div.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
Log Message:
-----------
Reapply "[AMDGPU] prevent shrinking udiv/urem if either operand is in… (#118928)
… (SignedMax,UnsignedMax] (#116733)"
This reverts commit 905e831f8c8341e53e7e3adc57fd20b8e08eb999.
Handle signed and unsigned path differently in getDivNumBits. Using
computeKnownBits, this rejects shrinking unsigned div/rem if operands
exceed signed max since we know NumSignBits will be always 0.
Rebased and re-attempt after first one was reverted due to unrelated
failure in LibC (should be fixed by now I'm told).
Commit: b504c8771f238883ef6c7234d741c2dc1d885ae3
https://github.com/llvm/llvm-project/commit/b504c8771f238883ef6c7234d741c2dc1d885ae3
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M lldb/docs/index.rst
R lldb/docs/resources/formatterbytecode.rst
R lldb/examples/python/formatter_bytecode.py
R lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/MyOptional.cpp
R lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/formatter.py
R lldb/test/Shell/ScriptInterpreter/Python/bytecode.test
Log Message:
-----------
Revert "[lldb] Add a compiler/interpreter of LLDB data formatter bytecode to examples"
This reverts commit 60380cd27c6fa5ed6e39866c51b18a64bc4d566a.
Commit: fffe8c668461e73055182f229765cb7de908e295
https://github.com/llvm/llvm-project/commit/fffe8c668461e73055182f229765cb7de908e295
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M lldb/docs/index.rst
A lldb/docs/resources/formatterbytecode.rst
A lldb/examples/python/formatter_bytecode.py
A lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/MyOptional.cpp
A lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/formatter.py
A lldb/test/Shell/ScriptInterpreter/Python/bytecode.test
Log Message:
-----------
[lldb] Add a compiler/interpreter of LLDB data formatter bytecode to examples
This PR adds a proof-of-concept for a bytecode designed to ship and
run LLDB data formatters. More motivation and context can be found in
the formatter-bytecode.rst file and on discourse.
https://discourse.llvm.org/t/a-bytecode-for-lldb-data-formatters/82696
Relanding with a fix for a case-sensitive path.
Commit: a07e8cdae7727583e20c9dec632a376365a6e209
https://github.com/llvm/llvm-project/commit/a07e8cdae7727583e20c9dec632a376365a6e209
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
Log Message:
-----------
[clang-tidy] fix false positive in lambda expr for return-const-ref-from-parameter (#118990)
We should bind the node in `hasAncestor` matcher and `equalsBoundNode`
in the other matcher because `hasAncestor` will visit the ancestor until
to find the matched result.
Commit: 02ad623bb560afa1a789b49f715c9a0e48ea9b16
https://github.com/llvm/llvm-project/commit/02ad623bb560afa1a789b49f715c9a0e48ea9b16
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
Log Message:
-----------
[RISCV] Prefer strided store for interleave store with one lane active (#119027)
If we're performing a segment store and all but one of the segments are
undefined, that's equivalent to performing a strided store of the one
active segment.
This is the store side of a905203b. As before, this only covers fixed
vectors.
Commit: 9f98949c9424addbc573fac7912cc164965b8994
https://github.com/llvm/llvm-project/commit/9f98949c9424addbc573fac7912cc164965b8994
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M lldb/examples/python/formatter_bytecode.py
Log Message:
-----------
[lldb] Move the python module import workaround further up
Commit: 9d64af9e52707cf548bf767e0010fc82feed4831
https://github.com/llvm/llvm-project/commit/9d64af9e52707cf548bf767e0010fc82feed4831
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/M68k/M68kSubtarget.h
Log Message:
-----------
[M68k] Fix -Winconsistent-missing-override after #115756
Commit: c49d809f2f54894ca8be4c037825a350e8131992
https://github.com/llvm/llvm-project/commit/c49d809f2f54894ca8be4c037825a350e8131992
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M .github/workflows/commit-access-review.py
Log Message:
-----------
workflows/commit-access-review: Update label name (#118903)
We switched to using a new label name for tracking commit access
requests.
Commit: 0d5ae3632d6f1db0b0a308265fc3762679287a9b
https://github.com/llvm/llvm-project/commit/0d5ae3632d6f1db0b0a308265fc3762679287a9b
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M .github/workflows/commit-access-review.py
M llvm/utils/git/requirements.txt
M llvm/utils/git/requirements.txt.in
Log Message:
-----------
workflows/commit-access-review: Use Python APIs for graphql queries (#108903)
Commit: 18af3fc1bf8855e1e166e64a9210ed07d610aa54
https://github.com/llvm/llvm-project/commit/18af3fc1bf8855e1e166e64a9210ed07d610aa54
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M clang/utils/perf-training/perf-helper.py
Log Message:
-----------
[Clang][perf-training] Fix clean command in perf-helper.py (#118978)
The first path argument was always being ignored, and since most calls
to this command only passed one path, it wasn't actually doing anything
in most cases.
This bug was introduced by dd0356d741aefa25ece973d6cc4b55dcb73b84b4.
Commit: bcf6f84763ea01d0a22022d0d64442e774fe86ab
https://github.com/llvm/llvm-project/commit/bcf6f84763ea01d0a22022d0d64442e774fe86ab
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/new-delete.cpp
Log Message:
-----------
Revert "[Clang] Deleting an incomplete enum type is not an error (#118455) (#118980)
This reverts commit 8271195de05742ed7079d7882fbebc2daecbd7e2.
Commit: 943cc71a6cfc52a88a413ab093c2d1e3f12d55e0
https://github.com/llvm/llvm-project/commit/943cc71a6cfc52a88a413ab093c2d1e3f12d55e0
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/apx/cfcmov.ll
Log Message:
-----------
[X86][APX] Convert store(cmov(load(x), y), x) to cstore(y, x) (#118946)
Commit: 3d6b37e3c3e135f5f25f4f4f1cdb1ffbc6d13c89
https://github.com/llvm/llvm-project/commit/3d6b37e3c3e135f5f25f4f4f1cdb1ffbc6d13c89
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/test/CodeGen/RISCV/fp128.ll
Log Message:
-----------
[RuntimeLibcalls] Fix spelling fminmum->fminimum fmaxmum->fmaximum. (#118728)
Commit: 52646d087cdecd217436b2714f94b84c46b5720a
https://github.com/llvm/llvm-project/commit/52646d087cdecd217436b2714f94b84c46b5720a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/knownbits-copy-crash.mir
Log Message:
-----------
[GISel] Teach computeKnownBitsImpl to handle COPY instructions that change bit width. (#118924)
The sexti32 ComplexRenderFn on RISCV calls computeNumSignBits which
calls computeKnownBits.
I encountered a case where we looked through a G_PHI and found a COPY
that was created from an already selected G_TRUNC from s64 to s32. s32
and s64 integers on RISC-V end up in the same register class. s32 G_PHI
is legal to allow f32 phis on RV64. The COPY inherited the types from the
original G_TRUNC so the source and destination virtual registers have
different widths.
This patch uses KnownBits::anyextOrTrunc to adjust the width when they
mismatch.
Commit: 495816cbc83b0760442568da18317df0955a289f
https://github.com/llvm/llvm-project/commit/495816cbc83b0760442568da18317df0955a289f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVGISel.td
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
Log Message:
-----------
[RISCV] Add i16->i32 G_ZEXT/G_SEXT patterns for RV64.
Because we support s16 and s32 types for FP some operations like
G_PHI, G_SELECT, G_FREEZE can exist with s16 and s32 operands
even when they will be assigned to the GPR reg bank. These
instructions can be surrounded with G_ZEXT and G_SEXT that convert
from s16 to s32 so we need to be able to select them.
Commit: 00090ac0b9d391acb07c0099311987671c2cac1c
https://github.com/llvm/llvm-project/commit/00090ac0b9d391acb07c0099311987671c2cac1c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use IndexedMemProfData in tests (NFC) (#119049)
This patch replaces FrameIdMap and CallStackIdMap with
IndexedMemProfData, which comes with recently introduced methods like
addFrame and addCallStack.
Commit: 32f7f0010bca99ee4bd917f57272733fb2bf3bd9
https://github.com/llvm/llvm-project/commit/32f7f0010bca99ee4bd917f57272733fb2bf3bd9
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use gtest matchers at more places (#119050)
These gtest matchers reduce the number of times we mention the
variables under examined.
Commit: 37606b4c22654ab66eee8f89448a117f3534f2f4
https://github.com/llvm/llvm-project/commit/37606b4c22654ab66eee8f89448a117f3534f2f4
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
A 0001-Reland-Add-a-pass-to-collect-dropped-var-stats-for-M.patch
A 0001-Reland-NFC-Move-DroppedVariableStats-to-its-own-file.patch
A llvm/include/llvm/CodeGen/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
M llvm/unittests/IR/CMakeLists.txt
R llvm/unittests/IR/DroppedVariableStatsTest.cpp
Log Message:
-----------
Reland "[NFC] Move DroppedVariableStats to its own file and redesign it to be extensible (#118546)" (#119048)
Move the virtual destructor definition to the cpp file and see if that
gets rid of the undefined vtable error.
Commit: e0ed0333f0fed2e73f805afd58b61176a87aa3ad
https://github.com/llvm/llvm-project/commit/e0ed0333f0fed2e73f805afd58b61176a87aa3ad
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/ARMInstrVFP.td
M llvm/test/CodeGen/ARM/add-like-or.ll
A llvm/test/CodeGen/ARM/and-cmpz-to-shift.ll
M llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll
M llvm/test/CodeGen/ARM/atomic-64bit.ll
M llvm/test/CodeGen/ARM/atomic-ops-v8.ll
M llvm/test/CodeGen/ARM/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/ARM/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/ARM/atomicrmw_exclusive_monitor_ints.ll
M llvm/test/CodeGen/ARM/bfi.ll
M llvm/test/CodeGen/ARM/cmov_fp16.ll
M llvm/test/CodeGen/ARM/cse-call.ll
M llvm/test/CodeGen/ARM/cttz.ll
M llvm/test/CodeGen/ARM/fadd-select-fneg-combine.ll
M llvm/test/CodeGen/ARM/fcmp-xo.ll
M llvm/test/CodeGen/ARM/fpclamptosat.ll
M llvm/test/CodeGen/ARM/fpclamptosat_vec.ll
M llvm/test/CodeGen/ARM/fpscr-multi-use.ll
M llvm/test/CodeGen/ARM/fptoi-sat-store.ll
M llvm/test/CodeGen/ARM/fptosi-sat-scalar.ll
M llvm/test/CodeGen/ARM/fptoui-sat-scalar.ll
M llvm/test/CodeGen/ARM/funnel-shift-rot.ll
M llvm/test/CodeGen/ARM/funnel-shift.ll
M llvm/test/CodeGen/ARM/ifcvt1.ll
M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
M llvm/test/CodeGen/ARM/neon_vabd.ll
M llvm/test/CodeGen/ARM/overflow-intrinsic-optimizations.ll
M llvm/test/CodeGen/ARM/sadd_sat.ll
M llvm/test/CodeGen/ARM/sadd_sat_plus.ll
M llvm/test/CodeGen/ARM/select.ll
M llvm/test/CodeGen/ARM/select_const.ll
M llvm/test/CodeGen/ARM/shift-i64.ll
M llvm/test/CodeGen/ARM/ssub_sat.ll
M llvm/test/CodeGen/ARM/ssub_sat_plus.ll
M llvm/test/CodeGen/ARM/sub-cmp-peephole.ll
M llvm/test/CodeGen/ARM/uadd_sat.ll
M llvm/test/CodeGen/ARM/uadd_sat_plus.ll
M llvm/test/CodeGen/ARM/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/ARM/umulo-64-legalisation-lowering.ll
M llvm/test/CodeGen/ARM/usub_sat.ll
M llvm/test/CodeGen/ARM/usub_sat_plus.ll
M llvm/test/CodeGen/ARM/vselect_imax.ll
M llvm/test/CodeGen/ARM/wide-compares.ll
M llvm/test/CodeGen/Thumb/arm_q15_to_q31.ll
M llvm/test/CodeGen/Thumb/select.ll
M llvm/test/CodeGen/Thumb/smul_fix_sat.ll
M llvm/test/CodeGen/Thumb/stack-guard-xo.ll
M llvm/test/CodeGen/Thumb/umul_fix_sat.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/arm_cmplx_dot_prod_f32.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/exitcount.ll
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
M llvm/test/CodeGen/Thumb2/float-ops.ll
M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
M llvm/test/CodeGen/Thumb2/mve-doublereduct.ll
M llvm/test/CodeGen/Thumb2/mve-float16regloops.ll
M llvm/test/CodeGen/Thumb2/mve-float32regloops.ll
M llvm/test/CodeGen/Thumb2/mve-fmas.ll
M llvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
M llvm/test/CodeGen/Thumb2/mve-fptosi-sat-vector.ll
M llvm/test/CodeGen/Thumb2/mve-fptoui-sat-vector.ll
M llvm/test/CodeGen/Thumb2/mve-gather-scatter-ptr-address.ll
M llvm/test/CodeGen/Thumb2/mve-laneinterleaving.ll
M llvm/test/CodeGen/Thumb2/mve-minmaxi.ll
M llvm/test/CodeGen/Thumb2/mve-pipelineloops.ll
M llvm/test/CodeGen/Thumb2/mve-pred-ext.ll
M llvm/test/CodeGen/Thumb2/mve-pred-or.ll
M llvm/test/CodeGen/Thumb2/mve-pred-vctpvpsel.ll
M llvm/test/CodeGen/Thumb2/mve-pred-vselect.ll
M llvm/test/CodeGen/Thumb2/mve-pred-xor.ll
M llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
M llvm/test/CodeGen/Thumb2/mve-vcmpf.ll
M llvm/test/CodeGen/Thumb2/mve-vcmpfr.ll
M llvm/test/CodeGen/Thumb2/mve-vcmpfz.ll
M llvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
M llvm/test/CodeGen/Thumb2/mve-vqdmulh.ll
M llvm/test/CodeGen/Thumb2/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/Thumb2/umulo-64-legalisation-lowering.ll
Log Message:
-----------
Reland "[ARM] Stop gluing ALU nodes to branches / selects" (#118887)
Re-landing #116970 after fixing miscompilation error.
The original change made it possible for CMPZ to have multiple uses;
`ARMDAGToDAGISel::SelectCMPZ` was not prepared for this.
Pull Request: https://github.com/llvm/llvm-project/pull/118887
Original commit message:
Following #116547 and #116676, this PR changes the type of results and
operands of some nodes to accept / return a normal type instead of Glue.
Unfortunately, changing the result type of one node requires changing
the operand types of all potential consumer nodes, which in turn
requires changing the result types of all other possible producer nodes.
So this is a bulk change.
Commit: abc4183c731e0a352ebebc96106e3622e6ad5029
https://github.com/llvm/llvm-project/commit/abc4183c731e0a352ebebc96106e3622e6ad5029
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
R 0001-Reland-Add-a-pass-to-collect-dropped-var-stats-for-M.patch
R 0001-Reland-NFC-Move-DroppedVariableStats-to-its-own-file.patch
R llvm/include/llvm/CodeGen/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
R llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
M llvm/unittests/IR/CMakeLists.txt
A llvm/unittests/IR/DroppedVariableStatsTest.cpp
Log Message:
-----------
Revert "Reland "[NFC] Move DroppedVariableStats to its own file and redesign it to be extensible (#118546)" (#119048)"
This reverts commit 37606b4c22654ab66eee8f89448a117f3534f2f4.
Broke the llvm-nvptx-nvidia-ubuntu bot with error: the vtable symbol may
be undefined because the class is missing its key function
Commit: d76650bced1de20cb79d1b4a0c1732339a5d0099
https://github.com/llvm/llvm-project/commit/d76650bced1de20cb79d1b4a0c1732339a5d0099
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M clang/lib/Format/CMakeLists.txt
Log Message:
-----------
[clang-format] Clean up cmake target clang-format-check-format
Commit: 156da986834700890d606b9bd14d3e748c0a82b0
https://github.com/llvm/llvm-project/commit/156da986834700890d606b9bd14d3e748c0a82b0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
Log Message:
-----------
[VPlan] Move printing final VPlan to ::execute (NFC).
This moves printing of the final VPlan to ::execute. This ensures the
final VPlan is printed, including recipes that get introduced by late,
lowering transforms and skeleton construction.
Split off from https://github.com/llvm/llvm-project/pull/114292, to
simplify the diff.
Commit: 570ecdcf8b44aec853ce381a5f6b77222b041afa
https://github.com/llvm/llvm-project/commit/570ecdcf8b44aec853ce381a5f6b77222b041afa
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M compiler-rt/lib/orc/CMakeLists.txt
A compiler-rt/lib/orc/sysv_reentry.arm64.S
A compiler-rt/lib/orc/sysv_resolve.cpp
A compiler-rt/test/orc/TestCases/Generic/Inputs/foo-ret-42.ll
A compiler-rt/test/orc/TestCases/Generic/Inputs/var-x-42.ll
A compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
R compiler-rt/test/orc/TestCases/Generic/orc-rt-executor-usage.test
M compiler-rt/test/orc/lit.cfg.py
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
A llvm/include/llvm/ExecutionEngine/Orc/JITLinkLazyCallThroughManager.h
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
A llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/Core.cpp
A llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
M llvm/lib/ExecutionEngine/Orc/LazyObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
R llvm/test/ExecutionEngine/JITLink/Generic/Inputs/foo-ret-42.ll
R llvm/test/ExecutionEngine/JITLink/Generic/Inputs/var-x-42.ll
R llvm/test/ExecutionEngine/JITLink/Generic/lazy-link.ll
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
[ORC] Introduce LazyReexportsManager, JITLinkTrampolines, ORC-RT base… (#118923)
…d reentry.
These utilities provide new, more generic and easier to use support for
lazy compilation in ORC.
LazyReexportsManager is an alternative to LazyCallThroughManager. It
takes requests for lazy re-entry points in the form of an alias map:
lazy-reexports = {
( <entry point symbol #1>, <implementation symbol #1> ),
( <entry point symbol #2>, <implementation symbol #2> ),
...
( <entry point symbol #n>, <implementation symbol #n> )
}
LazyReexportsManager then:
1. binds the entry points to the implementation names in an internal
table.
2. creates a JIT re-entry trampoline for each entry point.
3. creates a redirectable symbol for each of the entry point name and
binds redirectable symbol to the corresponding reentry trampoline.
When an entry point symbol is first called at runtime (which may be on
any thread of the JIT'd program) it will re-enter the JIT via the
trampoline and trigger a lookup for the implementation symbol stored in
LazyReexportsManager's internal table. When the lookup completes the
entry point symbol will be updated (via the RedirectableSymbolManager)
to point at the implementation symbol, and execution will proceed to the
implementation symbol.
Actual construction of the re-entry trampolines and redirectable symbols
is delegated to an EmitTrampolines functor and the
RedirectableSymbolsManager respectively.
JITLinkReentryTrampolines.h provides a JITLink-based implementation of
the EmitTrampolines functor. (AArch64 only in this patch, but other
architectures will be added in the near future).
Register state save and reentry functionality is added to the ORC
runtime in the __orc_rt_sysv_resolve and __orc_rt_resolve_implementation
functions (the latter is generic, the former will need custom
implementations for each ABI and architecture to be supported, however
this should be much less effort than the existing OrcABISupport
approach, since the ORC runtime allows this code to be written as native
assembly).
The resulting system:
1. Works equally well for in-process and out-of-process JIT'd code.
2. Requires less boilerplate to set up.
Given an ObjectLinkingLayer and PlatformJD (JITDylib containing the ORC
runtime), setup is just:
```c++
auto RSMgr = JITLinkRedirectableSymbolManager::Create(OLL);
if (!RSMgr)
return RSMgr.takeError();
auto LRMgr = createJITLinkLazyReexportsManager(OLL, **RSMgr, PlatformJD);
if (!LRMgr)
return LRMgr.takeError();
```
after which lazy reexports can be introduced with:
```c++
JD.define(lazyReexports(LRMgr, <alias map>));
```
LazyObectLinkingLayer is updated to use this new method, but the LLVM-IR
level CompileOnDemandLayer will continue to use LazyCallThroughManager
and OrcABISupport until the new system supports a wider range of
architectures and ABIs.
The llvm-jitlink utility's -lazy option now uses the new scheme. Since
it depends on the ORC runtime, the lazy-link.ll testcase and associated
helpers are moved to the ORC runtime.
Commit: 5c8ed3a1d9e2d275b8853aea561a258653c8fa7d
https://github.com/llvm/llvm-project/commit/5c8ed3a1d9e2d275b8853aea561a258653c8fa7d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 570ecdcf8b44
Commit: ec22b1ab47828677b1a5fe035e13d3c8ccd50998
https://github.com/llvm/llvm-project/commit/ec22b1ab47828677b1a5fe035e13d3c8ccd50998
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Iterate over blocks in VPlan::execute in RPOT (NFC).
This prepares for more complex CFGs in VPlan, as in
https://github.com/llvm/llvm-project/pull/114292
https://github.com/llvm/llvm-project/pull/112138
Commit: bc624a56c731702d0834e4641e59c532eda04d2e
https://github.com/llvm/llvm-project/commit/bc624a56c731702d0834e4641e59c532eda04d2e
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][vector][nfc] Update vector-to-llvm.mlir (#118112)
* Adds extra comments to group Ops
* Unifies the test function naming, i.e.
* `@vector_{op_name}_{variant}` -> `@{op_name}_{variant}`
* Unifies input variable names (`%input` -> `%arg0`)
* Capitalises LIT variable names (e.g. `%[[insert]]` --> `%[[INSERT]]`)
* Moves `@step_scalable()` _below_ its "fixed-width" counterpart
(to follow the existing consistency within this file).
There's still some inconsistencies within this file - I'm happy to send
more updates if folks find it useful. But I'd definitely recommend
splitting across multiple PRs (otherwise it's hard to review).
Commit: 6073dd923b82a526803d1f85f3531bc0a0721a88
https://github.com/llvm/llvm-project/commit/6073dd923b82a526803d1f85f3531bc0a0721a88
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M compiler-rt/lib/orc/CMakeLists.txt
R compiler-rt/lib/orc/sysv_reentry.arm64.S
R compiler-rt/lib/orc/sysv_resolve.cpp
R compiler-rt/test/orc/TestCases/Generic/Inputs/foo-ret-42.ll
R compiler-rt/test/orc/TestCases/Generic/Inputs/var-x-42.ll
R compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
A compiler-rt/test/orc/TestCases/Generic/orc-rt-executor-usage.test
M compiler-rt/test/orc/lit.cfg.py
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
R llvm/include/llvm/ExecutionEngine/Orc/JITLinkLazyCallThroughManager.h
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
R llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/Core.cpp
R llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
M llvm/lib/ExecutionEngine/Orc/LazyObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/foo-ret-42.ll
A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/var-x-42.ll
A llvm/test/ExecutionEngine/JITLink/Generic/lazy-link.ll
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
Revert "[ORC] Introduce LazyReexportsManager, JITLinkTrampolines, … (#118923)"
This reverts commit 570ecdcf8b44aec853ce381a5f6b77222b041afa while I investigate
bot failures, e.g. https://lab.llvm.org/buildbot/#/builders/17/builds/4446.
Commit: 755519f7f661375be05750001ff11e106e6b7f87
https://github.com/llvm/llvm-project/commit/755519f7f661375be05750001ff11e106e6b7f87
Author: Paul Osmialowski <pawel.osmialowski at arm.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M clang/docs/UsersManual.rst
M clang/include/clang/Driver/Driver.h
M clang/lib/Driver/Driver.cpp
A clang/test/Driver/Inputs/config-l.cfg
M clang/test/Driver/config-file.c
A flang/test/Driver/Inputs/config-l.cfg
M flang/test/Driver/config-file.f90
Log Message:
-----------
[clang][driver] Use $ prefix with config file options to have them added after all of the command line options (#117573)
Currently, if a -l (or -Wl,) flag is added into a config file
(e.g. clang.cfg), it is situated before any object file in the
effective command line. If the library requested by given -l flag is
static, its symbols will not be made visible to any of the object
files provided by the user. Also, the presence of any of the linker
flags in a config file confuses the driver whenever the user invokes
clang without any parameters (see issue #67209).
This patch attempts to solve both of the problems, by allowing a split
of the arguments list into two parts. The head part of the list will
be used as before, but the tail part will be appended after the
command line flags provided by the user and only when it is known
that the linking should occur. The $-prefixed arguments will be added
to the tail part.
Commit: 66424b16ea4b3a154b97036fafed9b4aeb9b5ef8
https://github.com/llvm/llvm-project/commit/66424b16ea4b3a154b97036fafed9b4aeb9b5ef8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 6073dd923b82
Commit: 0cedb8f215965fe25812094a9e2970b56d86a56e
https://github.com/llvm/llvm-project/commit/0cedb8f215965fe25812094a9e2970b56d86a56e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
Log Message:
-----------
[LV] Update checks to actually check VPlan for correct function.
The checks should apply to test_getVectorCallCost, which doesn't have a
wide add.
Commit: b4150ed128a136409a2510ee00003bd318f703fb
https://github.com/llvm/llvm-project/commit/b4150ed128a136409a2510ee00003bd318f703fb
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/BitcastBuffer.cpp
M clang/lib/AST/ByteCode/BitcastBuffer.h
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
Log Message:
-----------
[clang][bytecode] Check composite bitcasts for indeterminate bits (#118988)
Commit: 416e4cd332c7421b187844ac9aaf6fe28b575a7d
https://github.com/llvm/llvm-project/commit/416e4cd332c7421b187844ac9aaf6fe28b575a7d
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
Log Message:
-----------
[clang][bytecode][NFC] Remove leftover debug output
Commit: 94c6dd62faaea33e891ad789c937613a5255f452
https://github.com/llvm/llvm-project/commit/94c6dd62faaea33e891ad789c937613a5255f452
Author: Feng Zou <feng.zou at intel.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M lld/docs/ReleaseNotes.rst
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[docs] Update release notes for APX relocation types (#118575)
Commit: 4bdac0851f4d613890558a8254043e21b0479b1e
https://github.com/llvm/llvm-project/commit/4bdac0851f4d613890558a8254043e21b0479b1e
Author: Chris Apple <cja-private at pm.me>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_main.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
A compiler-rt/test/rtsan/Darwin/dlopen.cpp
Log Message:
-----------
[rtsan] Warn if instrumented rtsan library opened via dlopen and interceptors are not working (#119029)
Commit: ccdd2845c37994d84ae3531e5436c1030b8d5ddf
https://github.com/llvm/llvm-project/commit/ccdd2845c37994d84ae3531e5436c1030b8d5ddf
Author: David Green <david.green at arm.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
Log Message:
-----------
[AArch64][GlobalISel] Add test coverage for reverse shuffles. NFC
Commit: 69227a11fe1d00b2fc6f93b2a985abbe888d0876
https://github.com/llvm/llvm-project/commit/69227a11fe1d00b2fc6f93b2a985abbe888d0876
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M offload/DeviceRTL/CMakeLists.txt
Log Message:
-----------
[offload] Support LIBOMPTARGET_DEVICE_ARCHITECTURES={amdgpu|nvptx} (#119070)
Add two more special values for LIBOMPTARGET_DEVICE_ARCHITECTURES:
`amdgpu` and `nvptx`, to support building for all AMDGPU and NVPTX
targets respectively. This can be used in place of `all` when offload is
built with one of the GPU plugins only.
Commit: 342c8db381129e908116f1059e97d235b62bcaf2
https://github.com/llvm/llvm-project/commit/342c8db381129e908116f1059e97d235b62bcaf2
Author: Chris Apple <cja-private at pm.me>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M clang/docs/RealtimeSanitizer.rst
Log Message:
-----------
[rtsan] NFC: Docs update adding links to Disabling, adding a few ` marks (#119075)
Commit: 3f458cd9abbf99cddcded076b5e7b4049607b7b4
https://github.com/llvm/llvm-project/commit/3f458cd9abbf99cddcded076b5e7b4049607b7b4
Author: Amr Hesham <amr96 at programmer.net>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/warn-stringcompare.c
M clang/test/SemaCXX/warn-array-comparion.cpp
M clang/test/SemaCXX/warn-self-comparisons.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Warning as error Array Comparisons from C++26 (#118872)
Starting from C++26 the array comparison warning should converted to an
error.
Fixes: #117859
Commit: 427172a861f6a1ff1d00771b896d2b2a2ac34494
https://github.com/llvm/llvm-project/commit/427172a861f6a1ff1d00771b896d2b2a2ac34494
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[memprof] Remove a stale comment in a unit test (#119060)
We've removed IndexedAllocationInfo::CallStack, so we don't need to
mention it.
Commit: 4cf0bd89eed3ca08fc00c38a0419ae514075ee7c
https://github.com/llvm/llvm-project/commit/4cf0bd89eed3ca08fc00c38a0419ae514075ee7c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[memprof] Add getMemProfDataForTest for unit tests (#119061)
We always call getFrameMapping and getCallStackMapping together in
InstrProfTest.cpp. This patch combines the two functions into new
function getMemProfDataForTest.
Commit: 8eb5baf5ea52edd0b8df38ffca2a65e21610f3ad
https://github.com/llvm/llvm-project/commit/8eb5baf5ea52edd0b8df38ffca2a65e21610f3ad
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use IndexedMemProfData in a unit test (NFC) (#119062)
IndexedMemProfData eliminates the need for the "using" directives.
Also, we do not need to declare maps for individual components of the
MemProf profile.
Commit: aebd3389a9e694f7087d55e159186734d4559ca6
https://github.com/llvm/llvm-project/commit/aebd3389a9e694f7087d55e159186734d4559ca6
Author: Austin Kerbow <Austin.Kerbow at amd.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU] Fix user SGPR alloc order in docs (#119092)
NFC. Preload kernarg SGPRs are allocated after the private segment size
SGPR. This patch updates AMDGPUUsage.rst to reflect this.
Commit: 66f9448b4b14a117141a3efd014e1240b30b741f
https://github.com/llvm/llvm-project/commit/66f9448b4b14a117141a3efd014e1240b30b741f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
A clang/test/CodeGen/allow-ubsan-check-inline.c
Log Message:
-----------
[NFC][ubsan] Pre-commit test with missed optimization (#119012)
Commit: 1f9f68a1cdbfaed813b35137a600bd76532f0c7e
https://github.com/llvm/llvm-project/commit/1f9f68a1cdbfaed813b35137a600bd76532f0c7e
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/lib/Support/BalancedPartitioning.cpp
Log Message:
-----------
[BalancedPartitioning] Fix -Wdeprecated-this-capture
Commit: e5480f57bbf95e4e7996ad7d2c260a109af6de6a
https://github.com/llvm/llvm-project/commit/e5480f57bbf95e4e7996ad7d2c260a109af6de6a
Author: Giordano Salvador <73959795+e3m3 at users.noreply.github.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
Log Message:
-----------
[mlir][docs] Fix typos in documentation for MLIR tensor dialect (#119095)
Fix typos in the tensor dialect documentation:
1. Typos/Copy-paste errors referencing invalid `memref` type for
`tensor.dim` op.
2. Miscellaneous typos across other tensor dialect ops.
Commit: 639e1fa255206c1e82246b49afbd8c1e44a22c11
https://github.com/llvm/llvm-project/commit/639e1fa255206c1e82246b49afbd8c1e44a22c11
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/include/llvm/ADT/IntervalMap.h
Log Message:
-----------
[IntervalMap] Fix -Wdeprecated-anon-enum-enum-conversion due to InstrProf.h
Commit: 7787328dd64c750c7acf30b86b31f0d7166c8f27
https://github.com/llvm/llvm-project/commit/7787328dd64c750c7acf30b86b31f0d7166c8f27
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M clang/test/CodeGen/allow-ubsan-check-inline.c
Log Message:
-----------
[ubsan] Improve lowering of @llvm.allow.ubsan.check (#119013)
This fix the case, when single hot inlined callsite, prevent
checks for all other. This helps to reduce number of removed checks up
to 50% (deppedes on `cutoff-hot` value) .
`ScalarOptimizerLateEPCallback` was happening during
CGSCC walk, after each inlining, but this is effectively
after inlining.
Example, order in comments:
```
static void overflow() {
// 1. Inline get/set if possible
// 2. Simplify
// 3. LowerAllowCheckPass
set(get() + get());
}
void test() {
// 4. Inline
// 5. Nothing for LowerAllowCheckPass
overflow();
}
```
With this patch it will look like:
```
static void overflow() {
// 1. Inline get/set if possible
// 2. Simplify
set(get() + get());
}
void test() {
// 3. Inline
// 4. Simplify
overflow();
}
// Later, after inliner CGSCC walk complete:
// 5. LowerAllowCheckPass for `overflow`
// 6. LowerAllowCheckPass for `test`
```
Commit: 4153c2dc0537de926b786efebf1849f9986313ef
https://github.com/llvm/llvm-project/commit/4153c2dc0537de926b786efebf1849f9986313ef
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/lib/ProfileData/MemProfReader.cpp
Log Message:
-----------
[ProfileData] Avoid deprecated is_pod
Commit: cb61a5e4209beef64b0a3b621c16010c53ed323a
https://github.com/llvm/llvm-project/commit/cb61a5e4209beef64b0a3b621c16010c53ed323a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix an assertion failure in RemoveSemicolon (#117472)
Fixes #117290.
Commit: 70c1764d7a223b14b38bb394e5020e753be9c869
https://github.com/llvm/llvm-project/commit/70c1764d7a223b14b38bb394e5020e753be9c869
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/CXX/conv/conv.mem/p4.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.op/p4.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/Index/print-type.cpp
M clang/test/Layout/ms-x86-member-pointers.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/static-cast.cpp
M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp
Log Message:
-----------
[clang] [Sema] Preserve nested name specifier prefix in MemberPointerType (#118236)
Fixes https://github.com/llvm/llvm-project/issues/118198
Fixes https://github.com/clangd/clangd/issues/2235
Commit: f0297ae552e1e5aacafc1ed43968041994dc8a6e
https://github.com/llvm/llvm-project/commit/f0297ae552e1e5aacafc1ed43968041994dc8a6e
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.h
M llvm/lib/IR/Intrinsics.cpp
M llvm/unittests/IR/IntrinsicsTest.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
Log Message:
-----------
Switch the intrinsic names to a string table (#118929)
This avoids the need to dynamically relocate each pointer in the table.
To make this work, this PR also moves the binary search of intrinsic
names to an internal function with an adjusted signature, and switches
the unittesting to test against actual intrinsics.
Commit: 16c2a1016e50051909091da078031a3a04b6c880
https://github.com/llvm/llvm-project/commit/16c2a1016e50051909091da078031a3a04b6c880
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/common.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/allocator-registry.h
M flang/include/flang/Runtime/descriptor.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/runtime/CUDA/allocatable.cpp
M flang/runtime/CUDA/allocator.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/runtime/allocatable.cpp
M flang/runtime/array-constructor.cpp
M flang/runtime/descriptor.cpp
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/unittests/Runtime/CUDA/Allocatable.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/Memory.cpp
Log Message:
-----------
Revert "[flang] Allow to pass an async id to allocate the descriptor (#118713)" (#119109)
This reverts commit 7d1c661381d36018fd105f4ad4c2d6dc45e7288b.
This commit breaks some device runtime builds. Need time to investigate.
Commit: 9a156f6b2b0c892d8713ba907f07f027b24953d8
https://github.com/llvm/llvm-project/commit/9a156f6b2b0c892d8713ba907f07f027b24953d8
Author: Stefan Schulze Frielinghaus <stefansf at linux.ibm.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_interceptors.h
M compiler-rt/lib/asan/asan_interceptors_memintrinsics.h
M compiler-rt/lib/memprof/memprof_interceptors.cpp
M compiler-rt/lib/memprof/memprof_interceptors.h
M compiler-rt/lib/memprof/memprof_interceptors_memintrinsics.h
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/msan/msan_poisoning.cpp
M compiler-rt/lib/nsan/nsan_allocator.cpp
M compiler-rt/lib/nsan/nsan_interceptors.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Log Message:
-----------
[sanitizer] Replace uptr by usize/SIZE_T in interfaces
For some targets uptr is mapped to unsigned int and size_t to unsigned
long and sizeof(int)==sizeof(long) holds. Still, these are distinct
types and type checking may fail. Therefore, replace uptr by
usize/SIZE_T wherever a size_t is expected.
Part of #116957
Commit: 684e79f25415250afa51bfcd294d793720aa4bae
https://github.com/llvm/llvm-project/commit/684e79f25415250afa51bfcd294d793720aa4bae
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
A llvm/test/tools/llvm-profdata/memprof-yaml-invalid.test
A llvm/test/tools/llvm-profdata/memprof-yaml.test
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[memprof] Add YAML read/write support to llvm-profdata (#118915)
This patch adds YAML read/write support to llvm-profdata. The primary
intent is to accommodate MemProf profiles in test cases, thereby
avoiding the binary format.
The read support is via llvm-profdata merge. This is useful when we
want to verify that the compiler does the right thing on a given .ll
file and a MemProf profile in a test case. In the test case, we would
convert the MemProf profile in YAML to an indexed profile and invoke
the compiler on the .ll file along with the indexed profile.
The write support is via llvm-profdata show --memory. This is useful
when we wish to convert an indexed MemProf profile to YAML while
writing tests. We would compile a test case in C++, run it for an
indexed MemProf profile, and then convert it to the text format.
Commit: ae5fdaea43cbe7dd722f4fef84be005b2a41711d
https://github.com/llvm/llvm-project/commit/ae5fdaea43cbe7dd722f4fef84be005b2a41711d
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF] Simplify printLocation
sym.file is always non-null (since around #78944).
Commit: ce44640fe29550461120d22b0358e6cac4aed822
https://github.com/llvm/llvm-project/commit/ce44640fe29550461120d22b0358e6cac4aed822
Author: Stefan Schulze Frielinghaus <stefansf at linux.ibm.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M compiler-rt/lib/interception/interception.h
M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
Log Message:
-----------
[sanitizer] Add type __sanitizer::ssize (#116957)
Since the sanitizer merge in commit r15-5164-gfa321004f3f628 of GCC
which entails LLVM commit 61a6439f35b6de28ff4aff4450d6fca970292fd5, GCCs
bootstrap is broken on s390 -m31. This is due to commit
ec68dc1ca4d967b599f1202855917d5ec9cae52f which introduces stricter type
checking which is why GCC bootstrap fails with
```
In file included from /gcc/src/libsanitizer/interception/interception.h:18,
from /gcc/src/libsanitizer/interception/interception_type_test.cpp:14:
/gcc/src/libsanitizer/interception/interception_type_test.cpp:30:61: error: static assertion failed
30 | COMPILER_CHECK((__sanitizer::is_same<::SSIZE_T, ::ssize_t>::value));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/gcc/src/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:363:44: note: in definition of macro 'COMPILER_CHECK'
363 | #define COMPILER_CHECK(pred) static_assert(pred, "")
| ^~~~
make[8]: *** [Makefile:469: interception_type_test.lo] Error 1
```
The culprit seems to be that we don't check for equality of type sizes
anymore but rather whether the types are indeed the same. On s390 -m31
we have that `sizeof(int)==sizeof(long)` holds which is why previously
the checks succeeded. They fail now because
```
size_t => unsigned long
ssize_t => long
ptrdiff_t => int
::SSIZE_T => __sanitizer::sptr => int
::PTRDIFF_T => __sanitizer::sptr => int
```
This is fixed by mapping `SSIZE_T` to `long` in the end.
```
#if defined(__s390__) && !defined(__s390x__)
typedef long ssize;
#else
typedef sptr ssize;
#endif
#define SSIZE_T __sanitizer::ssize
```
Commit: 8669028c1898ac95a5b14a9eacb1d084ab7d7781
https://github.com/llvm/llvm-project/commit/8669028c1898ac95a5b14a9eacb1d084ab7d7781
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Remove unneeded sym->file check
After #78944 and some follow-ups, sym->file, unless in the initial
Placeholder stage, is guaranteed to be non-null.
Commit: 6dec33834d1fd89f16e271dde9607c1de9554144
https://github.com/llvm/llvm-project/commit/6dec33834d1fd89f16e271dde9607c1de9554144
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/memprof/memprof_interceptors.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Log Message:
-----------
[sanitizer] Fix few size types in memprof (#119114)
Fix type in a few related Min() calls.
Follow up to #116957.
Co-authored-by: Stefan Schulze Frielinghaus <stefansf at linux.ibm.com>
Commit: 118f7b95c8546826f222c13daea47cde4aa97bc9
https://github.com/llvm/llvm-project/commit/118f7b95c8546826f222c13daea47cde4aa97bc9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M llvm/test/Instrumentation/SanitizerCoverage/missing_dbg.ll
Log Message:
-----------
[sancov] Regenerate test (#119115)
For #119097.
Commit: f4f6566e44566f3d8cf9517767d457227125ca93
https://github.com/llvm/llvm-project/commit/f4f6566e44566f3d8cf9517767d457227125ca93
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-or-of-select-with-zero.ll
Log Message:
-----------
[InstCombine] Fix type mismatch in `foldICmpBinOpEqualityWithConstant` (#119068)
Closes https://github.com/llvm/llvm-project/issues/119063.
Commit: 6b1c357acc312961743bef05f99120e7c68b2e25
https://github.com/llvm/llvm-project/commit/6b1c357acc312961743bef05f99120e7c68b2e25
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M clang/lib/Format/CMakeLists.txt
Log Message:
-----------
[clang-format] Add cmake target clang-format-help to update ClangFormat.rst
Commit: d31fb264821ceac90b55c87c3f777053ab30a9af
https://github.com/llvm/llvm-project/commit/d31fb264821ceac90b55c87c3f777053ab30a9af
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-07 (Sat, 07 Dec 2024)
Changed paths:
M lld/ELF/SymbolTable.cpp
M lld/ELF/Symbols.cpp
Log Message:
-----------
[ELF] Simplify includeInDynsym for --dynamic-list
Commit: eeadd0128df848eb858ae718984a13fa2c923775
https://github.com/llvm/llvm-project/commit/eeadd0128df848eb858ae718984a13fa2c923775
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M clang/docs/tools/dump_format_help.py
M clang/test/Format/docs_updated.test
Log Message:
-----------
[clang-format] Also check ClangFormat.rst is up to date in docs_updated.test
Commit: 7bad469182ff2f6423ea209d5a1e81acca600568
https://github.com/llvm/llvm-project/commit/7bad469182ff2f6423ea209d5a1e81acca600568
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Log Message:
-----------
[amdgpu][lds] Simplify error diag path - lds variable names are no longer special
Commit: 4e0ba801ea2267d80ff875bdc40984da32db774d
https://github.com/llvm/llvm-project/commit/4e0ba801ea2267d80ff875bdc40984da32db774d
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Log Message:
-----------
Revert "[amdgpu][lds] Simplify error diag path - lds variable names are no longer special"
Test case didn't run locally, investigating
This reverts commit 7bad469182ff2f6423ea209d5a1e81acca600568.
Commit: 25dcee40422097bbdc9fb01224c4b06df13bb6ea
https://github.com/llvm/llvm-project/commit/25dcee40422097bbdc9fb01224c4b06df13bb6ea
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/trunc.ll
Log Message:
-----------
[NFC] Pre commit test for fold trunc nuw X to i1 -> true IFF X != 0
Commit: 9eb4056144a9d2e940272ba9e9675acaa3fbb354
https://github.com/llvm/llvm-project/commit/9eb4056144a9d2e940272ba9e9675acaa3fbb354
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[mlir][llvm] Translation support for task detach (#116601)
This PR adds translation support for task detach. Essentially, if the
`detach` clause is present on a task, emit a
`__kmpc_task_allow_completion_event` on it, and store its return (of
type `kmp_event_t*`) into the `event_handle`.
Commit: fc2cc018ec6112910d6e86585cd9ecdc5f5a3a7e
https://github.com/llvm/llvm-project/commit/fc2cc018ec6112910d6e86585cd9ecdc5f5a3a7e
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
Log Message:
-----------
[GlobalISel] list undocumented opcodes in docs (#119089)
Commit: 6c062afc2e6ed4329e1e14cb011913195a5356fa
https://github.com/llvm/llvm-project/commit/6c062afc2e6ed4329e1e14cb011913195a5356fa
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Compare Frames instead of FrameIds in a unit test (#119111)
When we call IndexedMemProfRecord::toMemProfRecord, we care about
getting the original (that is, non-indexed) MemProfRecord back, so we
should just verify that, not the hash values, which are
intermediaries.
There is a remote possibility of hash collisions where call stack
{F1, F2} might come back as {F1, F1} if F1.hash() == F2.hash() for
example. However, since FrameId uses BLAKE, the hash values should be
consistent across architectures. That is, if this test case works on
one architecture, it should work on others as well.
Commit: aedc81b9d8880a60877a53469aeb89ff62466f6f
https://github.com/llvm/llvm-project/commit/aedc81b9d8880a60877a53469aeb89ff62466f6f
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M lld/ELF/LTO.cpp
Log Message:
-----------
[ELF] Remove unneeded sym->inDynamicList check
Follow-up to d31fb264821ceac90b55c87c3f777053ab30a9af
Commit: c6508809585505ffb88f5f724da04bbc058eabf8
https://github.com/llvm/llvm-project/commit/c6508809585505ffb88f5f724da04bbc058eabf8
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Symbols.h
Log Message:
-----------
[ELF] Simplify handling of exportDynamic and canBeOmittedFromSymbolTable
When computing whether a defined symbol is exported, we set
`exportDynamic` in Defined and CommonSymbol's ctor and merge the bit in
symbol resolution. The complexity is for the LTO special case
canBeOmittedFromSymbolTable, which can be simplified by introducing a
new bit.
We might simplify the state by caching includeInDynsym in exportDynamic
in the future.
Commit: 8843d2b4695419caa774b40582146446f350a504
https://github.com/llvm/llvm-project/commit/8843d2b4695419caa774b40582146446f350a504
Author: Chris Apple <cja-private at pm.me>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M clang/docs/RealtimeSanitizer.rst
Log Message:
-----------
[rtsan] Add `verify_interceptors` flag to docs (#119074)
Commit: 1fbbf4c418bc4945839a70fe2849cbe6fbcc3d66
https://github.com/llvm/llvm-project/commit/1fbbf4c418bc4945839a70fe2849cbe6fbcc3d66
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/BitcastBuffer.h
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
M clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
Log Message:
-----------
[clang][bytecode] Pass (float) BitWidth to DoBitCast (#119119)
In certain cases (i.e. long double on x86), the bit with we get from the
floating point semantics is different than the type size we compute for
the BitCast instruction. Pass this along to DoBitCast, so in there we
can check only the relevant bits for being initialized.
This also fixes a weirdness we still had in DoBitCast.
Commit: b1d42465fc1485d46b4727e6830272f369fb6cb5
https://github.com/llvm/llvm-project/commit/b1d42465fc1485d46b4727e6830272f369fb6cb5
Author: Austin Kerbow <Austin.Kerbow at amd.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/invalid-hidden-kernarg-in-kernel-signature.ll
M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
Log Message:
-----------
[AMDGPU] Fix hidden kernarg preload count inconsistency (#116759)
It is possible that the number of hidden arguments that are selected to
be preloaded in AMDGPULowerKernel arguments and isel can differ. This
isn't an issue with explicit arguments since isel can lower the argument
correctly either way, but with hidden arguments we may have alignment
issues if we try to load these hidden arguments that were added to the
kernel signature.
The reason for the mismatch is that isel reserves an extra synthetic
user SGPR for module LDS.
Instead of teaching lowerFormalArguments how to handle these properly it
makes more sense and is less expensive to fix the mismatch and assert if
we ever run into this issue again. We should never be trying to lower
these in the normal way.
In a future change we probably want to revise how we track "synthetic"
user SGPRs and unify the handling in GCNUserSGPRUsageInfo. Sometimes
synthetic SGPRSs are considered user SGPRs and sometimes they are not.
Until then this patch resolves the inconsistency, fixes the bug, and is
otherwise a NFC.
Commit: 2ab687e205d44a17c81965a1861fa08a98078eaa
https://github.com/llvm/llvm-project/commit/2ab687e205d44a17c81965a1861fa08a98078eaa
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] fdopen/freopen(64) support. (#119100)
Commit: b0f06769e6e2ea2bc4ce3554ebf66384a1236106
https://github.com/llvm/llvm-project/commit/b0f06769e6e2ea2bc4ce3554ebf66384a1236106
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_cvt.c
M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_cvt.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll
Log Message:
-----------
[AArch64] Implement intrinsics for SME FP8 F1CVT/F2CVT and BF1CVT/BF2CVT (#118027)
This patch implements the following intrinsics:
8-bit floating-point convert to half-precision or BFloat16 (in-order).
``` c
// Variant is also available for: _bf16[_mf8]_x2
svfloat16x2_t svcvt1_f16[_mf8]_x2_fpm(svmfloat8_t zn, fpm_t fpm) __arm_streaming;
svfloat16x2_t svcvt2_f16[_mf8]_x2_fpm(svmfloat8_t zn, fpm_t fpm) __arm_streaming;
```
In accordance with https://github.com/ARM-software/acle/pull/323.
Co-authored-by: Marin Lukac marian.lukac at arm.com
Co-authored-by: Caroline Concatto caroline.concatto at arm.com
Commit: b6dfdd2b1ecc84c77ea4eec3713caa07a1cab198
https://github.com/llvm/llvm-project/commit/b6dfdd2b1ecc84c77ea4eec3713caa07a1cab198
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Drop memprof:: in unit tests (NFC) (#119113)
This patch replaces memprof::Foo with Foo if we have corresponding:
using llvm::memprof::Foo;
Commit: 2b129dacdde667137b5012d52f1d96e0ab26c749
https://github.com/llvm/llvm-project/commit/2b129dacdde667137b5012d52f1d96e0ab26c749
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/SymbolTable.cpp
M lld/test/ELF/symver.s
Log Message:
-----------
[ELF] Optimize parseSymbolVersion
We can just scan objectFiles and sharedFiles that have versioned symbols
to skip scanning the global symtab. While we won't suggest __wrap_foo
for undefined __wrap_foo at v1 when --wrap=foo at v1 is specified
(internalFile isn't scanned), this edge case difference is acceptable.
Commit: bd07e87082aec965820b1facc495a1363cbc243f
https://github.com/llvm/llvm-project/commit/bd07e87082aec965820b1facc495a1363cbc243f
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/trunc.ll
Log Message:
-----------
[NFC] Pre commit test for fold trunc nsw X to i1 -> true IFF X != 0
Commit: 47df46b1e7a397af428bc455b8e173fbdf4869af
https://github.com/llvm/llvm-project/commit/47df46b1e7a397af428bc455b8e173fbdf4869af
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/sincos.ll
Log Message:
-----------
[InstSimplify] Add basic constant folding for `llvm.sincos` (#114527)
This calls into the existing constant folding for `llvm.sin` and
`llvm.cos`, which currently does not fold for any non-finite values, so
most tests are negative tests at the moment.
Note: The constant folding does not consider the `afn` fast-math flag
and will produce the same result regardless of if the flag is set.
Commit: afef545efab77a8f081cae72900c273af4d5c35c
https://github.com/llvm/llvm-project/commit/afef545efab77a8f081cae72900c273af4d5c35c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
Log Message:
-----------
[VPlan] Address post-commit for #114305.
Apply suggested renaming and adjust placement as suggested in
https://github.com/llvm/llvm-project/pull/114305. Also drop unneeded
RPOT creation.
Commit: 855bc46bc810c4ae97ea9f427429a7efd8b9cc15
https://github.com/llvm/llvm-project/commit/855bc46bc810c4ae97ea9f427429a7efd8b9cc15
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/trunc.ll
Log Message:
-----------
[InstCombine] Fold trunc nuw/nsw X to i1 -> true IFF X != 0 (#119131)
proof https://alive2.llvm.org/ce/z/prpPex
Commit: c4aa67e8661c7550dd2d014a991b08eb71566cf7
https://github.com/llvm/llvm-project/commit/c4aa67e8661c7550dd2d014a991b08eb71566cf7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
R llvm/test/Transforms/InstSimplify/sincos.ll
Log Message:
-----------
Revert "[InstSimplify] Add basic constant folding for `llvm.sincos`" (#119149)
Reverts llvm/llvm-project#114527
Reverting due to buildbot failures (e.g.
https://lab.llvm.org/buildbot/#/builders/180/builds/9685)
Commit: eff0d8103c5e0db938550dd6e18230ea8ed9ff4b
https://github.com/llvm/llvm-project/commit/eff0d8103c5e0db938550dd6e18230ea8ed9ff4b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Adjust original position of convertToConcreteRecipes.
Restore the original position of the call before afef545efab77a8
to fix a number of crashes.
Commit: 1dfa34c8e1f28963f059e05ce89ebf1f76ebbddc
https://github.com/llvm/llvm-project/commit/1dfa34c8e1f28963f059e05ce89ebf1f76ebbddc
Author: David Green <david.green at arm.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-dup.ll
A llvm/test/CodeGen/AArch64/dup.ll
Log Message:
-----------
[AArch64] Extended Dup test coverage. NFC
Commit: fe0d0a9e627f606cd2356cc5b2ee0266e8e3ef38
https://github.com/llvm/llvm-project/commit/fe0d0a9e627f606cd2356cc5b2ee0266e8e3ef38
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
Log Message:
-----------
[ELF] Merge numSymbols and numELFSyms
Commit: a1197a2ca8a77c08a36445401a063a1c4efec6a9
https://github.com/llvm/llvm-project/commit/a1197a2ca8a77c08a36445401a063a1c4efec6a9
Author: Kinoshita Kotaro <k.kotaro at fujitsu.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
A clang/test/Driver/aarch64-fujitsu-monaka.c
A clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/test/CodeGen/AArch64/cpus.ll
M llvm/unittests/TargetParser/Host.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add initial support for FUJITSU-MONAKA (#118432)
This patch adds initial support for FUJITSU-MONAKA CPU (-mcpu=fujitsu-monaka).
The scheduling model will be corrected in the future.
Commit: 41652c6c92958a87b8505b9b1e6f008856e392ac
https://github.com/llvm/llvm-project/commit/41652c6c92958a87b8505b9b1e6f008856e392ac
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M compiler-rt/lib/orc/CMakeLists.txt
A compiler-rt/lib/orc/sysv_reentry.arm64.S
A compiler-rt/lib/orc/sysv_resolve.cpp
A compiler-rt/test/orc/TestCases/Generic/Inputs/foo-ret-42.ll
A compiler-rt/test/orc/TestCases/Generic/Inputs/var-x-42.ll
A compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
R compiler-rt/test/orc/TestCases/Generic/orc-rt-executor-usage.test
M compiler-rt/test/orc/lit.cfg.py
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
A llvm/include/llvm/ExecutionEngine/Orc/JITLinkLazyCallThroughManager.h
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
A llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
A llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
M llvm/lib/ExecutionEngine/Orc/LazyObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
R llvm/test/ExecutionEngine/JITLink/Generic/Inputs/foo-ret-42.ll
R llvm/test/ExecutionEngine/JITLink/Generic/Inputs/var-x-42.ll
R llvm/test/ExecutionEngine/JITLink/Generic/lazy-link.ll
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
Reapply "[ORC] Introduce LazyReexportsManager, … (#118923)" with fixes
This reapplies 570ecdcf8b4, which was reverted in 6073dd923b8 due to bot
failures.
The test failures on Linux were fixed by:
1. Removing an overly restrictive assertion (query dependence on a symbol no
longer implies a MaterializingInfo for that symbol)
2. Adding reentry and resolver files to the ORC runtime CMakeLists.txt for
Linux.
3. Adding the __orc_rt_reentry -> __orc_rt_sysv_reentry alias to ELFNixPlatform.
Commit: 8569b47063a6df1d47ae24a54a3a4af3f7a846c1
https://github.com/llvm/llvm-project/commit/8569b47063a6df1d47ae24a54a3a4af3f7a846c1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 41652c6c9295
Commit: f91a5fee53651d39eb9a610fcc25fb68915c64dc
https://github.com/llvm/llvm-project/commit/f91a5fee53651d39eb9a610fcc25fb68915c64dc
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
Log Message:
-----------
[libc] fix woa64 fenv implementation (#119155)
Changing name type to match x86-64. This resolves definition conflicts
with `core_crt` headers.
fix #119154
Commit: f145ff3f70d0c1a71d08613f692376003ab398b9
https://github.com/llvm/llvm-project/commit/f145ff3f70d0c1a71d08613f692376003ab398b9
Author: c8ef <c8ef at outlook.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/ExprConstant.cpp
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/Sema/constant_builtins_vector.cpp
Log Message:
-----------
[clang] constexpr built-in elementwise add_sat/sub_sat functions. (#119082)
Part of #51787.
This patch adds constexpr support for the built-in elementwise add_sat
and sub_sat functions.
Commit: 74e8a37ff32e599fd40858e0d6c7e531dcbe4e03
https://github.com/llvm/llvm-project/commit/74e8a37ff32e599fd40858e0d6c7e531dcbe4e03
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M compiler-rt/lib/orc/CMakeLists.txt
R compiler-rt/lib/orc/sysv_reentry.arm64.S
R compiler-rt/lib/orc/sysv_resolve.cpp
R compiler-rt/test/orc/TestCases/Generic/Inputs/foo-ret-42.ll
R compiler-rt/test/orc/TestCases/Generic/Inputs/var-x-42.ll
R compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
A compiler-rt/test/orc/TestCases/Generic/orc-rt-executor-usage.test
M compiler-rt/test/orc/lit.cfg.py
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
R llvm/include/llvm/ExecutionEngine/Orc/JITLinkLazyCallThroughManager.h
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
R llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
R llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
M llvm/lib/ExecutionEngine/Orc/LazyObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/foo-ret-42.ll
A llvm/test/ExecutionEngine/JITLink/Generic/Inputs/var-x-42.ll
A llvm/test/ExecutionEngine/JITLink/Generic/lazy-link.ll
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
Revert "Reapply "[ORC] Introduce LazyReexportsManager, … (#118923)" with fixes"
This reverts commit 41652c6c92958a87b8505b9b1e6f008856e392ac while I investigate
more bot failures.
Commit: a00eab6a48d70408f8a08654a4bbdd05401ac85e
https://github.com/llvm/llvm-project/commit/a00eab6a48d70408f8a08654a4bbdd05401ac85e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 74e8a37ff32e
Commit: 18538e213498281653fca5baefa2dec4ae51bf91
https://github.com/llvm/llvm-project/commit/18538e213498281653fca5baefa2dec4ae51bf91
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/SymbolTable.cpp
M lld/test/ELF/symver.s
Log Message:
-----------
Revert "[ELF] Optimize parseSymbolVersion"
This reverts commit 2b129dacdde667137b5012d52f1d96e0ab26c749.
parseSymbolVersion can be combined with computeIsPreemptible,
making hasVersionSyms unneeded.
Commit: 712264b83c736fac7a7f0d4296f84c1afbd93b1a
https://github.com/llvm/llvm-project/commit/712264b83c736fac7a7f0d4296f84c1afbd93b1a
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/ICF.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Symbols.h
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Merge parseSymbolVersion and computeIspreemptible
ICF needs isPreemptible, which can be combined with parseSymbolVersion.
Commit: a4506bb340c36d48d89afe5bd76a1a2f28f76fd9
https://github.com/llvm/llvm-project/commit/a4506bb340c36d48d89afe5bd76a1a2f28f76fd9
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseExpr.cpp
M clang/test/Parser/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Clang] Recurse into parsing when using pack-indexing as a specifier (#119123)
Pack indexing type that introduces a scope, e.g. `T...[0]::value` would
be annotated as `annot_cxxscope`. This is something we didn't handle in
`ParseCastExpression`, causing it to mistakely fall through to the logic
for `raw_identifier`.
We should recurse into parsing the following specifiers for such cases.
Closes #119072
Commit: b33c807b39e2fa07977277d13552f3d773c6b61e
https://github.com/llvm/llvm-project/commit/b33c807b39e2fa07977277d13552f3d773c6b61e
Author: Ruiling, Song <ruiling.song at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
A llvm/test/CodeGen/AMDGPU/group-image-instructions.ll
M llvm/test/CodeGen/AMDGPU/schedule-ilp-liveness-tracking.mir
M llvm/test/CodeGen/AMDGPU/schedule-ilp.ll
Log Message:
-----------
[AMDGPU] Add MaxMemoryClauseSchedStrategy (#114957)
Also expose an option to choose custom scheduler strategy:
amdgpu-sched-strategy={max-ilp|max-memory-clause}
This can be set through either function attribute or command line option.
The major behaviors of the max memory clause schedule strategy includes:
1. Try to cluster memory instructions more aggressively.
2. Try to schedule long latency load earlier than short latency
instruction.
I tested locally against about 470 real shaders and got the perf
changes (only count perf changes over +/-10%):
About 15 shaders improved 10%~40%.
Only 3 shaders drops ~10%.
(This was tested together with another change which increases the
maximum clustered dword from 8 to 32).
I will make another change to make that threshold configurable.
Commit: f6c51ea84ac914454142ee76f317c5f66a088434
https://github.com/llvm/llvm-project/commit/f6c51ea84ac914454142ee76f317c5f66a088434
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M compiler-rt/lib/orc/tests/unit/CMakeLists.txt
A compiler-rt/lib/orc/tests/unit/common.cpp
Log Message:
-----------
[ORC-RT] Fix unit tests on Linux.
The unit tests may transiently depend on __orc_rt_log_error, which is usually
provided by an alias when loading the runtime through the JIT. The unit tests
statically link the runtime, so this patch provides a fixed definition.
Commit: be2df95e9281985b61270bb6420ea0eeeffbbe59
https://github.com/llvm/llvm-project/commit/be2df95e9281985b61270bb6420ea0eeeffbbe59
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARC.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/AVR.h
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Basic/Targets/BPF.h
M clang/lib/Basic/Targets/CSKY.cpp
M clang/lib/Basic/Targets/CSKY.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Hexagon.h
M clang/lib/Basic/Targets/Lanai.h
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/M68k.cpp
M clang/lib/Basic/Targets/M68k.h
M clang/lib/Basic/Targets/MSP430.h
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/PNaCl.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/Sparc.h
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/VE.cpp
M clang/lib/Basic/Targets/VE.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Basic/Targets/XCore.cpp
M clang/lib/Basic/Targets/XCore.h
Log Message:
-----------
Switch builtin strings to use string tables (#118734)
The Clang binary (and any binary linking Clang as a library), when built
using PIE, ends up with a pretty shocking number of dynamic relocations
to apply to the executable image: roughly 400k.
Each of these takes up binary space in the executable, and perhaps most
interestingly takes start-up time to apply the relocations.
The largest pattern I identified were the strings used to describe
target builtins. The addresses of these string literals were stored into
huge arrays, each one requiring a dynamic relocation. The way to avoid
this is to design the target builtins to use a single large table of
strings and offsets within the table for the individual strings. This
switches the builtin management to such a scheme.
This saves over 100k dynamic relocations by my measurement, an over 25%
reduction. Just looking at byte size improvements, using the `bloaty`
tool to compare a newly built `clang` binary to an old one:
```
FILE SIZE VM SIZE
-------------- --------------
+1.4% +653Ki +1.4% +653Ki .rodata
+0.0% +960 +0.0% +960 .text
+0.0% +197 +0.0% +197 .dynstr
+0.0% +184 +0.0% +184 .eh_frame
+0.0% +96 +0.0% +96 .dynsym
+0.0% +40 +0.0% +40 .eh_frame_hdr
+114% +32 [ = ] 0 [Unmapped]
+0.0% +20 +0.0% +20 .gnu.hash
+0.0% +8 +0.0% +8 .gnu.version
+0.9% +7 +0.9% +7 [LOAD #2 [R]]
[ = ] 0 -75.4% -3.00Ki .relro_padding
-16.1% -802Ki -16.1% -802Ki .data.rel.ro
-27.3% -2.52Mi -27.3% -2.52Mi .rela.dyn
-1.6% -2.66Mi -1.6% -2.66Mi TOTAL
```
We get a 16% reduction in the `.data.rel.ro` section, and nearly 30%
reduction in `.rela.dyn` where those reloctaions are stored.
This is also visible in my benchmarking of binary start-up overhead at
least:
```
Benchmark 1: ./old_clang --version
Time (mean ± σ): 17.6 ms ± 1.5 ms [User: 4.1 ms, System: 13.3 ms]
Range (min … max): 14.2 ms … 22.8 ms 162 runs
Benchmark 2: ./new_clang --version
Time (mean ± σ): 15.5 ms ± 1.4 ms [User: 3.6 ms, System: 11.8 ms]
Range (min … max): 12.4 ms … 20.3 ms 216 runs
Summary
'./new_clang --version' ran
1.13 ± 0.14 times faster than './old_clang --version'
```
We get about 2ms faster `--version` runs. While there is a lot of noise
in binary execution time, this delta is pretty consistent, and
represents over 10% improvement. This is particularly interesting to me
because for very short source files, repeatedly starting the `clang`
binary is actually the dominant cost. For example, `configure` scripts
running against the `clang` compiler are slow in large part because of
binary start up time, not the time to process the actual inputs to the
compiler.
----
This PR implements the string tables using `constexpr` code and the
existing macro system. I understand that the builtins are moving towards
a TableGen model, and if complete that would provide more options for
modeling this. Unfortunately, that migration isn't complete, and even
the parts that are migrated still rely on the ability to break out of
the TableGen model and directly expand an X-macro style `BUILTIN(...)`
textually. I looked at trying to complete the move to TableGen, but it
would both require the difficult migration of the remaining targets, and
solving some tricky problems with how to move away from any macro-based
expansion.
I was also able to find a reasonably clean and effective way of doing
this with the existing macros and some `constexpr` code that I think is
clean enough to be a pretty good intermediate state, and maybe give a
good target for the eventual TableGen solution. I was also able to
factor the macros into set of consistent patterns that avoids a
significant regression in overall boilerplate.
Commit: 44c645fcc9c65bfe3f13813efd0998fac188987d
https://github.com/llvm/llvm-project/commit/44c645fcc9c65bfe3f13813efd0998fac188987d
Author: lntue <lntue at google.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M libc/hdr/fcntl_overlay.h
M libc/hdr/types/CMakeLists.txt
M libc/hdr/types/struct_f_owner_ex.h
M libc/hdr/types/struct_flock.h
M libc/hdr/types/struct_flock64.h
Log Message:
-----------
[libc] Fix overlay mode inclusion for fcntl.h header. (#119159)
Commit: f2d18a4d00c5f5dea436b4f7b62ec5c87b98eac2
https://github.com/llvm/llvm-project/commit/f2d18a4d00c5f5dea436b4f7b62ec5c87b98eac2
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M compiler-rt/lib/orc/CMakeLists.txt
A compiler-rt/lib/orc/resolve.cpp
A compiler-rt/lib/orc/sysv_reenter.arm64.S
A compiler-rt/test/orc/TestCases/Generic/Inputs/foo-ret-42.ll
A compiler-rt/test/orc/TestCases/Generic/Inputs/var-x-42.ll
A compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
R compiler-rt/test/orc/TestCases/Generic/orc-rt-executor-usage.test
M compiler-rt/test/orc/lit.cfg.py
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
A llvm/include/llvm/ExecutionEngine/Orc/JITLinkLazyCallThroughManager.h
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
A llvm/include/llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyObjectLinkingLayer.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
A llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
M llvm/lib/ExecutionEngine/Orc/LazyObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
R llvm/test/ExecutionEngine/JITLink/Generic/Inputs/foo-ret-42.ll
R llvm/test/ExecutionEngine/JITLink/Generic/Inputs/var-x-42.ll
R llvm/test/ExecutionEngine/JITLink/Generic/lazy-link.ll
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
Reapply "[ORC] Introduce LazyReexportsManager, ... (#118923)" with fixes.
This re-applies 570ecdcf8b4, which was reverted in 74e8a37ff32 due to bot
failures. This commit renames sysv_resolve.cpp to resolve.cpp, which was the
cause of the config errors.
Commit: 8b041faeef5edfe719883dcc20c4b28a10cf6419
https://github.com/llvm/llvm-project/commit/8b041faeef5edfe719883dcc20c4b28a10cf6419
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port f2d18a4d00c5
Commit: 170467eeab6a6e2834c706cc709652d7da74085d
https://github.com/llvm/llvm-project/commit/170467eeab6a6e2834c706cc709652d7da74085d
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M libc/test/src/__support/CPP/atomic_test.cpp
Log Message:
-----------
[libc] fix 32bit riscv atomic tests (#119087)
This patch fixes test build failures on rv32 platforms. For non-integral
data, it always limits the size and align to be the same as platform
pointer layout. This should avoid the emitting of call to external
`libatomic` symbols.
Commit: 4228a6ef2b41fe4c0c9f65839e2b7f4a0b4c6627
https://github.com/llvm/llvm-project/commit/4228a6ef2b41fe4c0c9f65839e2b7f4a0b4c6627
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vmul.ll
Log Message:
-----------
[msan] Add test for Arm NEON vmul (#117935)
Commit: 4dcc2f5db9d3a9d317aa1acde7adbbe9ec467cb2
https://github.com/llvm/llvm-project/commit/4dcc2f5db9d3a9d317aa1acde7adbbe9ec467cb2
Author: lntue <lntue at google.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
Log Message:
-----------
[libc] Replace LLVM_COMPILER_IS_GCC_COMPATIBLE with a local check. (#119164)
Commit: d6501dc88d5e040b31ffb83ebcf02c941c7c964f
https://github.com/llvm/llvm-project/commit/d6501dc88d5e040b31ffb83ebcf02c941c7c964f
Author: abhishek-kaushik22 <abhishek.kaushik at intel.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx10_2-cmp.ll
Log Message:
-----------
[X86][AVX512] Check input-types to COMX (#118606)
Supported types for COMX are f16, f32 and f64.
Without this check there's a crash on f80 types.
Fixes: https://github.com/llvm/llvm-project/issues/118605
Commit: eaa1b05c48c88ed6da6b8fc21d07f8417575a051
https://github.com/llvm/llvm-project/commit/eaa1b05c48c88ed6da6b8fc21d07f8417575a051
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/cond-at-use.ll
Log Message:
-----------
[LVI] Thread binop over select with constant arms (#110212)
Motivating case from https://github.com/delta-io/delta-rs:
https://alive2.llvm.org/ce/z/3mzr4C
Commit: 9514a7784e9bb57e2ebea5f578daf5cca451b2c3
https://github.com/llvm/llvm-project/commit/9514a7784e9bb57e2ebea5f578daf5cca451b2c3
Author: Viktoria Maximova <viktoria.maksimova at intel.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_subgroup_local_block_io.ll
Log Message:
-----------
[SPIR-V] [NFC] Verify cl_intel_subgroup_local_block_io extension in SPIR-V BE (#118796)
This OpenCL extension extends the subgroup block read and write
functions defined by `cl_intel_subgroups` (and its `char`, `short`, and
`long` versions) to support reading from and writing to pointers to the`
__local` memory address space in addition to pointers to the `__global`
memory address space.
The builtins are translated to SPIR-V using `SPV_INTEL_subgroups`
extension.
Commit: 6b93a1ff82b5d3c9254cf67a5e1c7151f462a7d7
https://github.com/llvm/llvm-project/commit/6b93a1ff82b5d3c9254cf67a5e1c7151f462a7d7
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[compiler-rt] fix __sanitizer::struct_sock_fprog_sz availability (#118762)
Commit: 3733ed6f1c6b0eef1e13e175ac81ad309fc0b080
https://github.com/llvm/llvm-project/commit/3733ed6f1c6b0eef1e13e175ac81ad309fc0b080
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/LTO.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Symbols.h
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Introduce Symbol::isExported to cache includeInDynsym
isExported, intended to replace exportDynamic, is primarily set in two
locations, (a) after parseSymbolVersion and (b) during demoteSymbols.
In the future, we should try removing exportDynamic. Currently,
merging exportDynamic/isExported would cause
riscv-gp.s to fail:
* The first isExported computation considers the undefined symbol exported
* Defined as a linker-synthesized symbol
* isExported remains true, while it should be false
Commit: 6a137fbe64736d59f1813b572fe7d213fc5bd4f6
https://github.com/llvm/llvm-project/commit/6a137fbe64736d59f1813b572fe7d213fc5bd4f6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use namespaces in a unit test (#119144)
MemProfTest.cpp is about MemProf, so mentioning llvm::memprof
everywhere is quite verbose.
Commit: 0b0d9a3bee47e9de05e869be306284fa66533f63
https://github.com/llvm/llvm-project/commit/0b0d9a3bee47e9de05e869be306284fa66533f63
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/copysign-simplify-demanded-bits.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
M llvm/test/CodeGen/AMDGPU/rsq.f32.ll
Log Message:
-----------
[CodeGen] [AMDGPU] Attempt DAGCombine for fmul with select to ldexp (#111109)
The materialization cost of 32-bit non-inline in case of fmul is quite
relatively more, rather than if possible to combine it into ldexp
instruction for specific scenarios (for datatypes like f64, f32 and f16)
as this is being handled here :
The dag combine for any pair of select values which are exact exponent
of 2.
```
fmul x, select(y, A, B) -> ldexp (x, select i32 (y, a, b))
fmul x, select(y, -A, -B) -> ldexp ((fneg x), select i32 (y, a, b))
where, A=2^a & B=2^b ; a and b are integers.
```
This dagCombine is handled separately in fmulCombine (newly defined in
SIIselLowering), targeting fmul fusing it with select type operand into
ldexp.
Thus, it fixes #104900.
Commit: 26760c7b907c1012c44d15959319bfa06848e5cd
https://github.com/llvm/llvm-project/commit/26760c7b907c1012c44d15959319bfa06848e5cd
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/index/dex/Dex.h
Log Message:
-----------
[clangd] Add clarifying comment about when Dex::IdxContents is populated (#118906)
Commit: e0ea9fd6dc36f585e364d4e569095ebe063e2573
https://github.com/llvm/llvm-project/commit/e0ea9fd6dc36f585e364d4e569095ebe063e2573
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-08 (Sun, 08 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-threeway-cmp-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-threeway-cmp-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/scmp.ll
A llvm/test/CodeGen/RISCV/GlobalISel/ucmp.ll
Log Message:
-----------
[RISCV][GISel] Lower G_SCMP and G_UCMP. (#119112)
Codegen is not optimal for RISC-V yet. We should port the (sub (setgt X,
Y), (setlt X, Y)) lowering from SelectionDAG.
Commit: beea45611839c61915f7fd26a0cc91b631c71f42
https://github.com/llvm/llvm-project/commit/beea45611839c61915f7fd26a0cc91b631c71f42
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
Log Message:
-----------
[Mips] Fix result type of MAdd/MSub nodes (#117455)
They have one "untyped" result in `MipsInstrInfo.td`, and this type is
used in DAG patterns.
Commit: 9a415f6d6b2f91e4e8d24f88f577a58a0ed3b9e8
https://github.com/llvm/llvm-project/commit/9a415f6d6b2f91e4e8d24f88f577a58a0ed3b9e8
Author: David Green <david.green at arm.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
M llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
Log Message:
-----------
[GlobalISel] Fold ptrtoint(undef) and inttoptr(undef) to undef. (#119073)
This helps with shuffles a little, and one of the amd gpu tests is now
equivalent to the SDAG version.
Commit: 411df3bb4941318a02a59b4cd7a898d4f9b788a3
https://github.com/llvm/llvm-project/commit/411df3bb4941318a02a59b4cd7a898d4f9b788a3
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/docs/tools/dump_format_style.py
M clang/test/Format/docs_updated.test
Log Message:
-----------
[clang-format] Make command lines of dump_format_[style|help].py consistent
Commit: 6d759f83eb779cfdec02c1fe33344f3215bbdab1
https://github.com/llvm/llvm-project/commit/6d759f83eb779cfdec02c1fe33344f3215bbdab1
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/new-delete.cpp
Log Message:
-----------
[Clang] Deleting an incomplete enum type is not an error (#119077)
The changes introduced in #97733 accidentally prevented to delete an
incomplete enum
(the validity of which has been confirmed by CWG2925
Fixes #99278
Commit: 98b694b66032b8b66b800a9ff44089245b3786dd
https://github.com/llvm/llvm-project/commit/98b694b66032b8b66b800a9ff44089245b3786dd
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
A llvm/test/CodeGen/AArch64/stack-tagging-epilogue-fold.mir
Log Message:
-----------
[AArch64] Fix range check for STGPostIndex (#117146)
When generating function epilogues using AArch64 stack tagging, we can
fold an SP update into the tag-setting loop. The loop tags 32 bytes at a
time using ST2G, so the final SP update might be done either by a post
indexed STG which tags the final 16 bytes of the tagged region, or by an
ADD/SUB instruction after the loop. However, we were only considering
the range of the ADD/SUB instructions when deciding whether to do this,
and the valid immediate range for STG is slightly lower when the offset
is positive, because it is a signed immediate, and must include the
extra 16 bytes being tagged.
Commit: 01710aa345f2fb26e2312dd1c62bd0044fc75bed
https://github.com/llvm/llvm-project/commit/01710aa345f2fb26e2312dd1c62bd0044fc75bed
Author: Vladislav Belov <vladislav.belov at syntacore.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/lib/AST/CXXInheritance.cpp
M clang/test/CXX/drs/cwg5xx.cpp
Log Message:
-----------
[clang] Fix cast for injected types in case name lookup for dependent bases (#119024)
An assertion failure occurs in Clang when attempting to compile such an
example:
```c++
template <typename, typename, bool> struct MozPromise {
class Private;
private:
int mMagic4 = 42;
};
template <typename ResolveValueT, typename RejectValueT, bool IsExclusive>
struct MozPromise<ResolveValueT, RejectValueT, IsExclusive>::Private : MozPromise {
void SetTaskPriority() { mMagic4 ; }
};
```
Output:
```
clang: llvm-project/llvm/include/llvm/Support/Casting.h:566: decltype(auto) llvm::cast(const From&) [with To = clang::RecordType; From = clang::QualType]: Assertion `isa<To>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
```
The reason is in the incorrect way of casting types when searching for
names in base classes
```c++
return Specifier->getType()->castAs<RecordType>()->getDecl()->getCanonicalDecl() == BaseRecord;
```
It loses injected types for template class names.
This patch provides fix for such cases
Commit: 62a25a4c7c3b291f0805894926419f1a64cd83f8
https://github.com/llvm/llvm-project/commit/62a25a4c7c3b291f0805894926419f1a64cd83f8
Author: Yihang Liu <2654791554 at qq.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
A llvm/test/Transforms/InstCombine/select-and-cmp.ll
A llvm/test/Transforms/InstCombine/select-or-cmp.ll
R llvm/test/Transforms/InstSimplify/select-and-cmp.ll
R llvm/test/Transforms/InstSimplify/select-or-cmp.ll
Log Message:
-----------
[InstSimplify] Remove foldSelectWithBinaryOp (#118913)
As mentioned in https://github.com/llvm/llvm-project/issues/118815, the
purpose of this simplification is superseded by
https://github.com/llvm/llvm-project/pull/76621, so we should have it
deleted.
Commit: f9d6d46a8edfac7421a4b010eb216f793669bef1
https://github.com/llvm/llvm-project/commit/f9d6d46a8edfac7421a4b010eb216f793669bef1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOPDInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vopd.s
M llvm/test/MC/AMDGPU/gfx11_unsupported.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopd.txt
Log Message:
-----------
[AMDGPU] Add assembler/disassembler support for v_dual_dot2acc_f32_bf16 (#118984)
There is still no codegen support because the corresponding
v_dot2c_f32_bf16 instruction is not supported on GFX11.
Commit: 9aa70419b8834b1468f19f3515d91245133cb5e7
https://github.com/llvm/llvm-project/commit/9aa70419b8834b1468f19f3515d91245133cb5e7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi.ll
Log Message:
-----------
[X86] Canonicalize VPERMV3 to VPERMV if both sources are the same.
Commit: 6a52a51bdd7eefa2e31eeb4be3333325dfe0cd95
https://github.com/llvm/llvm-project/commit/6a52a51bdd7eefa2e31eeb4be3333325dfe0cd95
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86SchedIceLake.td
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512bw.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse1.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse2.s
M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-sse41.s
Log Message:
-----------
[X86] IceLakeServer - fix port usage for PINSR instructions
Fix legacy of copying IceLakeServer from SkylakeServer - PINSR instructions now use Port15/Port5 pairs, not just heavy Port5 usage.
Matches uops.info + Agner.
Commit: 8630a7ba7c13f43a4dabd64d4ae0495e90f3b644
https://github.com/llvm/llvm-project/commit/8630a7ba7c13f43a4dabd64d4ae0495e90f3b644
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
A llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
M llvm/test/CodeGen/X86/vselect.ll
Log Message:
-----------
Reapply "[DAGCombiner] Add support for scalarising extracts of a vector setcc (#117566)" (#118823)
[Reverts d57892a2a153ab71a796f07e39d939eae6910c21]
For IR like this:
%icmp = icmp ult <4 x i32> %a, splat (i32 5)
%res = extractelement <4 x i1> %icmp, i32 1
where there is only one use of %icmp we can take a similar approach
to what we already do for binary ops such add, sub, etc. and convert
this into
%ext = extractelement <4 x i32> %a, i32 1
%res = icmp ult i32 %ext, 5
For AArch64 targets at least the scalar boolean result will almost
certainly need to be in a GPR anyway, since it will probably be
used by branches for control flow. I've tried to reuse existing code
in scalarizeExtractedBinop to also work for setcc.
NOTE: The optimisations don't apply for tests such as
extract_icmp_v4i32_splat_rhs in the file
CodeGen/AArch64/extract-vector-cmp.ll
because scalarizeExtractedBinOp only works if one of the input
operands is a constant.
---------
Co-authored-by: Paul Walker <paul.walker at arm.com>
Commit: 99f6ca9b7bb7d794db9ac8ff519b4e60766f6a4b
https://github.com/llvm/llvm-project/commit/99f6ca9b7bb7d794db9ac8ff519b4e60766f6a4b
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_fmopa.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_imm.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mopa.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-fmopa.ll
Log Message:
-----------
[AArch64] Implement intrinsics for SME FP8 FMOPA (#118115)
This patch implements the following intrinsics:
8-bit floating-point sum of outer products and accumulate.
``` c
// Only if __ARM_FEATURE_SME_F8F16 != 0
void svmopa_za16[_mf8]_m_fpm(uint64_t tile, svbool_t pn, svbool_t pm,
svmfloat8_t zn, svmfloat8_t zm, fpm_t fpm)
__arm_streaming __arm_inout("za");
// Only if __ARM_FEATURE_SME_F8F32 != 0
void svmopa_za32[_mf8]_m_fpm(uint64_t tile, svbool_t pn, svbool_t pm,
svmfloat8_t zn, svmfloat8_t zm, fpm_t fpm)
__arm_streaming __arm_inout("za");
```
In accordance with: https://github.com/ARM-software/acle/pull/323/
Co-authored-by: Momchil Velikov momchil.velikov at arm.com
Co-authored-by: Marian Lukac marian.lukac at arm.com
Commit: 24561f44df52fa792bac12a841f97c239a53b62f
https://github.com/llvm/llvm-project/commit/24561f44df52fa792bac12a841f97c239a53b62f
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/sincos.ll
Log Message:
-----------
Reland "[InstSimplify] Add basic constant folding for `llvm.sincos`" (#119192)
This calls into the existing constant folding for `llvm.sin` and
`llvm.cos`, which currently does not fold for any non-finite values, so
most tests are negative tests at the moment.
Note: The constant folding does not consider the `afn` fast-math flag
and will produce the same result regardless of if the flag is set.
This is a reland of #114527 that updates the syntax of one of the tests
from: `<float 1.000000e+00, float 1.000000e+00>` to `splat (float
1.000000e+00)`.
Commit: fbbea8929ffd2fae57a6013912455d566b884e12
https://github.com/llvm/llvm-project/commit/fbbea8929ffd2fae57a6013912455d566b884e12
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingMerge.c
Log Message:
-----------
[profile] Perform pointer arithmetic in uintptr_t (#118944)
Based on the feedback from #118782, this switches most of the pointer
arithmetic in __llvm_profile_merge_from_buffer to work on uintptr_t
instead of const char *, only casting back to a pointer when performing
actual accesses.
This ensures that all the arithmetic is performed without any
assumptions about pointer overflow.
Commit: 46e04f7fe5c0f01ba452489bb966bdf2d560a63d
https://github.com/llvm/llvm-project/commit/46e04f7fe5c0f01ba452489bb966bdf2d560a63d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemorySSAUpdater.h
M llvm/lib/Analysis/MemorySSAUpdater.cpp
A llvm/test/Analysis/MemorySSA/loop-rotate-update.ll
A llvm/test/Analysis/MemorySSA/pr116227.ll
Log Message:
-----------
[MemorySSA] Handle MemoryDef optimized away during cloning (#117883)
When determining the replacement access during cloning, we currently
leave accesses for instructions that are not in the VMap alone. This is
correct if the instruction is not in VMap because it hasn't been cloned,
but not if it has been cloned and then removed. In that case, we should
walk up to the defining access, like in other simplification cases.
To distinguish the two cases, pass in a callback that queries whether
the instruction is part of the cloned region.
An alternative to this would be to delay removal of dead instructions in
SimpleLoopUnswitch until after MSSA cloning.
Fixes https://github.com/llvm/llvm-project/issues/116228.
Commit: 457e14b9266496b3f92f642dd13a005af4670a6a
https://github.com/llvm/llvm-project/commit/457e14b9266496b3f92f642dd13a005af4670a6a
Author: Peter Smith <peter.smith at arm.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M lld/ELF/Thunks.cpp
A lld/test/ELF/arm-thumb-thunk-v6m-noshort.s
Log Message:
-----------
[LLD][ARM] Arm v6-m should not use short Thunks. (#118111)
Thumb short thunks use the B.w instruction. This instruction is not
present on Arm v6-m so we should prevent these targets from using
short-thunks. We want to permit Arm v8-m.base targets to continue using
short thunks as it does have the B.w instruction despite not
implementing all of Thumb 2.
Add a check to see if the Movt and Movw instructions are present before
enabling short thunks for Thumb. The v6-m architecture has
J1J2BranchEncoding, but it does not have Movt and Movw, whereas
v8-m.base has both.
The memory map and limited flash size of an Arm v6-m CPU makes a short
thunk very unlikely in practice, but it is worth getting it right just
in case.
Commit: bbd99d903ec956b5cc87c544854337da8db2d2bf
https://github.com/llvm/llvm-project/commit/bbd99d903ec956b5cc87c544854337da8db2d2bf
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
R compiler-rt/lib/builtins/aarch64/sme-abi-vg.c
Log Message:
-----------
[compiler-rt][AArch64] NFCI: Remove sme-abi-vg.c (#119193)
Given that FMV support is required for the SME builtins to be built, the
FMV constructor as defined in:
compiler-rt/lib/builtins/cpu_model/aarch64.c
already initialises the feature bits, so there's no need to create
another one.
Commit: 00b50c917bf5e5abaded4f314b767b086069d1ee
https://github.com/llvm/llvm-project/commit/00b50c917bf5e5abaded4f314b767b086069d1ee
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Handle __builtin_wcslen (#119187)
Handle different char widths in builtin_strlen.
Commit: 20d4742eae631fdf9b917d463be3c32c364dec7a
https://github.com/llvm/llvm-project/commit/20d4742eae631fdf9b917d463be3c32c364dec7a
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/bitreverse.ll
A llvm/test/CodeGen/LoongArch/lsx/bitreverse.ll
Log Message:
-----------
[LoongArch] Pre-commit tests for vector type llvm.bitreverse. NFC (#118053)
A later commit will optimize this.
Commit: 1004496451877c28e005d3016ef22921fad39132
https://github.com/llvm/llvm-project/commit/1004496451877c28e005d3016ef22921fad39132
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop3p_alias.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3p_aliases.s
M llvm/test/MC/AMDGPU/gfx12_err.s
Log Message:
-----------
[AMDGPU] New GFX11+ aliases v_dot4_i32_i8 and v_dot8_i32_i4 (#118997)
Previously we decided not to support these aliases because in other
generations they are real instructions with different behavior. Now I am
inclined to support them anyway for compatibility with SP3.
Commit: 078b60dc39e54e89783f2eedf009d8d175e8ed3e
https://github.com/llvm/llvm-project/commit/078b60dc39e54e89783f2eedf009d8d175e8ed3e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr119158.ll
Log Message:
-----------
[X86] Only fold to v16i32 VPDPWSSD on targets with useAVX512Regs enabled.
Fixes #119158
Commit: 669f704d0dc833fc3cd844a8d8c1e0ed34d43a5b
https://github.com/llvm/llvm-project/commit/669f704d0dc833fc3cd844a8d8c1e0ed34d43a5b
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
A flang/test/Driver/options-loongarch.f90
Log Message:
-----------
[Flang][LoongArch] Enable clang command-line options in flang. (#118244)
Mainly including the following LoongArch specific options: -m[no-]lsx,
-m[no-]lasx, -msimd=, -m[no-]frecipe, -m[no-]lam-bh, -m[no-]lamcas,
-m[no-]ld-seq-sa, -m[no-]div32,
-m[no-]annotate-tablejump
Commit: 7831c5e4831963425279db7b1c4d23cfa9da9674
https://github.com/llvm/llvm-project/commit/7831c5e4831963425279db7b1c4d23cfa9da9674
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Pull out TargetCostKind argument to allow globally set cost kind value (#118652)
Don't use TCK_RecipThroughput independently in every VectorCombine fold.
Some prep work to allow a potential future patch to use VectorCombine to optimise for code size for -Os/Oz builds (setting TCK_CodeSize instead of TCK_RecipThroughput).
There's still more cleanup to do as a lot of get*Cost calls are relying on the default TargetCostKind value (usually TCK_RecipThroughput but not always).
Commit: 00b07aa399b870d4705c4fb628e25d62c8ccc27b
https://github.com/llvm/llvm-project/commit/00b07aa399b870d4705c4fb628e25d62c8ccc27b
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
Log Message:
-----------
[Hexagon][NFC] Switch regalloc-bad-undef.mir to use generated CHECKs
Commit: e529681ad59416fc3f658b5a2b15b247095dde6d
https://github.com/llvm/llvm-project/commit/e529681ad59416fc3f658b5a2b15b247095dde6d
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Utils] Clone basic blocks after we're done with metadata in CloneFunctionInto (#118621)
Summary:
Moving the cloning of BBs after the metadata makes the flow of the
function a bit more straightforward and makes it easier to extract more
into helper functions.
Test Plan:
ninja check-llvm-unit check-llvm
Commit: 9328cc0f6717199d116f149048c9d2ee3c1902c0
https://github.com/llvm/llvm-project/commit/9328cc0f6717199d116f149048c9d2ee3c1902c0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add explicit CostKind to all getShuffleCost calls. NFC.
We currently hardwire CostKind to TTI::TCK_RecipThroughput which matches the default CostKind for getShuffleCost.
Commit: 37cb9bdecac2f291f54866bbb9660525ebe6fb16
https://github.com/llvm/llvm-project/commit/37cb9bdecac2f291f54866bbb9660525ebe6fb16
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add explicit CostKind to all getArithmeticInstrCost calls. NFC.
We currently hardwire CostKind to TTI::TCK_RecipThroughput which matches the default CostKind for getArithmeticInstrCost.
Commit: 1db2d571b501851d7c0b72c61a7ba9e30f6db5ea
https://github.com/llvm/llvm-project/commit/1db2d571b501851d7c0b72c61a7ba9e30f6db5ea
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/TableGen/TGParser.cpp
A llvm/test/TableGen/letUnknownValue.td
Log Message:
-----------
[llvm][TableGen] Fix misleading error for invalid use of let (#118616)
Fixes #118490
Point to the value name, otherwise it implies that the part after the
'=' is the problem.
Before:
```
/tmp/test.td:2:27: error: Value 'FlattenedFeatures' unknown!
let FlattenedFeatures = [];
^
```
After:
```
/tmp/test.td:2:7: error: Value 'FlattenedFeatures' unknown!
let FlattenedFeatures = [];
^
```
Commit: 4f08fa1a77b7357b4f1455b386ab8ca835e92558
https://github.com/llvm/llvm-project/commit/4f08fa1a77b7357b4f1455b386ab8ca835e92558
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang] Fix -Wunused-variable in InterpBuiltin.cpp (NFC)
/llvm-project/clang/lib/AST/ByteCode/InterpBuiltin.cpp:262:23:
error: unused variable 'AC' [-Werror,-Wunused-variable]
const ASTContext &AC = S.getASTContext();
^
1 error generated.
Commit: b3e498799e9e43c0884e51d61cd92ee81ad1e5f9
https://github.com/llvm/llvm-project/commit/b3e498799e9e43c0884e51d61cd92ee81ad1e5f9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add explicit CostKind to all getCmpSelInstrCost calls. NFC.
We currently hardwire CostKind to TTI::TCK_RecipThroughput which matches the default CostKind for getCmpSelInstrCost.
Commit: 0e70e0edd52d60bd0c063f1413b50f85ad1f4805
https://github.com/llvm/llvm-project/commit/0e70e0edd52d60bd0c063f1413b50f85ad1f4805
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-todo.mlir
A mlir/test/Target/LLVMIR/openmp-wsloop-private-cond_br.mlir
A mlir/test/Target/LLVMIR/openmp-wsloop-private.mlir
Log Message:
-----------
[reapply (#118463)][OpenMP][OMPIRBuilder] Add delayed privatization support for `wsloop` (#119170)
This reapplies PR #118463 after introducing a fix for a bug uncovere by
the test suite. The problem is that when the alloca block is terminated
with a conditional branch, this violates a pre-condition of
`allocatePrivateVars` (which assumes the alloca block has a single
successor). This new PR includes a test that reproduces the issue.
Extend MLIR to LLVM lowering by adding support for `omp.wsloop` for
delayed privatization. This also refactors a few bit of code to isolate
the logic needed for `firstprivate` initialization in a shared util that
can be used across constructs that need it. The same is done for
`dealloc` regions.
Commit: 54c6a592a078d0a2d484f8a64ac0f1ed47f79e35
https://github.com/llvm/llvm-project/commit/54c6a592a078d0a2d484f8a64ac0f1ed47f79e35
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add explicit CostKind to all getMemoryOpCost calls. NFC.
We currently hardwire CostKind to TTI::TCK_RecipThroughput which matches the default CostKind for getMemoryOpCost.
Commit: de759d6c2700aad27bb242617dfaf0aaaf777c41
https://github.com/llvm/llvm-project/commit/de759d6c2700aad27bb242617dfaf0aaaf777c41
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
Log Message:
-----------
[TTI] TargetTransformInfo::getPointersChainCost - fix formatting. NFC.
Commit: 788d5a5f1e1263657f0a281545e095769f6b375b
https://github.com/llvm/llvm-project/commit/788d5a5f1e1263657f0a281545e095769f6b375b
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/Maintainers.md
A polly/Maintainers.md
Log Message:
-----------
[polly] Add a Maintainers.md file
Commit: b9a209725bbb910d330e3746dceb88b59c4d8174
https://github.com/llvm/llvm-project/commit/b9a209725bbb910d330e3746dceb88b59c4d8174
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M libc/src/__support/macros/properties/os.h
Log Message:
-----------
[libc] Remove unused target conditionals for Apple platforms (#119030)
It seems that LIBC_TARGET_OS_IS_MACOS and LIBC_TARGET_OS_IS_IPHONE were
never actually used in the code, so these definitions can be removed.
I came across these because libc++ now depends on llvm-libc to build
(for from_chars), and the unguarded use of TargetConditionals.h broke
some of our downstream configurations. There are some platforms for
which `__APPLE__` is defined but that don't provide TargetConditionals.h.
If there is a need to keep defining those, the compiler also provides
some uglier macro definitions like __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
that do not require including any header.
Commit: 254d206ee2a337cb38ba347c896f7c6a14c7f218
https://github.com/llvm/llvm-project/commit/254d206ee2a337cb38ba347c896f7c6a14c7f218
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/bypass-div.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
Log Message:
-----------
Revert "Reapply "[AMDGPU] prevent shrinking udiv/urem if either operand is in… (#118928)"
This reverts commit 509893b58ff444a6f080946bd368e9bde7668f13.
This broke the libc build again https://lab.llvm.org/buildbot/#/builders/73/builds/9787.
Commit: a5e87c6d8d1ec4f57d34f229a6359a42dd12bd28
https://github.com/llvm/llvm-project/commit/a5e87c6d8d1ec4f57d34f229a6359a42dd12bd28
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M .github/workflows/libcxx-restart-preempted-jobs.yaml
Log Message:
-----------
[libc++] Try fixing the preemption detection regex
Commit: 0e34f3f4968d8d32a64e26777541f939deb2274c
https://github.com/llvm/llvm-project/commit/0e34f3f4968d8d32a64e26777541f939deb2274c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__atomic/contention_t.h
R libcxx/include/__atomic/cxx_atomic_impl.h
M libcxx/include/__atomic/fence.h
A libcxx/include/__atomic/support.h
A libcxx/include/__atomic/support/c11.h
A libcxx/include/__atomic/support/gcc.h
M libcxx/include/atomic
M libcxx/include/module.modulemap
M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
Log Message:
-----------
[libc++] Extract a clean base support API for std::atomic (#118129)
This patch documents the underlying API for implementing atomics on a
platform.
This doesn't change the operations that std::atomic is based on, but it
reorganizes the C11 / GCC implementation split to make it clearer what's
the base support layer and what's not.
Commit: 9ddc31d060a05b1706b8a9f26323ad1ed1e21a82
https://github.com/llvm/llvm-project/commit/9ddc31d060a05b1706b8a9f26323ad1ed1e21a82
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/DSDIRInstructions.td
A llvm/test/MC/AMDGPU/gfx12_asm_vdsdir_alias.s
Log Message:
-----------
[AMDGPU] New GFX12 aliases lds_direct_load and lds_param_load (#119205)
This is for compatibility with SP3.
Commit: f22ecdd9b99485fe73822e44282ae6eb3cc9561b
https://github.com/llvm/llvm-project/commit/f22ecdd9b99485fe73822e44282ae6eb3cc9561b
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__flat_map/flat_map.h
A libcxx/include/__flat_map/key_value_iterator.h
M libcxx/include/module.modulemap
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter_stability.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/incomplete_type.pass.cpp
Log Message:
-----------
[libc++] Move out `flat_map::iterator` (for reusing it in flat_multimap) (#117445)
Commit: 0bb7bd4b4ec8efdb3988f7e907fb0490841b02bb
https://github.com/llvm/llvm-project/commit/0bb7bd4b4ec8efdb3988f7e907fb0490841b02bb
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll
Log Message:
-----------
[AArch64] Runtime-unroll small load/store loops for Apple Silicon CPUs. (#118317)
Add initial heuristics to selectively enable runtime unrolling for loops
where doing so is expected to be highly beneficial on Apple Silicon
CPUs.
To start with, we try to runtime-unroll small, single block loops, if
they have load/store dependencies, to expose more parallel memory
access streams [1] and to improve instruction delivery [2].
We also explicitly avoid runtime-unrolling for loop structures that may
limit the expected gains from runtime unrolling. Such loops include
loops with complex control flow (aren't innermost loops, have multiple
exits, have a large number of blocks), trip count expansion is
expensive and are expected to execute a small number of iterations.
Note that the heuristics here may be overly conservative and we err on
the side of avoiding runtime unrolling rather than unroll excessively.
They are all subject to further refinement.
Across a large set of workloads, this increase the total number of
unrolled loops by 2.9%.
[1] 4.6.10 in Apple Silicon CPU Optimization Guide
[2] 4.4.4 in Apple Silicon CPU Optimization Guide
Depends on https://github.com/llvm/llvm-project/pull/118316 for TTI
changes.
PR: https://github.com/llvm/llvm-project/pull/118317
Commit: 70e343b97e5bc0643dc60aaad3e3235ed4e600b1
https://github.com/llvm/llvm-project/commit/70e343b97e5bc0643dc60aaad3e3235ed4e600b1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 0e34f3f4968d
Commit: 9e6e7c643c6dae464e3dc4b87b9516a207ab76da
https://github.com/llvm/llvm-project/commit/9e6e7c643c6dae464e3dc4b87b9516a207ab76da
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port f22ecdd9b994
Commit: 290a111792577810bfd1a858f230260489cf90cf
https://github.com/llvm/llvm-project/commit/290a111792577810bfd1a858f230260489cf90cf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/docs/Vectorizers.rst
Log Message:
-----------
[docs] Add a brief description of using -fveclib to enable some math library vectorizations (#119215)
Fixes #62283
Commit: d1cf86fe53bd89e107f8348a117754b59b4ffca5
https://github.com/llvm/llvm-project/commit/d1cf86fe53bd89e107f8348a117754b59b4ffca5
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPDInstructions.td
M llvm/test/MC/AMDGPU/gfx12_asm_vopd.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopd.txt
Log Message:
-----------
[AMDGPU] Add GFX12 assembler/disassembler support for v_dual_dot2acc_* (#119211)
Do for GFX12 what #118984 did for GFX11.
Commit: d17e51f306cb3522af7587bf1f3a2f4956ab3a19
https://github.com/llvm/llvm-project/commit/d17e51f306cb3522af7587bf1f3a2f4956ab3a19
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Handle __builtin_strncmp (#119208)
Commit: cc569a3702d36d5f2fbd3ae8c143d770d62f22d7
https://github.com/llvm/llvm-project/commit/cc569a3702d36d5f2fbd3ae8c143d770d62f22d7
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
Log Message:
-----------
[AA] Export the isBaseOfObject() API (NFC)
This is also useful outside BasicAA.
Commit: 24feee62c81bb889b8ebd74098ad76f25c9b0932
https://github.com/llvm/llvm-project/commit/24feee62c81bb889b8ebd74098ad76f25c9b0932
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/test/MC/AMDGPU/gfx12_asm_vimage_alias.s
Log Message:
-----------
[AMDGPU] New GFX12 aliases bvh_intersect_ray and similar (#119213)
This is for compatibility with SP3.
Commit: 646d1854c04e508bd4203fdaead5447ecb72398e
https://github.com/llvm/llvm-project/commit/646d1854c04e508bd4203fdaead5447ecb72398e
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
Log Message:
-----------
[LV] Pre-commit extra test for fixed width VF fully unrolled loop cost model change
Commit: 10f315dc9c96ec2413881ab55a285e35d80def88
https://github.com/llvm/llvm-project/commit/10f315dc9c96ec2413881ab55a285e35d80def88
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/test/CodeGen/RISCV/riscv-inline-asm.c
M clang/test/CodeGenCXX/auto-var-init.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Other/constant-fold-gep.ll
M llvm/test/Other/optimize-inrange-gep.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
M llvm/test/Transforms/GVN/PRE/load-pre-licm.ll
M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
M llvm/test/Transforms/IndVarSimplify/floating-point-small-iv.ll
M llvm/test/Transforms/InstCombine/addrspacecast.ll
M llvm/test/Transforms/InstCombine/align-addr.ll
M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
M llvm/test/Transforms/InstCombine/canonicalize-gep-constglob.ll
M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
M llvm/test/Transforms/InstCombine/constant-fold-gep.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/force-opaque-ptr.ll
M llvm/test/Transforms/InstCombine/fortify-folding.ll
M llvm/test/Transforms/InstCombine/freeze-phi.ll
M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
M llvm/test/Transforms/InstCombine/memchr-2.ll
M llvm/test/Transforms/InstCombine/memchr-4.ll
M llvm/test/Transforms/InstCombine/memchr-6.ll
M llvm/test/Transforms/InstCombine/memchr-7.ll
M llvm/test/Transforms/InstCombine/memchr-8.ll
M llvm/test/Transforms/InstCombine/memchr-9.ll
M llvm/test/Transforms/InstCombine/memchr.ll
M llvm/test/Transforms/InstCombine/memcmp-8.ll
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
M llvm/test/Transforms/InstCombine/memrchr-3.ll
M llvm/test/Transforms/InstCombine/memrchr-4.ll
M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
M llvm/test/Transforms/InstCombine/objsize.ll
M llvm/test/Transforms/InstCombine/pr25342.ll
M llvm/test/Transforms/InstCombine/pr33453.ll
M llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
M llvm/test/Transforms/InstCombine/pr38984.ll
M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
M llvm/test/Transforms/InstCombine/rem.ll
M llvm/test/Transforms/InstCombine/select-and-or.ll
M llvm/test/Transforms/InstCombine/simplify-libcalls-i16.ll
M llvm/test/Transforms/InstCombine/simplify-libcalls.ll
M llvm/test/Transforms/InstCombine/stpcpy-1.ll
M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
M llvm/test/Transforms/InstCombine/stpncpy-1.ll
M llvm/test/Transforms/InstCombine/str-int-2.ll
M llvm/test/Transforms/InstCombine/str-int-3.ll
M llvm/test/Transforms/InstCombine/str-int-4.ll
M llvm/test/Transforms/InstCombine/str-int-5.ll
M llvm/test/Transforms/InstCombine/str-int.ll
M llvm/test/Transforms/InstCombine/strcall-bad-sig.ll
M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
M llvm/test/Transforms/InstCombine/strchr-1.ll
M llvm/test/Transforms/InstCombine/strchr-3.ll
M llvm/test/Transforms/InstCombine/strcmp-4.ll
M llvm/test/Transforms/InstCombine/strlcpy-1.ll
M llvm/test/Transforms/InstCombine/strlen-1.ll
M llvm/test/Transforms/InstCombine/strlen-6.ll
M llvm/test/Transforms/InstCombine/strpbrk-1.ll
M llvm/test/Transforms/InstCombine/strrchr-1.ll
M llvm/test/Transforms/InstCombine/strrchr-3.ll
M llvm/test/Transforms/InstCombine/strstr-1.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstCombine/wcslen-1.ll
M llvm/test/Transforms/InstSimplify/ConstProp/gep-constanfolding-error.ll
M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
M llvm/test/Transforms/InstSimplify/compare.ll
M llvm/test/Transforms/InstSimplify/past-the-end.ll
M llvm/test/Transforms/InstSimplify/simplify-nested-bitcast.ll
M llvm/test/Transforms/LoopVectorize/X86/pr42674.ll
M llvm/test/Transforms/NewGVN/loadforward.ll
M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
M llvm/test/Transforms/SCCP/2009-09-24-byval-ptr.ll
M llvm/test/Transforms/SCCP/apint-bigint2.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
Log Message:
-----------
[ConstantFolding] Infer getelementptr nuw flag (#119214)
Infer nuw from nusw and nneg. This is the constant expression variant of
https://github.com/llvm/llvm-project/pull/111144.
Proof: https://alive2.llvm.org/ce/z/ihztLy
Commit: 1ca392764a0df5a9c263b89b97b882766ed4b3e7
https://github.com/llvm/llvm-project/commit/1ca392764a0df5a9c263b89b97b882766ed4b3e7
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/test/HLFIR/invalid.fir
Log Message:
-----------
[flang] Added definition of hlfir.cshift operation. (#118732)
CSHIFT intrinsic will be lowered to this operation, which
then can be optimized as inline sequence or lowered into
a runtime call.
Commit: 084451cdd2741151c360db6560bc0ba4dd96cb9d
https://github.com/llvm/llvm-project/commit/084451cdd2741151c360db6560bc0ba4dd96cb9d
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/test/HLFIR/simplify-hlfir-intrinsics-sum.fir
Log Message:
-----------
[flang] Do not inline SUM with invalid DIM argument. (#118911)
Such SUMs might appear in dead code after constant propagation.
They do not have to be inlined.
Commit: 664a226bf616a7dd6e1934cf45f84f1d99e8fed0
https://github.com/llvm/llvm-project/commit/664a226bf616a7dd6e1934cf45f84f1d99e8fed0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
A llvm/test/CodeGen/AMDGPU/attr-amdgpu-max-num-workgroups-propagate.ll
Log Message:
-----------
AMDGPU: Propagate amdgpu-max-num-workgroups attribute (#113018)
I'm not sure what the interpretation of 0 is supposed to be,
AMDGPUUsage doesn't say.
Commit: 6168739f00616f34354e0b34852398aeced98f53
https://github.com/llvm/llvm-project/commit/6168739f00616f34354e0b34852398aeced98f53
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Reject memcpy sizes with element size remainder (#119209)
Commit: 009368f13053dd11515f583fe36b34b15b356593
https://github.com/llvm/llvm-project/commit/009368f13053dd11515f583fe36b34b15b356593
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-max-num-workgroups-load-annotate.ll
Log Message:
-----------
AMDGPU: Mark grid size loads with range metadata (#113019)
Only handles the v5 case.
Commit: fea7b65f23632b42ff8f7e2595ac0641e2c1d214
https://github.com/llvm/llvm-project/commit/fea7b65f23632b42ff8f7e2595ac0641e2c1d214
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def
A llvm/test/MC/RISCV/custom_reloc.s
Log Message:
-----------
[RISCV] Add Vendor Reloc and Fallback Names (#116974)
The trunk psABI document specifies that `R_RISCV_VENDOR` is 191, and
that relocations 192-255 should be printed as `R_RISCV_CUSTOM<enum val>`
in the absence of better information.
The testcase shows that these parse in `.reloc` directives, and also
print correctly from both the assembler and objdump.
Commit: ec27eb8c6b08fb9284ff7069cda85f3dd208a3f1
https://github.com/llvm/llvm-project/commit/ec27eb8c6b08fb9284ff7069cda85f3dd208a3f1
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M openmp/runtime/test/ompt/misc/interoperability.cpp
Log Message:
-----------
[OpenMP] Fix interoperability test compilation on OpenBSD (#119053)
Commit: c9009543ab8159d84ca24aa127e6bc7fc213780c
https://github.com/llvm/llvm-project/commit/c9009543ab8159d84ca24aa127e6bc7fc213780c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[libc++] Run the LLDB data formatter tests after libc++'s own tests (#119028)
It makes more sense to start testing libc++ with the latest compiler and
only then to run the LLDB data formatter tests, since that provides more
signal than starting with the data formatter tests.
Commit: ce7771902dc50d900de639d499a60486b83f70e0
https://github.com/llvm/llvm-project/commit/ce7771902dc50d900de639d499a60486b83f70e0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M libcxx/include/__cxx03/__algorithm/adjacent_find.h
M libcxx/include/__cxx03/__algorithm/all_of.h
M libcxx/include/__cxx03/__algorithm/any_of.h
M libcxx/include/__cxx03/__algorithm/binary_search.h
M libcxx/include/__cxx03/__algorithm/clamp.h
M libcxx/include/__cxx03/__algorithm/comp.h
M libcxx/include/__cxx03/__algorithm/comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/copy.h
M libcxx/include/__cxx03/__algorithm/copy_backward.h
M libcxx/include/__cxx03/__algorithm/copy_if.h
M libcxx/include/__cxx03/__algorithm/copy_move_common.h
M libcxx/include/__cxx03/__algorithm/copy_n.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/count_if.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/fill.h
M libcxx/include/__cxx03/__algorithm/fill_n.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
M libcxx/include/__cxx03/__algorithm/find_first_of.h
M libcxx/include/__cxx03/__algorithm/find_if.h
M libcxx/include/__cxx03/__algorithm/find_if_not.h
M libcxx/include/__cxx03/__algorithm/find_segment_if.h
M libcxx/include/__cxx03/__algorithm/fold.h
M libcxx/include/__cxx03/__algorithm/for_each.h
M libcxx/include/__cxx03/__algorithm/for_each_n.h
M libcxx/include/__cxx03/__algorithm/for_each_segment.h
M libcxx/include/__cxx03/__algorithm/generate.h
M libcxx/include/__cxx03/__algorithm/generate_n.h
M libcxx/include/__cxx03/__algorithm/half_positive.h
M libcxx/include/__cxx03/__algorithm/in_found_result.h
M libcxx/include/__cxx03/__algorithm/in_fun_result.h
M libcxx/include/__cxx03/__algorithm/in_in_out_result.h
M libcxx/include/__cxx03/__algorithm/in_in_result.h
M libcxx/include/__cxx03/__algorithm/in_out_out_result.h
M libcxx/include/__cxx03/__algorithm/in_out_result.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/inplace_merge.h
M libcxx/include/__cxx03/__algorithm/is_heap.h
M libcxx/include/__cxx03/__algorithm/is_heap_until.h
M libcxx/include/__cxx03/__algorithm/is_partitioned.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/is_sorted.h
M libcxx/include/__cxx03/__algorithm/is_sorted_until.h
M libcxx/include/__cxx03/__algorithm/iter_swap.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
M libcxx/include/__cxx03/__algorithm/lexicographical_compare.h
M libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_heap.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/max_element.h
M libcxx/include/__cxx03/__algorithm/merge.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
M libcxx/include/__cxx03/__algorithm/min_max_result.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/mismatch.h
M libcxx/include/__cxx03/__algorithm/move.h
M libcxx/include/__cxx03/__algorithm/move_backward.h
M libcxx/include/__cxx03/__algorithm/next_permutation.h
M libcxx/include/__cxx03/__algorithm/none_of.h
M libcxx/include/__cxx03/__algorithm/nth_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
M libcxx/include/__cxx03/__algorithm/partition.h
M libcxx/include/__cxx03/__algorithm/partition_copy.h
M libcxx/include/__cxx03/__algorithm/partition_point.h
M libcxx/include/__cxx03/__algorithm/pop_heap.h
M libcxx/include/__cxx03/__algorithm/prev_permutation.h
M libcxx/include/__cxx03/__algorithm/pstl.h
M libcxx/include/__cxx03/__algorithm/push_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
M libcxx/include/__cxx03/__algorithm/ranges_all_of.h
M libcxx/include/__cxx03/__algorithm/ranges_any_of.h
M libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
M libcxx/include/__cxx03/__algorithm/ranges_clamp.h
M libcxx/include/__cxx03/__algorithm/ranges_contains.h
M libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
M libcxx/include/__cxx03/__algorithm/ranges_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
M libcxx/include/__cxx03/__algorithm/ranges_count.h
M libcxx/include/__cxx03/__algorithm/ranges_count_if.h
M libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
M libcxx/include/__cxx03/__algorithm/ranges_equal.h
M libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
M libcxx/include/__cxx03/__algorithm/ranges_fill.h
M libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
M libcxx/include/__cxx03/__algorithm/ranges_find.h
M libcxx/include/__cxx03/__algorithm/ranges_find_end.h
M libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
M libcxx/include/__cxx03/__algorithm/ranges_find_if.h
M libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
M libcxx/include/__cxx03/__algorithm/ranges_find_last.h
M libcxx/include/__cxx03/__algorithm/ranges_for_each.h
M libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
M libcxx/include/__cxx03/__algorithm/ranges_generate.h
M libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
M libcxx/include/__cxx03/__algorithm/ranges_includes.h
M libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
M libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
M libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
M libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
M libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
M libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
M libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
M libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
M libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_max.h
M libcxx/include/__cxx03/__algorithm/ranges_max_element.h
M libcxx/include/__cxx03/__algorithm/ranges_merge.h
M libcxx/include/__cxx03/__algorithm/ranges_min.h
M libcxx/include/__cxx03/__algorithm/ranges_min_element.h
M libcxx/include/__cxx03/__algorithm/ranges_minmax.h
M libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
M libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
M libcxx/include/__cxx03/__algorithm/ranges_move.h
M libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
M libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_none_of.h
M libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
M libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_partition.h
M libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
M libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_remove.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
M libcxx/include/__cxx03/__algorithm/ranges_replace.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
M libcxx/include/__cxx03/__algorithm/ranges_reverse.h
M libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_rotate.h
M libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_sample.h
M libcxx/include/__cxx03/__algorithm/ranges_search.h
M libcxx/include/__cxx03/__algorithm/ranges_search_n.h
M libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
M libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
M libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
M libcxx/include/__cxx03/__algorithm/ranges_set_union.h
M libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
M libcxx/include/__cxx03/__algorithm/ranges_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
M libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
M libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
M libcxx/include/__cxx03/__algorithm/ranges_transform.h
M libcxx/include/__cxx03/__algorithm/ranges_unique.h
M libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
M libcxx/include/__cxx03/__algorithm/remove.h
M libcxx/include/__cxx03/__algorithm/remove_copy.h
M libcxx/include/__cxx03/__algorithm/remove_copy_if.h
M libcxx/include/__cxx03/__algorithm/remove_if.h
M libcxx/include/__cxx03/__algorithm/replace.h
M libcxx/include/__cxx03/__algorithm/replace_copy.h
M libcxx/include/__cxx03/__algorithm/replace_copy_if.h
M libcxx/include/__cxx03/__algorithm/replace_if.h
M libcxx/include/__cxx03/__algorithm/reverse.h
M libcxx/include/__cxx03/__algorithm/reverse_copy.h
M libcxx/include/__cxx03/__algorithm/rotate.h
M libcxx/include/__cxx03/__algorithm/rotate_copy.h
M libcxx/include/__cxx03/__algorithm/sample.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/search_n.h
M libcxx/include/__cxx03/__algorithm/set_difference.h
M libcxx/include/__cxx03/__algorithm/set_intersection.h
M libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h
M libcxx/include/__cxx03/__algorithm/set_union.h
M libcxx/include/__cxx03/__algorithm/shift_left.h
M libcxx/include/__cxx03/__algorithm/shift_right.h
M libcxx/include/__cxx03/__algorithm/shuffle.h
M libcxx/include/__cxx03/__algorithm/sift_down.h
M libcxx/include/__cxx03/__algorithm/simd_utils.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/sort_heap.h
M libcxx/include/__cxx03/__algorithm/stable_partition.h
M libcxx/include/__cxx03/__algorithm/stable_sort.h
M libcxx/include/__cxx03/__algorithm/swap_ranges.h
M libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/transform.h
M libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h
M libcxx/include/__cxx03/__algorithm/unique.h
M libcxx/include/__cxx03/__algorithm/unique_copy.h
M libcxx/include/__cxx03/__algorithm/unwrap_iter.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
M libcxx/include/__cxx03/__assert
M libcxx/include/__cxx03/__atomic/aliases.h
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/atomic_base.h
M libcxx/include/__cxx03/__atomic/atomic_flag.h
M libcxx/include/__cxx03/__atomic/atomic_init.h
M libcxx/include/__cxx03/__atomic/atomic_lock_free.h
M libcxx/include/__cxx03/__atomic/atomic_ref.h
M libcxx/include/__cxx03/__atomic/atomic_sync.h
M libcxx/include/__cxx03/__atomic/check_memory_order.h
M libcxx/include/__cxx03/__atomic/contention_t.h
M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
M libcxx/include/__cxx03/__atomic/fence.h
M libcxx/include/__cxx03/__atomic/is_always_lock_free.h
M libcxx/include/__cxx03/__atomic/kill_dependency.h
M libcxx/include/__cxx03/__atomic/memory_order.h
M libcxx/include/__cxx03/__atomic/to_gcc_order.h
M libcxx/include/__cxx03/__bit/bit_cast.h
M libcxx/include/__cxx03/__bit/bit_ceil.h
M libcxx/include/__cxx03/__bit/bit_floor.h
M libcxx/include/__cxx03/__bit/bit_log2.h
M libcxx/include/__cxx03/__bit/bit_width.h
M libcxx/include/__cxx03/__bit/blsr.h
M libcxx/include/__cxx03/__bit/byteswap.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
M libcxx/include/__cxx03/__bit/endian.h
M libcxx/include/__cxx03/__bit/has_single_bit.h
M libcxx/include/__cxx03/__bit/invert_if.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
M libcxx/include/__cxx03/__charconv/chars_format.h
M libcxx/include/__cxx03/__charconv/from_chars_integral.h
M libcxx/include/__cxx03/__charconv/from_chars_result.h
M libcxx/include/__cxx03/__charconv/tables.h
M libcxx/include/__cxx03/__charconv/to_chars.h
M libcxx/include/__cxx03/__charconv/to_chars_base_10.h
M libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
M libcxx/include/__cxx03/__charconv/to_chars_integral.h
M libcxx/include/__cxx03/__charconv/to_chars_result.h
M libcxx/include/__cxx03/__charconv/traits.h
M libcxx/include/__cxx03/__chrono/calendar.h
M libcxx/include/__cxx03/__chrono/concepts.h
M libcxx/include/__cxx03/__chrono/convert_to_timespec.h
M libcxx/include/__cxx03/__chrono/convert_to_tm.h
M libcxx/include/__cxx03/__chrono/day.h
M libcxx/include/__cxx03/__chrono/duration.h
M libcxx/include/__cxx03/__chrono/exception.h
M libcxx/include/__cxx03/__chrono/file_clock.h
M libcxx/include/__cxx03/__chrono/formatter.h
M libcxx/include/__cxx03/__chrono/hh_mm_ss.h
M libcxx/include/__cxx03/__chrono/high_resolution_clock.h
M libcxx/include/__cxx03/__chrono/leap_second.h
M libcxx/include/__cxx03/__chrono/literals.h
M libcxx/include/__cxx03/__chrono/local_info.h
M libcxx/include/__cxx03/__chrono/month.h
M libcxx/include/__cxx03/__chrono/month_weekday.h
M libcxx/include/__cxx03/__chrono/monthday.h
M libcxx/include/__cxx03/__chrono/ostream.h
M libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
M libcxx/include/__cxx03/__chrono/statically_widen.h
M libcxx/include/__cxx03/__chrono/steady_clock.h
M libcxx/include/__cxx03/__chrono/sys_info.h
M libcxx/include/__cxx03/__chrono/system_clock.h
M libcxx/include/__cxx03/__chrono/time_point.h
M libcxx/include/__cxx03/__chrono/time_zone.h
M libcxx/include/__cxx03/__chrono/time_zone_link.h
M libcxx/include/__cxx03/__chrono/tzdb.h
M libcxx/include/__cxx03/__chrono/tzdb_list.h
M libcxx/include/__cxx03/__chrono/weekday.h
M libcxx/include/__cxx03/__chrono/year.h
M libcxx/include/__cxx03/__chrono/year_month.h
M libcxx/include/__cxx03/__chrono/year_month_day.h
M libcxx/include/__cxx03/__chrono/year_month_weekday.h
M libcxx/include/__cxx03/__chrono/zoned_time.h
M libcxx/include/__cxx03/__compare/common_comparison_category.h
M libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
M libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
M libcxx/include/__cxx03/__compare/compare_three_way.h
M libcxx/include/__cxx03/__compare/compare_three_way_result.h
M libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
M libcxx/include/__cxx03/__compare/is_eq.h
M libcxx/include/__cxx03/__compare/ordering.h
M libcxx/include/__cxx03/__compare/partial_order.h
M libcxx/include/__cxx03/__compare/strong_order.h
M libcxx/include/__cxx03/__compare/synth_three_way.h
M libcxx/include/__cxx03/__compare/three_way_comparable.h
M libcxx/include/__cxx03/__compare/weak_order.h
M libcxx/include/__cxx03/__concepts/arithmetic.h
M libcxx/include/__cxx03/__concepts/assignable.h
M libcxx/include/__cxx03/__concepts/boolean_testable.h
M libcxx/include/__cxx03/__concepts/class_or_enum.h
M libcxx/include/__cxx03/__concepts/common_reference_with.h
M libcxx/include/__cxx03/__concepts/common_with.h
M libcxx/include/__cxx03/__concepts/constructible.h
M libcxx/include/__cxx03/__concepts/convertible_to.h
M libcxx/include/__cxx03/__concepts/copyable.h
M libcxx/include/__cxx03/__concepts/derived_from.h
M libcxx/include/__cxx03/__concepts/destructible.h
M libcxx/include/__cxx03/__concepts/different_from.h
M libcxx/include/__cxx03/__concepts/equality_comparable.h
M libcxx/include/__cxx03/__concepts/invocable.h
M libcxx/include/__cxx03/__concepts/movable.h
M libcxx/include/__cxx03/__concepts/predicate.h
M libcxx/include/__cxx03/__concepts/regular.h
M libcxx/include/__cxx03/__concepts/relation.h
M libcxx/include/__cxx03/__concepts/same_as.h
M libcxx/include/__cxx03/__concepts/semiregular.h
M libcxx/include/__cxx03/__concepts/swappable.h
M libcxx/include/__cxx03/__concepts/totally_ordered.h
M libcxx/include/__cxx03/__condition_variable/condition_variable.h
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__config_site.in
M libcxx/include/__cxx03/__configuration/abi.h
M libcxx/include/__cxx03/__configuration/availability.h
M libcxx/include/__cxx03/__configuration/compiler.h
M libcxx/include/__cxx03/__configuration/language.h
M libcxx/include/__cxx03/__configuration/platform.h
M libcxx/include/__cxx03/__coroutine/coroutine_handle.h
M libcxx/include/__cxx03/__coroutine/coroutine_traits.h
M libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
M libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
M libcxx/include/__cxx03/__debug_utils/randomize_range.h
M libcxx/include/__cxx03/__debug_utils/sanitizers.h
M libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h
M libcxx/include/__cxx03/__exception/exception.h
M libcxx/include/__cxx03/__exception/exception_ptr.h
M libcxx/include/__cxx03/__exception/nested_exception.h
M libcxx/include/__cxx03/__exception/operations.h
M libcxx/include/__cxx03/__exception/terminate.h
M libcxx/include/__cxx03/__expected/bad_expected_access.h
M libcxx/include/__cxx03/__expected/expected.h
M libcxx/include/__cxx03/__expected/unexpect.h
M libcxx/include/__cxx03/__expected/unexpected.h
M libcxx/include/__cxx03/__filesystem/copy_options.h
M libcxx/include/__cxx03/__filesystem/directory_entry.h
M libcxx/include/__cxx03/__filesystem/directory_iterator.h
M libcxx/include/__cxx03/__filesystem/directory_options.h
M libcxx/include/__cxx03/__filesystem/file_status.h
M libcxx/include/__cxx03/__filesystem/file_time_type.h
M libcxx/include/__cxx03/__filesystem/file_type.h
M libcxx/include/__cxx03/__filesystem/filesystem_error.h
M libcxx/include/__cxx03/__filesystem/operations.h
M libcxx/include/__cxx03/__filesystem/path.h
M libcxx/include/__cxx03/__filesystem/path_iterator.h
M libcxx/include/__cxx03/__filesystem/perm_options.h
M libcxx/include/__cxx03/__filesystem/perms.h
M libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
M libcxx/include/__cxx03/__filesystem/space_info.h
M libcxx/include/__cxx03/__filesystem/u8path.h
M libcxx/include/__cxx03/__format/buffer.h
M libcxx/include/__cxx03/__format/concepts.h
M libcxx/include/__cxx03/__format/container_adaptor.h
M libcxx/include/__cxx03/__format/enable_insertable.h
M libcxx/include/__cxx03/__format/escaped_output_table.h
M libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
M libcxx/include/__cxx03/__format/format_arg.h
M libcxx/include/__cxx03/__format/format_arg_store.h
M libcxx/include/__cxx03/__format/format_args.h
M libcxx/include/__cxx03/__format/format_context.h
M libcxx/include/__cxx03/__format/format_error.h
M libcxx/include/__cxx03/__format/format_functions.h
M libcxx/include/__cxx03/__format/format_parse_context.h
M libcxx/include/__cxx03/__format/format_string.h
M libcxx/include/__cxx03/__format/format_to_n_result.h
M libcxx/include/__cxx03/__format/formatter.h
M libcxx/include/__cxx03/__format/formatter_bool.h
M libcxx/include/__cxx03/__format/formatter_char.h
M libcxx/include/__cxx03/__format/formatter_floating_point.h
M libcxx/include/__cxx03/__format/formatter_integer.h
M libcxx/include/__cxx03/__format/formatter_integral.h
M libcxx/include/__cxx03/__format/formatter_output.h
M libcxx/include/__cxx03/__format/formatter_pointer.h
M libcxx/include/__cxx03/__format/formatter_string.h
M libcxx/include/__cxx03/__format/formatter_tuple.h
M libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
M libcxx/include/__cxx03/__format/parser_std_format_spec.h
M libcxx/include/__cxx03/__format/range_default_formatter.h
M libcxx/include/__cxx03/__format/range_formatter.h
M libcxx/include/__cxx03/__format/unicode.h
M libcxx/include/__cxx03/__format/width_estimation_table.h
M libcxx/include/__cxx03/__format/write_escaped.h
M libcxx/include/__cxx03/__functional/binary_function.h
M libcxx/include/__cxx03/__functional/binary_negate.h
M libcxx/include/__cxx03/__functional/bind.h
M libcxx/include/__cxx03/__functional/bind_back.h
M libcxx/include/__cxx03/__functional/bind_front.h
M libcxx/include/__cxx03/__functional/binder1st.h
M libcxx/include/__cxx03/__functional/binder2nd.h
M libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
M libcxx/include/__cxx03/__functional/compose.h
M libcxx/include/__cxx03/__functional/default_searcher.h
M libcxx/include/__cxx03/__functional/function.h
M libcxx/include/__cxx03/__functional/hash.h
M libcxx/include/__cxx03/__functional/identity.h
M libcxx/include/__cxx03/__functional/invoke.h
M libcxx/include/__cxx03/__functional/is_transparent.h
M libcxx/include/__cxx03/__functional/mem_fn.h
M libcxx/include/__cxx03/__functional/mem_fun_ref.h
M libcxx/include/__cxx03/__functional/not_fn.h
M libcxx/include/__cxx03/__functional/operations.h
M libcxx/include/__cxx03/__functional/perfect_forward.h
M libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
M libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
M libcxx/include/__cxx03/__functional/ranges_operations.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/unary_function.h
M libcxx/include/__cxx03/__functional/unary_negate.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
M libcxx/include/__cxx03/__fwd/array.h
M libcxx/include/__cxx03/__fwd/bit_reference.h
M libcxx/include/__cxx03/__fwd/complex.h
M libcxx/include/__cxx03/__fwd/deque.h
M libcxx/include/__cxx03/__fwd/format.h
M libcxx/include/__cxx03/__fwd/fstream.h
M libcxx/include/__cxx03/__fwd/functional.h
M libcxx/include/__cxx03/__fwd/ios.h
M libcxx/include/__cxx03/__fwd/istream.h
M libcxx/include/__cxx03/__fwd/mdspan.h
M libcxx/include/__cxx03/__fwd/memory.h
M libcxx/include/__cxx03/__fwd/memory_resource.h
M libcxx/include/__cxx03/__fwd/ostream.h
M libcxx/include/__cxx03/__fwd/pair.h
M libcxx/include/__cxx03/__fwd/queue.h
M libcxx/include/__cxx03/__fwd/span.h
M libcxx/include/__cxx03/__fwd/sstream.h
M libcxx/include/__cxx03/__fwd/stack.h
M libcxx/include/__cxx03/__fwd/streambuf.h
M libcxx/include/__cxx03/__fwd/string.h
M libcxx/include/__cxx03/__fwd/string_view.h
M libcxx/include/__cxx03/__fwd/subrange.h
M libcxx/include/__cxx03/__fwd/tuple.h
M libcxx/include/__cxx03/__fwd/vector.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__ios/fpos.h
M libcxx/include/__cxx03/__iterator/access.h
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/aliasing_iterator.h
M libcxx/include/__cxx03/__iterator/back_insert_iterator.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
M libcxx/include/__cxx03/__iterator/common_iterator.h
M libcxx/include/__cxx03/__iterator/concepts.h
M libcxx/include/__cxx03/__iterator/counted_iterator.h
M libcxx/include/__cxx03/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__cxx03/__iterator/data.h
M libcxx/include/__cxx03/__iterator/default_sentinel.h
M libcxx/include/__cxx03/__iterator/distance.h
M libcxx/include/__cxx03/__iterator/empty.h
M libcxx/include/__cxx03/__iterator/erase_if_container.h
M libcxx/include/__cxx03/__iterator/front_insert_iterator.h
M libcxx/include/__cxx03/__iterator/incrementable_traits.h
M libcxx/include/__cxx03/__iterator/indirectly_comparable.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/iter_move.h
M libcxx/include/__cxx03/__iterator/iter_swap.h
M libcxx/include/__cxx03/__iterator/iterator.h
M libcxx/include/__cxx03/__iterator/iterator_traits.h
M libcxx/include/__cxx03/__iterator/iterator_with_data.h
M libcxx/include/__cxx03/__iterator/mergeable.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
M libcxx/include/__cxx03/__iterator/move_sentinel.h
M libcxx/include/__cxx03/__iterator/next.h
M libcxx/include/__cxx03/__iterator/ostream_iterator.h
M libcxx/include/__cxx03/__iterator/ostreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/permutable.h
M libcxx/include/__cxx03/__iterator/prev.h
M libcxx/include/__cxx03/__iterator/projected.h
M libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
M libcxx/include/__cxx03/__iterator/readable_traits.h
M libcxx/include/__cxx03/__iterator/reverse_access.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
M libcxx/include/__cxx03/__iterator/segmented_iterator.h
M libcxx/include/__cxx03/__iterator/size.h
M libcxx/include/__cxx03/__iterator/sortable.h
M libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
M libcxx/include/__cxx03/__locale
M libcxx/include/__cxx03/__locale_dir/locale_base_api.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/android.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_defaults.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/fuchsia.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/ibm.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/locale_guard.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/musl.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/newlib.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/openbsd.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/win32.h
M libcxx/include/__cxx03/__math/abs.h
M libcxx/include/__cxx03/__math/copysign.h
M libcxx/include/__cxx03/__math/error_functions.h
M libcxx/include/__cxx03/__math/exponential_functions.h
M libcxx/include/__cxx03/__math/fdim.h
M libcxx/include/__cxx03/__math/fma.h
M libcxx/include/__cxx03/__math/gamma.h
M libcxx/include/__cxx03/__math/hyperbolic_functions.h
M libcxx/include/__cxx03/__math/hypot.h
M libcxx/include/__cxx03/__math/inverse_hyperbolic_functions.h
M libcxx/include/__cxx03/__math/inverse_trigonometric_functions.h
M libcxx/include/__cxx03/__math/logarithms.h
M libcxx/include/__cxx03/__math/min_max.h
M libcxx/include/__cxx03/__math/modulo.h
M libcxx/include/__cxx03/__math/remainder.h
M libcxx/include/__cxx03/__math/roots.h
M libcxx/include/__cxx03/__math/rounding_functions.h
M libcxx/include/__cxx03/__math/special_functions.h
M libcxx/include/__cxx03/__math/traits.h
M libcxx/include/__cxx03/__math/trigonometric_functions.h
M libcxx/include/__cxx03/__mbstate_t.h
M libcxx/include/__cxx03/__mdspan/default_accessor.h
M libcxx/include/__cxx03/__mdspan/extents.h
M libcxx/include/__cxx03/__mdspan/layout_left.h
M libcxx/include/__cxx03/__mdspan/layout_right.h
M libcxx/include/__cxx03/__mdspan/layout_stride.h
M libcxx/include/__cxx03/__mdspan/mdspan.h
M libcxx/include/__cxx03/__memory/addressof.h
M libcxx/include/__cxx03/__memory/align.h
M libcxx/include/__cxx03/__memory/aligned_alloc.h
M libcxx/include/__cxx03/__memory/allocate_at_least.h
M libcxx/include/__cxx03/__memory/allocation_guard.h
M libcxx/include/__cxx03/__memory/allocator.h
M libcxx/include/__cxx03/__memory/allocator_arg_t.h
M libcxx/include/__cxx03/__memory/allocator_destructor.h
M libcxx/include/__cxx03/__memory/allocator_traits.h
M libcxx/include/__cxx03/__memory/assume_aligned.h
M libcxx/include/__cxx03/__memory/auto_ptr.h
M libcxx/include/__cxx03/__memory/builtin_new_allocator.h
M libcxx/include/__cxx03/__memory/compressed_pair.h
M libcxx/include/__cxx03/__memory/concepts.h
M libcxx/include/__cxx03/__memory/construct_at.h
M libcxx/include/__cxx03/__memory/destruct_n.h
M libcxx/include/__cxx03/__memory/inout_ptr.h
M libcxx/include/__cxx03/__memory/out_ptr.h
M libcxx/include/__cxx03/__memory/pointer_traits.h
M libcxx/include/__cxx03/__memory/ranges_construct_at.h
M libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/raw_storage_iterator.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/swap_allocator.h
M libcxx/include/__cxx03/__memory/temp_value.h
M libcxx/include/__cxx03/__memory/temporary_buffer.h
M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
M libcxx/include/__cxx03/__memory/uses_allocator.h
M libcxx/include/__cxx03/__memory/uses_allocator_construction.h
M libcxx/include/__cxx03/__memory/voidify.h
M libcxx/include/__cxx03/__memory_resource/memory_resource.h
M libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
M libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
M libcxx/include/__cxx03/__memory_resource/pool_options.h
M libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
M libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__cxx03/__mutex/lock_guard.h
M libcxx/include/__cxx03/__mutex/mutex.h
M libcxx/include/__cxx03/__mutex/once_flag.h
M libcxx/include/__cxx03/__mutex/tag_types.h
M libcxx/include/__cxx03/__mutex/unique_lock.h
M libcxx/include/__cxx03/__node_handle
M libcxx/include/__cxx03/__numeric/accumulate.h
M libcxx/include/__cxx03/__numeric/adjacent_difference.h
M libcxx/include/__cxx03/__numeric/exclusive_scan.h
M libcxx/include/__cxx03/__numeric/gcd_lcm.h
M libcxx/include/__cxx03/__numeric/inclusive_scan.h
M libcxx/include/__cxx03/__numeric/inner_product.h
M libcxx/include/__cxx03/__numeric/iota.h
M libcxx/include/__cxx03/__numeric/midpoint.h
M libcxx/include/__cxx03/__numeric/partial_sum.h
M libcxx/include/__cxx03/__numeric/pstl.h
M libcxx/include/__cxx03/__numeric/reduce.h
M libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
M libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
M libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
M libcxx/include/__cxx03/__numeric/transform_reduce.h
M libcxx/include/__cxx03/__ostream/basic_ostream.h
M libcxx/include/__cxx03/__ostream/print.h
M libcxx/include/__cxx03/__pstl/backend.h
M libcxx/include/__cxx03/__pstl/backend_fwd.h
M libcxx/include/__cxx03/__pstl/backends/default.h
M libcxx/include/__cxx03/__pstl/backends/libdispatch.h
M libcxx/include/__cxx03/__pstl/backends/serial.h
M libcxx/include/__cxx03/__pstl/backends/std_thread.h
M libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
M libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
M libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
M libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
M libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
M libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
M libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
M libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
M libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
M libcxx/include/__cxx03/__pstl/dispatch.h
M libcxx/include/__cxx03/__pstl/handle_exception.h
M libcxx/include/__cxx03/__random/bernoulli_distribution.h
M libcxx/include/__cxx03/__random/binomial_distribution.h
M libcxx/include/__cxx03/__random/cauchy_distribution.h
M libcxx/include/__cxx03/__random/chi_squared_distribution.h
M libcxx/include/__cxx03/__random/clamp_to_integral.h
M libcxx/include/__cxx03/__random/default_random_engine.h
M libcxx/include/__cxx03/__random/discard_block_engine.h
M libcxx/include/__cxx03/__random/discrete_distribution.h
M libcxx/include/__cxx03/__random/exponential_distribution.h
M libcxx/include/__cxx03/__random/extreme_value_distribution.h
M libcxx/include/__cxx03/__random/fisher_f_distribution.h
M libcxx/include/__cxx03/__random/gamma_distribution.h
M libcxx/include/__cxx03/__random/generate_canonical.h
M libcxx/include/__cxx03/__random/geometric_distribution.h
M libcxx/include/__cxx03/__random/independent_bits_engine.h
M libcxx/include/__cxx03/__random/is_seed_sequence.h
M libcxx/include/__cxx03/__random/is_valid.h
M libcxx/include/__cxx03/__random/knuth_b.h
M libcxx/include/__cxx03/__random/linear_congruential_engine.h
M libcxx/include/__cxx03/__random/log2.h
M libcxx/include/__cxx03/__random/lognormal_distribution.h
M libcxx/include/__cxx03/__random/mersenne_twister_engine.h
M libcxx/include/__cxx03/__random/negative_binomial_distribution.h
M libcxx/include/__cxx03/__random/normal_distribution.h
M libcxx/include/__cxx03/__random/piecewise_constant_distribution.h
M libcxx/include/__cxx03/__random/piecewise_linear_distribution.h
M libcxx/include/__cxx03/__random/poisson_distribution.h
M libcxx/include/__cxx03/__random/random_device.h
M libcxx/include/__cxx03/__random/ranlux.h
M libcxx/include/__cxx03/__random/seed_seq.h
M libcxx/include/__cxx03/__random/shuffle_order_engine.h
M libcxx/include/__cxx03/__random/student_t_distribution.h
M libcxx/include/__cxx03/__random/subtract_with_carry_engine.h
M libcxx/include/__cxx03/__random/uniform_int_distribution.h
M libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
M libcxx/include/__cxx03/__random/uniform_real_distribution.h
M libcxx/include/__cxx03/__random/weibull_distribution.h
M libcxx/include/__cxx03/__ranges/access.h
M libcxx/include/__cxx03/__ranges/all.h
M libcxx/include/__cxx03/__ranges/as_rvalue_view.h
M libcxx/include/__cxx03/__ranges/chunk_by_view.h
M libcxx/include/__cxx03/__ranges/common_view.h
M libcxx/include/__cxx03/__ranges/concepts.h
M libcxx/include/__cxx03/__ranges/container_compatible_range.h
M libcxx/include/__cxx03/__ranges/counted.h
M libcxx/include/__cxx03/__ranges/dangling.h
M libcxx/include/__cxx03/__ranges/data.h
M libcxx/include/__cxx03/__ranges/drop_view.h
M libcxx/include/__cxx03/__ranges/drop_while_view.h
M libcxx/include/__cxx03/__ranges/elements_view.h
M libcxx/include/__cxx03/__ranges/empty.h
M libcxx/include/__cxx03/__ranges/empty_view.h
M libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
M libcxx/include/__cxx03/__ranges/enable_view.h
M libcxx/include/__cxx03/__ranges/filter_view.h
M libcxx/include/__cxx03/__ranges/from_range.h
M libcxx/include/__cxx03/__ranges/iota_view.h
M libcxx/include/__cxx03/__ranges/istream_view.h
M libcxx/include/__cxx03/__ranges/join_view.h
M libcxx/include/__cxx03/__ranges/lazy_split_view.h
M libcxx/include/__cxx03/__ranges/movable_box.h
M libcxx/include/__cxx03/__ranges/non_propagating_cache.h
M libcxx/include/__cxx03/__ranges/owning_view.h
M libcxx/include/__cxx03/__ranges/range_adaptor.h
M libcxx/include/__cxx03/__ranges/rbegin.h
M libcxx/include/__cxx03/__ranges/ref_view.h
M libcxx/include/__cxx03/__ranges/rend.h
M libcxx/include/__cxx03/__ranges/repeat_view.h
M libcxx/include/__cxx03/__ranges/reverse_view.h
M libcxx/include/__cxx03/__ranges/single_view.h
M libcxx/include/__cxx03/__ranges/size.h
M libcxx/include/__cxx03/__ranges/split_view.h
M libcxx/include/__cxx03/__ranges/subrange.h
M libcxx/include/__cxx03/__ranges/take_view.h
M libcxx/include/__cxx03/__ranges/take_while_view.h
M libcxx/include/__cxx03/__ranges/to.h
M libcxx/include/__cxx03/__ranges/transform_view.h
M libcxx/include/__cxx03/__ranges/view_interface.h
M libcxx/include/__cxx03/__ranges/views.h
M libcxx/include/__cxx03/__ranges/zip_view.h
M libcxx/include/__cxx03/__split_buffer
M libcxx/include/__cxx03/__std_mbstate_t.h
M libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
M libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
M libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
M libcxx/include/__cxx03/__stop_token/stop_callback.h
M libcxx/include/__cxx03/__stop_token/stop_source.h
M libcxx/include/__cxx03/__stop_token/stop_state.h
M libcxx/include/__cxx03/__stop_token/stop_token.h
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__string/constexpr_c_functions.h
M libcxx/include/__cxx03/__string/extern_template_lists.h
M libcxx/include/__cxx03/__support/ibm/gettod_zos.h
M libcxx/include/__cxx03/__support/ibm/locale_mgmt_zos.h
M libcxx/include/__cxx03/__support/ibm/nanosleep.h
M libcxx/include/__cxx03/__support/xlocale/__nop_locale_mgmt.h
M libcxx/include/__cxx03/__support/xlocale/__posix_l_fallback.h
M libcxx/include/__cxx03/__support/xlocale/__strtonum_fallback.h
M libcxx/include/__cxx03/__system_error/errc.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__system_error/error_code.h
M libcxx/include/__cxx03/__system_error/error_condition.h
M libcxx/include/__cxx03/__system_error/system_error.h
M libcxx/include/__cxx03/__thread/formatter.h
M libcxx/include/__cxx03/__thread/id.h
M libcxx/include/__cxx03/__thread/jthread.h
M libcxx/include/__cxx03/__thread/poll_with_backoff.h
M libcxx/include/__cxx03/__thread/support.h
M libcxx/include/__cxx03/__thread/support/c11.h
M libcxx/include/__cxx03/__thread/support/external.h
M libcxx/include/__cxx03/__thread/support/pthread.h
M libcxx/include/__cxx03/__thread/support/windows.h
M libcxx/include/__cxx03/__thread/this_thread.h
M libcxx/include/__cxx03/__thread/thread.h
M libcxx/include/__cxx03/__thread/timed_backoff_policy.h
M libcxx/include/__cxx03/__tree
M libcxx/include/__cxx03/__tuple/find_index.h
M libcxx/include/__cxx03/__tuple/ignore.h
M libcxx/include/__cxx03/__tuple/make_tuple_types.h
M libcxx/include/__cxx03/__tuple/sfinae_helpers.h
M libcxx/include/__cxx03/__tuple/tuple_element.h
M libcxx/include/__cxx03/__tuple/tuple_indices.h
M libcxx/include/__cxx03/__tuple/tuple_like.h
M libcxx/include/__cxx03/__tuple/tuple_like_ext.h
M libcxx/include/__cxx03/__tuple/tuple_like_no_subrange.h
M libcxx/include/__cxx03/__tuple/tuple_size.h
M libcxx/include/__cxx03/__tuple/tuple_types.h
M libcxx/include/__cxx03/__type_traits/add_const.h
M libcxx/include/__cxx03/__type_traits/add_cv.h
M libcxx/include/__cxx03/__type_traits/add_lvalue_reference.h
M libcxx/include/__cxx03/__type_traits/add_pointer.h
M libcxx/include/__cxx03/__type_traits/add_rvalue_reference.h
M libcxx/include/__cxx03/__type_traits/add_volatile.h
M libcxx/include/__cxx03/__type_traits/aligned_storage.h
M libcxx/include/__cxx03/__type_traits/aligned_union.h
M libcxx/include/__cxx03/__type_traits/alignment_of.h
M libcxx/include/__cxx03/__type_traits/can_extract_key.h
M libcxx/include/__cxx03/__type_traits/common_reference.h
M libcxx/include/__cxx03/__type_traits/common_type.h
M libcxx/include/__cxx03/__type_traits/conditional.h
M libcxx/include/__cxx03/__type_traits/conjunction.h
M libcxx/include/__cxx03/__type_traits/copy_cv.h
M libcxx/include/__cxx03/__type_traits/copy_cvref.h
M libcxx/include/__cxx03/__type_traits/datasizeof.h
M libcxx/include/__cxx03/__type_traits/decay.h
M libcxx/include/__cxx03/__type_traits/dependent_type.h
M libcxx/include/__cxx03/__type_traits/desugars_to.h
M libcxx/include/__cxx03/__type_traits/disjunction.h
M libcxx/include/__cxx03/__type_traits/enable_if.h
M libcxx/include/__cxx03/__type_traits/extent.h
M libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
M libcxx/include/__cxx03/__type_traits/has_virtual_destructor.h
M libcxx/include/__cxx03/__type_traits/integral_constant.h
M libcxx/include/__cxx03/__type_traits/invoke.h
M libcxx/include/__cxx03/__type_traits/is_abstract.h
M libcxx/include/__cxx03/__type_traits/is_aggregate.h
M libcxx/include/__cxx03/__type_traits/is_allocator.h
M libcxx/include/__cxx03/__type_traits/is_always_bitcastable.h
M libcxx/include/__cxx03/__type_traits/is_arithmetic.h
M libcxx/include/__cxx03/__type_traits/is_array.h
M libcxx/include/__cxx03/__type_traits/is_assignable.h
M libcxx/include/__cxx03/__type_traits/is_base_of.h
M libcxx/include/__cxx03/__type_traits/is_bounded_array.h
M libcxx/include/__cxx03/__type_traits/is_callable.h
M libcxx/include/__cxx03/__type_traits/is_char_like_type.h
M libcxx/include/__cxx03/__type_traits/is_class.h
M libcxx/include/__cxx03/__type_traits/is_compound.h
M libcxx/include/__cxx03/__type_traits/is_const.h
M libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h
M libcxx/include/__cxx03/__type_traits/is_constructible.h
M libcxx/include/__cxx03/__type_traits/is_convertible.h
M libcxx/include/__cxx03/__type_traits/is_core_convertible.h
M libcxx/include/__cxx03/__type_traits/is_destructible.h
M libcxx/include/__cxx03/__type_traits/is_empty.h
M libcxx/include/__cxx03/__type_traits/is_enum.h
M libcxx/include/__cxx03/__type_traits/is_equality_comparable.h
M libcxx/include/__cxx03/__type_traits/is_execution_policy.h
M libcxx/include/__cxx03/__type_traits/is_final.h
M libcxx/include/__cxx03/__type_traits/is_floating_point.h
M libcxx/include/__cxx03/__type_traits/is_function.h
M libcxx/include/__cxx03/__type_traits/is_fundamental.h
M libcxx/include/__cxx03/__type_traits/is_implicitly_default_constructible.h
M libcxx/include/__cxx03/__type_traits/is_integral.h
M libcxx/include/__cxx03/__type_traits/is_literal_type.h
M libcxx/include/__cxx03/__type_traits/is_member_pointer.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_assignable.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_constructible.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
M libcxx/include/__cxx03/__type_traits/is_nothrow_destructible.h
M libcxx/include/__cxx03/__type_traits/is_null_pointer.h
M libcxx/include/__cxx03/__type_traits/is_object.h
M libcxx/include/__cxx03/__type_traits/is_pod.h
M libcxx/include/__cxx03/__type_traits/is_pointer.h
M libcxx/include/__cxx03/__type_traits/is_polymorphic.h
M libcxx/include/__cxx03/__type_traits/is_primary_template.h
M libcxx/include/__cxx03/__type_traits/is_reference.h
M libcxx/include/__cxx03/__type_traits/is_reference_wrapper.h
M libcxx/include/__cxx03/__type_traits/is_referenceable.h
M libcxx/include/__cxx03/__type_traits/is_same.h
M libcxx/include/__cxx03/__type_traits/is_scalar.h
M libcxx/include/__cxx03/__type_traits/is_signed.h
M libcxx/include/__cxx03/__type_traits/is_signed_integer.h
M libcxx/include/__cxx03/__type_traits/is_specialization.h
M libcxx/include/__cxx03/__type_traits/is_standard_layout.h
M libcxx/include/__cxx03/__type_traits/is_swappable.h
M libcxx/include/__cxx03/__type_traits/is_trivial.h
M libcxx/include/__cxx03/__type_traits/is_trivially_assignable.h
M libcxx/include/__cxx03/__type_traits/is_trivially_constructible.h
M libcxx/include/__cxx03/__type_traits/is_trivially_copyable.h
M libcxx/include/__cxx03/__type_traits/is_trivially_destructible.h
M libcxx/include/__cxx03/__type_traits/is_trivially_lexicographically_comparable.h
M libcxx/include/__cxx03/__type_traits/is_trivially_relocatable.h
M libcxx/include/__cxx03/__type_traits/is_unbounded_array.h
M libcxx/include/__cxx03/__type_traits/is_union.h
M libcxx/include/__cxx03/__type_traits/is_unsigned.h
M libcxx/include/__cxx03/__type_traits/is_unsigned_integer.h
M libcxx/include/__cxx03/__type_traits/is_valid_expansion.h
M libcxx/include/__cxx03/__type_traits/is_void.h
M libcxx/include/__cxx03/__type_traits/is_volatile.h
M libcxx/include/__cxx03/__type_traits/lazy.h
M libcxx/include/__cxx03/__type_traits/make_32_64_or_128_bit.h
M libcxx/include/__cxx03/__type_traits/make_const_lvalue_ref.h
M libcxx/include/__cxx03/__type_traits/make_signed.h
M libcxx/include/__cxx03/__type_traits/make_unsigned.h
M libcxx/include/__cxx03/__type_traits/maybe_const.h
M libcxx/include/__cxx03/__type_traits/nat.h
M libcxx/include/__cxx03/__type_traits/negation.h
M libcxx/include/__cxx03/__type_traits/noexcept_move_assign_container.h
M libcxx/include/__cxx03/__type_traits/promote.h
M libcxx/include/__cxx03/__type_traits/rank.h
M libcxx/include/__cxx03/__type_traits/remove_all_extents.h
M libcxx/include/__cxx03/__type_traits/remove_const.h
M libcxx/include/__cxx03/__type_traits/remove_const_ref.h
M libcxx/include/__cxx03/__type_traits/remove_cv.h
M libcxx/include/__cxx03/__type_traits/remove_cvref.h
M libcxx/include/__cxx03/__type_traits/remove_extent.h
M libcxx/include/__cxx03/__type_traits/remove_pointer.h
M libcxx/include/__cxx03/__type_traits/remove_reference.h
M libcxx/include/__cxx03/__type_traits/remove_volatile.h
M libcxx/include/__cxx03/__type_traits/result_of.h
M libcxx/include/__cxx03/__type_traits/strip_signature.h
M libcxx/include/__cxx03/__type_traits/type_identity.h
M libcxx/include/__cxx03/__type_traits/type_list.h
M libcxx/include/__cxx03/__type_traits/underlying_type.h
M libcxx/include/__cxx03/__type_traits/unwrap_ref.h
M libcxx/include/__cxx03/__type_traits/void_t.h
M libcxx/include/__cxx03/__utility/as_const.h
M libcxx/include/__cxx03/__utility/as_lvalue.h
M libcxx/include/__cxx03/__utility/auto_cast.h
M libcxx/include/__cxx03/__utility/cmp.h
M libcxx/include/__cxx03/__utility/convert_to_integral.h
M libcxx/include/__cxx03/__utility/declval.h
M libcxx/include/__cxx03/__utility/empty.h
M libcxx/include/__cxx03/__utility/exception_guard.h
M libcxx/include/__cxx03/__utility/exchange.h
M libcxx/include/__cxx03/__utility/forward.h
M libcxx/include/__cxx03/__utility/forward_like.h
M libcxx/include/__cxx03/__utility/in_place.h
M libcxx/include/__cxx03/__utility/integer_sequence.h
M libcxx/include/__cxx03/__utility/is_pointer_in_range.h
M libcxx/include/__cxx03/__utility/is_valid_range.h
M libcxx/include/__cxx03/__utility/move.h
M libcxx/include/__cxx03/__utility/no_destroy.h
M libcxx/include/__cxx03/__utility/pair.h
M libcxx/include/__cxx03/__utility/piecewise_construct.h
M libcxx/include/__cxx03/__utility/priority_tag.h
M libcxx/include/__cxx03/__utility/private_constructor_tag.h
M libcxx/include/__cxx03/__utility/rel_ops.h
M libcxx/include/__cxx03/__utility/small_buffer.h
M libcxx/include/__cxx03/__utility/swap.h
M libcxx/include/__cxx03/__utility/to_underlying.h
M libcxx/include/__cxx03/__utility/unreachable.h
M libcxx/include/__cxx03/__variant/monostate.h
M libcxx/include/__cxx03/__verbose_abort
M libcxx/include/__cxx03/algorithm
M libcxx/include/__cxx03/any
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/atomic
M libcxx/include/__cxx03/barrier
M libcxx/include/__cxx03/bit
M libcxx/include/__cxx03/bitset
M libcxx/include/__cxx03/ccomplex
M libcxx/include/__cxx03/cctype
M libcxx/include/__cxx03/cerrno
M libcxx/include/__cxx03/cfenv
M libcxx/include/__cxx03/cfloat
M libcxx/include/__cxx03/charconv
M libcxx/include/__cxx03/chrono
M libcxx/include/__cxx03/cinttypes
M libcxx/include/__cxx03/ciso646
M libcxx/include/__cxx03/climits
M libcxx/include/__cxx03/clocale
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
M libcxx/include/__cxx03/compare
M libcxx/include/__cxx03/complex
M libcxx/include/__cxx03/complex.h
M libcxx/include/__cxx03/concepts
M libcxx/include/__cxx03/condition_variable
M libcxx/include/__cxx03/coroutine
M libcxx/include/__cxx03/csetjmp
M libcxx/include/__cxx03/csignal
M libcxx/include/__cxx03/cstdarg
M libcxx/include/__cxx03/cstdbool
M libcxx/include/__cxx03/cstddef
M libcxx/include/__cxx03/cstdint
M libcxx/include/__cxx03/cstdio
M libcxx/include/__cxx03/cstdlib
M libcxx/include/__cxx03/cstring
M libcxx/include/__cxx03/ctgmath
M libcxx/include/__cxx03/ctime
M libcxx/include/__cxx03/ctype.h
M libcxx/include/__cxx03/cuchar
M libcxx/include/__cxx03/cwchar
M libcxx/include/__cxx03/cwctype
M libcxx/include/__cxx03/deque
M libcxx/include/__cxx03/errno.h
M libcxx/include/__cxx03/exception
M libcxx/include/__cxx03/execution
M libcxx/include/__cxx03/expected
M libcxx/include/__cxx03/experimental/__config
M libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
M libcxx/include/__cxx03/experimental/__simd/declaration.h
M libcxx/include/__cxx03/experimental/__simd/reference.h
M libcxx/include/__cxx03/experimental/__simd/scalar.h
M libcxx/include/__cxx03/experimental/__simd/simd.h
M libcxx/include/__cxx03/experimental/__simd/simd_mask.h
M libcxx/include/__cxx03/experimental/__simd/traits.h
M libcxx/include/__cxx03/experimental/__simd/utility.h
M libcxx/include/__cxx03/experimental/__simd/vec_ext.h
M libcxx/include/__cxx03/experimental/iterator
M libcxx/include/__cxx03/experimental/memory
M libcxx/include/__cxx03/experimental/propagate_const
M libcxx/include/__cxx03/experimental/simd
M libcxx/include/__cxx03/experimental/type_traits
M libcxx/include/__cxx03/experimental/utility
M libcxx/include/__cxx03/ext/__hash
M libcxx/include/__cxx03/ext/hash_map
M libcxx/include/__cxx03/ext/hash_set
M libcxx/include/__cxx03/fenv.h
M libcxx/include/__cxx03/filesystem
M libcxx/include/__cxx03/float.h
M libcxx/include/__cxx03/format
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/fstream
M libcxx/include/__cxx03/functional
M libcxx/include/__cxx03/future
M libcxx/include/__cxx03/initializer_list
M libcxx/include/__cxx03/inttypes.h
M libcxx/include/__cxx03/iomanip
M libcxx/include/__cxx03/ios
M libcxx/include/__cxx03/iosfwd
M libcxx/include/__cxx03/iostream
M libcxx/include/__cxx03/istream
M libcxx/include/__cxx03/iterator
M libcxx/include/__cxx03/latch
M libcxx/include/__cxx03/limits
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/locale.h
M libcxx/include/__cxx03/map
M libcxx/include/__cxx03/math.h
M libcxx/include/__cxx03/mdspan
M libcxx/include/__cxx03/memory
M libcxx/include/__cxx03/memory_resource
M libcxx/include/__cxx03/mutex
M libcxx/include/__cxx03/new
M libcxx/include/__cxx03/numbers
M libcxx/include/__cxx03/numeric
M libcxx/include/__cxx03/optional
M libcxx/include/__cxx03/ostream
M libcxx/include/__cxx03/print
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/random
M libcxx/include/__cxx03/ranges
M libcxx/include/__cxx03/ratio
M libcxx/include/__cxx03/regex
M libcxx/include/__cxx03/scoped_allocator
M libcxx/include/__cxx03/semaphore
M libcxx/include/__cxx03/set
M libcxx/include/__cxx03/shared_mutex
M libcxx/include/__cxx03/source_location
M libcxx/include/__cxx03/span
M libcxx/include/__cxx03/sstream
M libcxx/include/__cxx03/stack
M libcxx/include/__cxx03/stdatomic.h
M libcxx/include/__cxx03/stdbool.h
M libcxx/include/__cxx03/stddef.h
M libcxx/include/__cxx03/stdexcept
M libcxx/include/__cxx03/stdint.h
M libcxx/include/__cxx03/stdio.h
M libcxx/include/__cxx03/stdlib.h
M libcxx/include/__cxx03/stop_token
M libcxx/include/__cxx03/streambuf
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string.h
M libcxx/include/__cxx03/string_view
M libcxx/include/__cxx03/strstream
M libcxx/include/__cxx03/syncstream
M libcxx/include/__cxx03/system_error
M libcxx/include/__cxx03/tgmath.h
M libcxx/include/__cxx03/thread
M libcxx/include/__cxx03/tuple
M libcxx/include/__cxx03/type_traits
M libcxx/include/__cxx03/typeindex
M libcxx/include/__cxx03/typeinfo
M libcxx/include/__cxx03/uchar.h
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/utility
M libcxx/include/__cxx03/valarray
M libcxx/include/__cxx03/variant
M libcxx/include/__cxx03/vector
M libcxx/include/__cxx03/wchar.h
M libcxx/include/__cxx03/wctype.h
Log Message:
-----------
[libc++][C++03] Update include guards (#109001)
This patch updates the includes guards of the C++ 03 headers.
This is part of https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.
Commit: 117cfa66ea6b1e307db0e8da43a6e9306cdaaca0
https://github.com/llvm/llvm-project/commit/117cfa66ea6b1e307db0e8da43a6e9306cdaaca0
Author: John Harrison <harjohn at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M lldb/unittests/TestingSupport/Host/SocketTestUtilities.cpp
Log Message:
-----------
[lldb] Improving unit test helpers by utilizing llvm helpers. (#119148)
This was suggested in a previous patch after the commit was already
submitted.
Original suggestion
https://github.com/llvm/llvm-project/pull/118673#discussion_r1872812959
Commit: 10ef00faf1964716c2c91a26ddaa14b55dc95b0b
https://github.com/llvm/llvm-project/commit/10ef00faf1964716c2c91a26ddaa14b55dc95b0b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M libcxx/test/support/test_allocator.h
Log Message:
-----------
[libc++][NFC] Run clang-format on test_allocator.h
Commit: 1094641bc029b7ca6ac9f18c5ff5b028037e1a6f
https://github.com/llvm/llvm-project/commit/1094641bc029b7ca6ac9f18c5ff5b028037e1a6f
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
A clang/test/AST/ms-constexpr-new.cpp
M clang/test/SemaCXX/ms-constexpr-new.cpp
Log Message:
-----------
[Clang] allow usage of placement new operator in [[msvc::constexpr]] context outside of the std namespace (#119153)
Fixes #74924
Commit: 4c4606a743d26ebe5fdd84e953254627a459a991
https://github.com/llvm/llvm-project/commit/4c4606a743d26ebe5fdd84e953254627a459a991
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M libcxx/include/span
M libcxx/test/libcxx/containers/views/views.span/span.cons/assert.iter_size.pass.cpp
Log Message:
-----------
[libc++] Add missing assertion in std::span constructor (#118396)
The (iterator, size) constructor should ensure that it gets passed a
valid range when the size is not 0.
Fixes #107789
Commit: 85142f5b3581f0d8466cca8a09bba80dafc63b8c
https://github.com/llvm/llvm-project/commit/85142f5b3581f0d8466cca8a09bba80dafc63b8c
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] support for true16 for vinterp 16bit instructions (#116702)
vinterp 16bit instructions codeGen support in True16 format
Currently only enable two tests, will enable more when more true16
instructions are supported
Commit: d5fe6332c9f25590b9878ad31d6461ea581e0fa5
https://github.com/llvm/llvm-project/commit/d5fe6332c9f25590b9878ad31d6461ea581e0fa5
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
Log Message:
-----------
[nfc][clang-offload-bundler] Don't leak on exit(1) (#119178)
`exit(1)` does not calls C++ destructors, however, it calls
`at_exit()` handlers, including lsan.
Usually lsan can see pointers of local allocations
on the stack or in registers, but those can be
discarded by `noreturn` `exit` call.
Fixes leak triggered by f7685af4a5bd188e6d548967d818d8569f10a70d.
Commit: 213c90d3c1f1517eb7a75ecf834f1faf90c288a8
https://github.com/llvm/llvm-project/commit/213c90d3c1f1517eb7a75ecf834f1faf90c288a8
Author: bernhardu <bernhardu at mailbox.org>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
Log Message:
-----------
[win/asan] GetInstructionSize: Fix `41 81 7c ...` to return 9. (#117828)
Trying to populate the recently added test for GetInstructionSize I
stumbled over this.
gdb and bddisasm have the opinion this instruction is 9 bytes.
Also lldb shows this:
```
(lldb) disassemble --bytes --start-address 0x0000555555556004 --end-address 0x0000555555556024
0x555555556004: 41 81 7b 73 74 75 76 77 cmpl $0x77767574, 0x73(%r11) ; imm = 0x77767574
0x55555555600c: 41 81 7c 73 74 75 76 77 78 cmpl $0x78777675, 0x74(%r11,%rsi,2) ; imm = 0x78777675
0x555555556015: 41 81 7d 73 74 75 76 77 cmpl $0x77767574, 0x73(%r13) ; imm = 0x77767574
0x55555555601d: 00 00 addb %al, (%rax)
```
There is also a handy tool in llvm to directly feed in the byte sequence
- `41 81 7c` also uses 9 bytes here:
```
$ echo -n -e "0x41, 0x81, 0x7b, 0x73, 0x74, 0x75, 0x76, 0x77, 0x90" | ./llvm/build/bin/llvm-mc --disassemble --show-encoding
.text
cmpl $2004252020, 115(%r11) # encoding: [0x41,0x81,0x7b,0x73,0x74,0x75,0x76,0x77]
# imm = 0x77767574
nop # encoding: [0x90]
$ echo -n -e "0x41, 0x81, 0x7c, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x90" | ./llvm/build/bin/llvm-mc --disassemble --show-encoding
.text
cmpl $2021095029, 116(%r11,%rsi,2) # encoding: [0x41,0x81,0x7c,0x73,0x74,0x75,0x76,0x77,0x78]
# imm = 0x78777675
nop # encoding: [0x90]
```
Commit: bf6f1ca236c943cc382759f71adfbf40b154a79e
https://github.com/llvm/llvm-project/commit/bf6f1ca236c943cc382759f71adfbf40b154a79e
Author: bernhardu <bernhardu at mailbox.org>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
Log Message:
-----------
[win/asan] GetInstructionSize: Make `F6 C1 XX` a generic entry. (#118144)
Commit: 2344cc49836aa82837986a43efcf6b0f93cb0072
https://github.com/llvm/llvm-project/commit/2344cc49836aa82837986a43efcf6b0f93cb0072
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
A flang/Maintainers.md
R flang/Maintainers.txt
Log Message:
-----------
[Flang] Update Maintainers (#117124)
Move to a markdown file and update maintainers.
This brings the project closer to updated guidance
(https://llvm.org/docs/DeveloperPolicy.html#maintainers). A list of
active and inactive maintainers is provided. Maintainers are also
grouped into lead or component maintainers.
Commit: b6c22a4e58f9dd38644368dd5d5de237703a360d
https://github.com/llvm/llvm-project/commit/b6c22a4e58f9dd38644368dd5d5de237703a360d
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
A clang/test/Driver/print-supported-cpus-aarch64.c
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/MC/MCSubtargetInfo.h
M llvm/lib/CodeGen/TargetSubtargetInfo.cpp
M llvm/lib/MC/MCSubtargetInfo.cpp
M llvm/unittests/CodeGen/MFCommon.inc
M llvm/unittests/Target/AArch64/AArch64InstPrinterTest.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
Add processor aliases back to -print-supported-cpus and -mcpu=help (#118581)
They were accidentally dropped in
https://github.com/llvm/llvm-project/pull/96249
rdar://140853882
Commit: 4646cabf01c8ca8e301a75ee46c56ce76eb412e0
https://github.com/llvm/llvm-project/commit/4646cabf01c8ca8e301a75ee46c56ce76eb412e0
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
M llvm/test/Instrumentation/SanitizerCoverage/cmp-tracing-api-x86_32.ll
M llvm/test/Instrumentation/SanitizerCoverage/missing_dbg.ll
Log Message:
-----------
[SanitizerCoverage] Avoid unnecessary inttoptr
We are indexing into an array here, so we can use
CreateConstInBoundsGEP2_64 instead of the manual arithmetic.
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/119097
Commit: fac9fcd55245479d040dde3f5e9f4e169c30a0ec
https://github.com/llvm/llvm-project/commit/fac9fcd55245479d040dde3f5e9f4e169c30a0ec
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M libcxxabi/src/CMakeLists.txt
Log Message:
-----------
[libcxxabi] Always link against libzircon for Fuchsia targets (#115910)
When using LTO, the deplibs mechanism is insufficient to ensure that
libzircon is always brought into the link prior to LTO code generation.
The general problem is discussed in depth in
https://github.com/llvm/llvm-project/issues/56070
To work around this, we can just provide libzircon as a link input.
Commit: 57545dbbdbafc51d63873800a45cfd48a283d981
https://github.com/llvm/llvm-project/commit/57545dbbdbafc51d63873800a45cfd48a283d981
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[Fuchsia][cmake] Allow using FatLTO when building runtimes (#112277)
We'd like to build runtimes using FatLTO (see
https://llvm.org/docs/FatLTO.html for details). This gives us more
control over how libc++ can be consumed by users of our toolchain, like
the Fuchsia SDK.
Commit: 4e59721cc6b4f78e0e69a335e3a218149ef65df2
https://github.com/llvm/llvm-project/commit/4e59721cc6b4f78e0e69a335e3a218149ef65df2
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/test/Fir/boxproc-2.fir
A flang/test/Fir/boxproc-openmp.fir
Log Message:
-----------
[Flang][OpenMP] Make boxed procedure pass aware of OpenMP private ops (#118261)
Fixes #109727
Commit: 1708519fe911e3cf18bb3071008fa661183b14a1
https://github.com/llvm/llvm-project/commit/1708519fe911e3cf18bb3071008fa661183b14a1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use std::make_unique in unit tests (NFC) (#119175)
Commit: 624e89bc59ccb36191ea55ed91bb96973285b542
https://github.com/llvm/llvm-project/commit/624e89bc59ccb36191ea55ed91bb96973285b542
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp
Log Message:
-----------
[memprof] Use namespace scopes in unit tests (NFC) (#119176)
This patch uses namespace scopes to remove memprof:: in
MemProfUseTest.cpp as in MemProfTest.cpp.
While I am at it, this patch removes a stale comment about
IndexedAllocationInfo::CallStack, which has been removed.
Commit: 83cb3dbc0c7c1c6950d52412e3346e3b382d79d6
https://github.com/llvm/llvm-project/commit/83cb3dbc0c7c1c6950d52412e3346e3b382d79d6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[Serialization] Migrate away from PointerUnion::{is,get} (NFC) (#118948)
Note that PointerUnion::{is,get} have been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 73adf26d504ba945251b87d78267e2bbfd34928f
https://github.com/llvm/llvm-project/commit/73adf26d504ba945251b87d78267e2bbfd34928f
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/HeuristicResolver.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
Log Message:
-----------
[clangd] Handle DeducedTemplateSpecializationType in HeuristicResolver (#119107)
Fixes https://github.com/clangd/clangd/issues/2227
Commit: 337936a83bc9ffaba67658245a8c9bef159584a3
https://github.com/llvm/llvm-project/commit/337936a83bc9ffaba67658245a8c9bef159584a3
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
Log Message:
-----------
[LV] Ignore some costs when loop gets fully unrolled (#106699)
When VF has a fixed width and equals the number of iterations, and we are not
tail folding by masking, comparison instruction and induction operation will be DCEed later.
Ignoring the costs of these instructions improves the cost model.
Commit: 9099d694f6f7e84853d6add9c58a6535cdc62b3d
https://github.com/llvm/llvm-project/commit/9099d694f6f7e84853d6add9c58a6535cdc62b3d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[Vectorize] Fix a warning
This patch fixes:
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:2699:49: error:
captured structured bindings are a C++20 extension
[-Werror,-Wc++20-extensions]
Commit: bef562343fe3ba91f14a9c86d8612f68986589cc
https://github.com/llvm/llvm-project/commit/bef562343fe3ba91f14a9c86d8612f68986589cc
Author: Shoaib Meenai <smeenai at fb.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/cmake/platforms/WinMsvc.cmake
Log Message:
-----------
[WinMsvc] Update `-fms-compatibility-version`
After 28bba0d717a43ea3f01689625577197889374965, LLVM requires a minimum
of MSVC 16.8, so update our flag to follow suit.
Commit: 53fd724b256e1ccfcb04c90f7740f54e1801986d
https://github.com/llvm/llvm-project/commit/53fd724b256e1ccfcb04c90f7740f54e1801986d
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M lldb/bindings/interface/SBValueExtensions.i
M lldb/test/API/python_api/value/TestValueAPI.py
Log Message:
-----------
[lldb] Add lookup by name to SBValue through new member property (#118814)
Introduces a `member` property to `SBValue`. This property provides pythonic access to a
value's members, by name. The expression `value.member["name"]` will be an alternate
form form of writing `value.GetChildMemberWithName("name")`.
Commit: 110b891f935960720d2b705cd770c9bd1d3d6319
https://github.com/llvm/llvm-project/commit/110b891f935960720d2b705cd770c9bd1d3d6319
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
A flang/test/HLFIR/cshift-lowering.fir
Log Message:
-----------
[flang] Added lowering for hlfir.cshift operation. (#118918)
Commit: 1a781e9ea6f7ed37ba89071f3ec402f68176a18e
https://github.com/llvm/llvm-project/commit/1a781e9ea6f7ed37ba89071f3ec402f68176a18e
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M libc/test/src/stdlib/StrtolTest.h
Log Message:
-----------
[libc] Add missing casts in StrtolTest (#119054)
The a0c4f854cad2b97e44a1b58dc1fd982e1c4d60f3 change replaced the
local int_to_b36_char function returning `char` with uses of the
__support function of the same name that returns `int`. The uses
of the old local function lacked the casts that all other uses of
the shared function of the same name had. Add them.
Commit: 3d94a202302d808db49646c60601e75fdcc40c14
https://github.com/llvm/llvm-project/commit/3d94a202302d808db49646c60601e75fdcc40c14
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M libc/test/src/ctype/isalnum_test.cpp
M libc/test/src/ctype/isalpha_test.cpp
M libc/test/src/ctype/isdigit_test.cpp
M libc/test/src/ctype/islower_test.cpp
M libc/test/src/ctype/isupper_test.cpp
M libc/test/src/ctype/isxdigit_test.cpp
M libc/test/src/ctype/tolower_test.cpp
M libc/test/src/ctype/toupper_test.cpp
Log Message:
-----------
[libc] Fix multiply-defined global functions in ctype tests (#119055)
For whatever reason, each ctype test contains its own copy of
some identical helper source code. These local helpers were
defined with external linkage for no apparent reason. This leads
to multiple definition errors when linking these tests together.
This change moves each file's local helper code into an anonymous
namespace so it has internal linkage. It's notable that the libc
test code does not follow the most common norm of gtest-style
code where all the `TEST(...)` cases themselves are defined
inside an anonymous namespace (along with whatever other local
helpers they use); whether libc's tests should follow that usual
convention can be addressed holistically in future discussion.
The replacement of numerous cut&paste'd copies of identical
helper code with sharing the source code in some usual fashion is
also left for later cleanup.
This change only makes the test code not straightforwardly have
multiple definition errors that prevent linking a test executable
at all.
Commit: 511e84ff2624b76948e35a2220550a67ae67b264
https://github.com/llvm/llvm-project/commit/511e84ff2624b76948e35a2220550a67ae67b264
Author: Carlo Cabrera <github at carlo.cab>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
[clang][docs] fix rendering of `$`-prefixed options (#119249)
This was added in #117573 but the options were not being rendered
correctly due to the missing newline after `::`.
Commit: 1cbd67efe438bdf0a8183482471107363ce091d1
https://github.com/llvm/llvm-project/commit/1cbd67efe438bdf0a8183482471107363ce091d1
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Revert "[Fuchsia][cmake] Allow using FatLTO when building runtimes" (#119252)
Reverts llvm/llvm-project#112277
This broke something on Fuchsia's Mac builders,
so there's still something in the CMake that needs to be updated before
we reland.
Failed build:
https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci/clang-mac-xarm64/b8729005878443108801/overview
Commit: e81130a6cdbf6a9f6031bbf5775d979968191ed0
https://github.com/llvm/llvm-project/commit/e81130a6cdbf6a9f6031bbf5775d979968191ed0
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
Revert "[AMDGPU][True16][MC] remove duplicated test line in VOP2 test (#117195)" (#119247)
The previous patch
https://github.com/llvm/llvm-project/pull/116860/files#diff-e7e06355c973f68f900d2a34a4103dbfa022589c55c59d02870da9365acf7b98L651
seems to mistakenly overwrites true16 test lines.
i.e.
```
v_fmaak_f16 v5.l, v1.l, v2.l, 0xfe0b
```
to
```
v_fmaak_f16 v5, v1, v2, 0xfe0b
```
Planned to revert patch
https://github.com/llvm/llvm-project/pull/117195
https://github.com/llvm/llvm-project/pull/116860
and redo these two.
This is the revert of the patch 117195. The revert of 116860 will be in
a seperate patch
Commit: 3b74abdf04092a33ee1881821298ac2539fca68c
https://github.com/llvm/llvm-project/commit/3b74abdf04092a33ee1881821298ac2539fca68c
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vmul.ll
Log Message:
-----------
[msan] Support NEON vector multiplication instructions (#117944)
Approximates the shadow propagation via OR'ing.
Updates the neon_vmul.ll test introduced in
https://github.com/llvm/llvm-project/pull/117935
Commit: 0f7b3a9407d20e6a4d33ea623e05cf2a3f65eabd
https://github.com/llvm/llvm-project/commit/0f7b3a9407d20e6a4d33ea623e05cf2a3f65eabd
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
Revert "[AMDGPU][True16][MC] update vop2 mc test with update script (… (#119253)
The previous patch
https://github.com/llvm/llvm-project/pull/116860/files#diff-e7e06355c973f68f900d2a34a4103dbfa022589c55c59d02870da9365acf7b98L651
seems to mistakenly overwrites true16 test lines.
i.e.
v_fmaak_f16 v5.l, v1.l, v2.l, 0xfe0b
to
v_fmaak_f16 v5, v1, v2, 0xfe0b
Planned to revert patch
https://github.com/llvm/llvm-project/pull/117195
https://github.com/llvm/llvm-project/pull/116860
and redo these two.
This is the revert of the patch 116860.
Commit: 42633cf27bd2cfb44e9f332c33cfd6750b9d7be4
https://github.com/llvm/llvm-project/commit/42633cf27bd2cfb44e9f332c33cfd6750b9d7be4
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/test/CodeGen/SPIRV/branching/if-merging.ll
M llvm/test/CodeGen/SPIRV/branching/if-non-merging.ll
M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
M llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll
M llvm/test/CodeGen/SPIRV/half_no_extension.ll
M llvm/test/CodeGen/SPIRV/keep-tracked-const.ll
M llvm/test/CodeGen/SPIRV/phi-insert-point.ll
M llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll
M llvm/test/CodeGen/SPIRV/phi-spvintrinsic-dominate.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpConstantSampler.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpPhi_ArgumentsPlaceholders.ll
Log Message:
-----------
[SPIR-V] Improve general validity of emitted code between passes (#119202)
This PR improves general validity of emitted code between passes due to
generation of `TargetOpcode::PHI` instead of `SPIRV::OpPhi` after
Instruction Selection, fixing generation of OpTypePointer instructions
and using of proper virtual register classes.
Using `TargetOpcode::PHI` instead of `SPIRV::OpPhi` after Instruction
Selection has a benefit to support existing optimization passes
immediately, as an alternative path to disable those passes that use
`MI.isPHI()`. This PR makes it possible thus to revert
https://github.com/llvm/llvm-project/pull/116060 actions and get back to
use the `MachineSink` pass.
This PR is a solution of the problem discussed in details in
https://github.com/llvm/llvm-project/pull/110507. It accepts an advice
from code reviewers of the PR #110507 to postpone generation of OpPhi
rather than to patch CodeGen. This solution allows to unblock
improvements wrt. expensive checks and makes it unrelated to the general
points of the discussion about OpPhi vs. G_PHI/PHI.
This PR contains numerous small patches of emitted code validity that
allows to substantially pass rate with expensive checks. Namely, the
test suite with expensive checks set ON now has only 12 fails out of 569
total test cases.
FYI @bogner
Commit: a4e2927ab6dd7183bd4e8f3f378da1f1765fc21e
https://github.com/llvm/llvm-project/commit/a4e2927ab6dd7183bd4e8f3f378da1f1765fc21e
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M libc/docs/headers/index.rst
M libc/docs/headers/threads.rst
A libc/docs/headers/uchar.rst
M libc/utils/docgen/threads.json
A libc/utils/docgen/uchar.json
Log Message:
-----------
[libc][docs] add c11 threads and uchar (#119250)
FWICT, these were the newly added headers for c11.
Commit: e55c167777651fa0c8c7666d746ee8e2c106450c
https://github.com/llvm/llvm-project/commit/e55c167777651fa0c8c7666d746ee8e2c106450c
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
Log Message:
-----------
[TargetLowering] Return Align from getByValTypeAlignment (NFC) (#119233)
Commit: f5f965058a5f9b835382f96bd4041bc7e608ece0
https://github.com/llvm/llvm-project/commit/f5f965058a5f9b835382f96bd4041bc7e608ece0
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/sanitizer-ld.c
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
A compiler-rt/test/msan/Linux/dn_expand.cpp
R compiler-rt/test/sanitizer_common/TestCases/Linux/b64.cpp
R compiler-rt/test/sanitizer_common/TestCases/Linux/dn_expand.cpp
Log Message:
-----------
Move interceptors for libresolv functions to MSan (#119071)
The functions are not relevant for most sanitizers and only required for
MSan to see which regions have been written to. This eliminates a link
dependency for all other sanitizers and fixes #59007: while `-lresolv`
had been added for the static runtime in 6dce56b2a308, it wasn't added
to the shared runtimes.
Instead of just moving the interceptors, we adapt them to MSan
conventions:
* We don't skip intercepting when `msan_init_is_running` is true, but
directly call ENSURE_MSAN_INITED() like most other interceptors. It
seems unlikely that these functions are called during initialization.
* We don't unpoison `errno`, because none of the functions is specified
to use it.
Commit: f15cc6fe2f1e0be9214f1b34517f8145477c25cd
https://github.com/llvm/llvm-project/commit/f15cc6fe2f1e0be9214f1b34517f8145477c25cd
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
A .github/workflows/libc-fullbuild-tests.yml
A .github/workflows/libc-overlay-tests.yml
Log Message:
-----------
[libc] add multi-platform pre-commit github actions (#119104)
We do not have CI coverage for Windows/MacOS and we regularly run into
problem where changes break post-commit fullbuild which is not tested in
pre-commit builds. This PR utilizes the github action to address such
issues.
Commit: 1d4b5c161f5c164c713ed5268302a76789377b27
https://github.com/llvm/llvm-project/commit/1d4b5c161f5c164c713ed5268302a76789377b27
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
Log Message:
-----------
[flang][cuda] Change how abstract result pass is scheduled on func.func and gpu.func (#119034)
Use `pm.nest` to schedule the pass on nested `func.func` and `gpu.func`
in the `gpu.module`.
AbstractResult pass is not meant to run on the whole gpu.module at once.
Commit: 392622d0848b2d0da951d3a4da6fb390a83f812b
https://github.com/llvm/llvm-project/commit/392622d0848b2d0da951d3a4da6fb390a83f812b
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/docs/Bindings/Python.md
M mlir/examples/standalone/python/CMakeLists.txt
R mlir/examples/standalone/python/StandaloneExtension.cpp
A mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
A mlir/examples/standalone/python/StandaloneExtensionPybind11.cpp
R mlir/examples/standalone/python/mlir_standalone/dialects/standalone.py
A mlir/examples/standalone/python/mlir_standalone/dialects/standalone_nanobind.py
A mlir/examples/standalone/python/mlir_standalone/dialects/standalone_pybind11.py
M mlir/examples/standalone/test/python/smoketest.py
A mlir/include/mlir/Bindings/Python/Diagnostics.h
A mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/dialects/python_test.py
M mlir/python/requirements.txt
M mlir/test/python/dialects/python_test.py
M mlir/test/python/lib/CMakeLists.txt
R mlir/test/python/lib/PythonTestModule.cpp
A mlir/test/python/lib/PythonTestModuleNanobind.cpp
A mlir/test/python/lib/PythonTestModulePybind11.cpp
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
A utils/bazel/third_party_build/nanobind.BUILD
A utils/bazel/third_party_build/robin_map.BUILD
Log Message:
-----------
Revert "Revert "[mlir python] Add nanobind support (#119232)
Reverts revert #118517 after (hopefully) fixing builders
(https://github.com/llvm/llvm-zorg/pull/328,
https://github.com/llvm/llvm-zorg/pull/327)
This reverts commit 61bf308cf2fc32452f14861c102ace89f5f36fec.
Commit: b9b46de03a8fae3a3e22f8d6e4013818ee6fe23e
https://github.com/llvm/llvm-project/commit/b9b46de03a8fae3a3e22f8d6e4013818ee6fe23e
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][MC][True16] VOP3dot instruction update for true16/fake16 (#113474)
Update VOP3dot instructions with true16 and fake16 formats.
This patch includes instructions:
v_dot2_f16_f16
v_dot2_bf16_bf16
Commit: 847154106168d0de99679548a2734de99a0724e2
https://github.com/llvm/llvm-project/commit/847154106168d0de99679548a2734de99a0724e2
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] redo update vop2 mc test with update script (#119263)
This is a NFC change
The previous patch https://github.com/llvm/llvm-project/pull/116860 has
an issue and is reverted in
https://github.com/llvm/llvm-project/pull/119253.
Redo the patch here
Commit: a92e3df3007a323b5434c6cf301e15e01a642a70
https://github.com/llvm/llvm-project/commit/a92e3df3007a323b5434c6cf301e15e01a642a70
Author: Christopher Bate <cbate at nvidia.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/test/Dialect/Math/expand-math.mlir
M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
Log Message:
-----------
[mlir][math] Fix `math.powf` expansion case for `pow(x, 0)` (#119015)
Lowering `math.powf` to `llvm.intr.powf` will result in `pow(x, 0) =
1`, even for `x=0`. When using the Math dialect expansion patterns,
`pow(0, 0)` will result in `-nan`, however, This change adds two
additional instructions to the lowering to ensure the `pow(x, 0)` case
lowers to to `1` regardless of the value of `x`.
Resolves https://github.com/llvm/llvm-project/issues/118945.
Commit: 4fd8dbc1842130a25b1292da17828bb6f3572d9b
https://github.com/llvm/llvm-project/commit/4fd8dbc1842130a25b1292da17828bb6f3572d9b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Move code to prepare VPlan for epilogue vector loop to helper (NFC)
Move code to prepare the VPlan for the epilogue vector loop to a helper
to reduce size and complexity of processLoop.
Commit: 429f0f1e1cc5e6d4936bbc465c940a63f7878f44
https://github.com/llvm/llvm-project/commit/429f0f1e1cc5e6d4936bbc465c940a63f7878f44
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
A libc/docs/headers/float.rst
M libc/docs/headers/index.rst
A libc/docs/headers/wchar.rst
A libc/docs/headers/wctype.rst
A libc/utils/docgen/float.json
A libc/utils/docgen/wchar.json
A libc/utils/docgen/wctype.json
Log Message:
-----------
[libc][docs] add missing c99 docs (#119239)
Looks like we were missing docs for:
- float.h
- wchar.h
- wctype.h
Which AFAICT were added in ISO C99.
Commit: 44cd8f0d06b7efcd0101d9101f822386e12e4d66
https://github.com/llvm/llvm-project/commit/44cd8f0d06b7efcd0101d9101f822386e12e4d66
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M flang/lib/Lower/HlfirIntrinsics.cpp
A flang/test/Lower/HLFIR/cshift.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
Log Message:
-----------
[flang] Lower CSHIFT to hlfir.cshift operation. (#118917)
Commit: 7d89ebfd5f93577e7b1f12d1d21ee3e87eacde07
https://github.com/llvm/llvm-project/commit/7d89ebfd5f93577e7b1f12d1d21ee3e87eacde07
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
A clang/test/SemaOpenACC/combined-construct-reduction-ast.cpp
A clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
Log Message:
-----------
[OpenACC] Implement 'reduction' for combined constructs.
Once again, this is a clause on a combined construct that does almost
exactly what the loop/compute construct version does, only with some sl
ightly different evaluation rules/sema rules as it doesn't have to
consider the parent, just the 'combined' construct. The two sets of
rules for reduction on loop and compute are fine together, so this
ensures they are all enforced for this too.
The 'gangs' 'num_gangs' 'reduction' diagnostic (Dim>1) had to be applied
to num_gangs as well, as it previously wasn't permissible to get in this
situation, but we now can.
Commit: adfe54f7dabe935305378ce2c915760ddce2cc00
https://github.com/llvm/llvm-project/commit/adfe54f7dabe935305378ce2c915760ddce2cc00
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Directly check VectorizingEpilogue in ::executePlan (NFC).
Directly check VectorizingEpilogue which directly indicates that the
epilogue is vectorized.
Commit: 82f4ebf1ba4c02fdc3bdaa91459c0b807b67f3f0
https://github.com/llvm/llvm-project/commit/82f4ebf1ba4c02fdc3bdaa91459c0b807b67f3f0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calls.ll
A llvm/test/CodeGen/RISCV/GlobalISel/riscv-unsupported.ll
Log Message:
-----------
[RISCV][GISel] Fallback in LowerCall for byval arguments. (#119251)
Our byval call lowering isn't copying the argument. Looks like our
SelectionDAG code for byval is different than AArch64 so this may be
non-trivial to fix. Reject for now.
Commit: 342fa15a44721799c9314c58df0d803f13f9d805
https://github.com/llvm/llvm-project/commit/342fa15a44721799c9314c58df0d803f13f9d805
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] redo "remove duplication in VOP2 test" (#119274)
This is a NFC change
The previous patch https://github.com/llvm/llvm-project/pull/117195 has
an issue and is reverted in
https://github.com/llvm/llvm-project/pull/119247
Redo the patch here
Commit: cbed714f2a9a9d1fa0a8269b9a7b8ca145a85717
https://github.com/llvm/llvm-project/commit/cbed714f2a9a9d1fa0a8269b9a7b8ca145a85717
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop2_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] test update for v_add/sub_f16 in true16 (#118926)
This is a NFC change. Update mc test for v_add/sub_f16 in true16 format.
MC source change was done by previous patch and automatically enabled by
t16 pesudo
Commit: a13ec9cd54deba3a6779ce1114503cf86a3f8658
https://github.com/llvm/llvm-project/commit/a13ec9cd54deba3a6779ce1114503cf86a3f8658
Author: Lei Huang <lei at ca.ibm.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/PPC.h
M clang/test/CodeGen/target-data.c
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/test/Analysis/CostModel/PowerPC/load-to-trunc.ll
A llvm/test/CodeGen/PowerPC/data-align.ll
M llvm/test/Transforms/AtomicExpand/PowerPC/cmpxchg.ll
M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
Log Message:
-----------
[PowerPC] Update data layout aligment of i128 to 16 (#118004)
Fix 64-bit PowerPC part of
https://github.com/llvm/llvm-project/issues/102783.
Commit: 0e70289f373d40f3f8a4cc5c35dd02bfe909ca83
https://github.com/llvm/llvm-project/commit/0e70289f373d40f3f8a4cc5c35dd02bfe909ca83
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
Log Message:
-----------
[VPlan] Create canonical IV resume value for epilogue in VPlan. (NFCI)
Update the code to create induction resume PHIs to also create a resume
phi for the canonical induction during epilogue vectorization. This
unifies the code for handling induction resume values and removes the
need to explicitly create manually resume PHI and return it during
epilogue creation.
Overall it helps to move the code for updating the canonical induction
resume value to the place where all other header phi resume values are
updated.
This is NFC, modulo order of the created phis.
Commit: a0eb794da8b8c1e423e4b3100a137faf3844406f
https://github.com/llvm/llvm-project/commit/a0eb794da8b8c1e423e4b3100a137faf3844406f
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/legalize-data.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
M mlir/test/Target/LLVMIR/openacc-llvm.mlir
Log Message:
-----------
[MLIR][acc] Introduce varType to acc data clause operations (#119007)
The acc data clause operations hold an operand named `varPtr`. This was
intended to hold a pointer to a variable - where the element type of
that pointer specifies the type of the variable. However, for both
memref and llvm dialects, this assumption is not true. This is because
memref element type for cases like memref<10xf32> is simply f32 and for
LLVM, after opaque pointers, the variable type is no longer recoverable.
Thus, introduce varType to ensure that appropriate semantics are kept.
Both the parser and printer for this new type attribute allow it to not
be specified in cases where a dialect's getElementType() applied to
`varPtr`'s type has a recoverable type. And more specifically, for FIR,
no changes are needed in the MLIR unit tests.
Commit: 274637d7e5960e37a33f29521905eef3d0fee13d
https://github.com/llvm/llvm-project/commit/274637d7e5960e37a33f29521905eef3d0fee13d
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
Log Message:
-----------
[HLSL] Implement `Append` and `Consume` methods on `Append`/`ConsumeStructuredBuffer` (#118536)
The methods are using existing clang builtins
`__builtin_hlsl_buffer_update_counter` and
`__builtin_hlsl_resource_getpointer` to update the buffer counter and
then load or store the value.
Fixes #112968
Commit: d74c73fcf648f9d13c62735317fa1708ec4b9f59
https://github.com/llvm/llvm-project/commit/d74c73fcf648f9d13c62735317fa1708ec4b9f59
Author: Bill Wendling <morbo at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
[Clang][CodeGen] Remove extraneous dot prefixes [NFC] (#119275)
Commit: 2e8ce3042321de8e9af05f2e859f1e37ca2a4f06
https://github.com/llvm/llvm-project/commit/2e8ce3042321de8e9af05f2e859f1e37ca2a4f06
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
A libc/config/baremetal/aarch64/entrypoints.txt
A libc/config/baremetal/aarch64/headers.txt
Log Message:
-----------
[libc] Support baremetal libc on aarch64 (#118691)
We have users that target baremetal aarch64.
Commit: 48f7f63ac723a5001b74627493d360ff3d8d1186
https://github.com/llvm/llvm-project/commit/48f7f63ac723a5001b74627493d360ff3d8d1186
Author: fahadnayyar <30953967+fahadnayyar at users.noreply.github.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/include/clang/APINotes/Types.h
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesTypes.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/Inputs/Headers/SwiftImportAs.h
M clang/test/APINotes/swift-import-as.cpp
Log Message:
-----------
[APINotes] Add SWIFT_RETURNS_(UN)RETAINED support (#118938)
Adding support to APINotes to annotate C++ methods and functions with
`swift_attr("returns_retained")` and `swift_attr("returns_unretained")`
rdar://141007510
Commit: ca884009e458ead6aa04a30957a82e3d529ec0c8
https://github.com/llvm/llvm-project/commit/ca884009e458ead6aa04a30957a82e3d529ec0c8
Author: David Green <david.green at arm.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/cast.ll
A llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
Log Message:
-----------
[AArch64] Add test coverage of fp16 and bf16 fptrunc and fpext. NFC
Some of the scalable tests have been split off to make the tests more
managable. AArch64TTIImpl::getCastInstrCost is also formatted to avoid the need
to fight against CI.
Commit: 7db970fe4a0249234712ae6899d34b94260b09cd
https://github.com/llvm/llvm-project/commit/7db970fe4a0249234712ae6899d34b94260b09cd
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
M libc/hdr/unistd_macros.h
A libc/hdr/unistd_overlay.h
M libc/src/unistd/dup.h
M libc/src/unistd/dup2.h
M libc/src/unistd/dup3.h
M libc/src/unistd/fork.h
M libc/src/unistd/ftruncate.h
M libc/src/unistd/getcwd.h
M libc/src/unistd/geteuid.h
M libc/src/unistd/getopt.h
M libc/src/unistd/getpid.h
M libc/src/unistd/getppid.h
M libc/src/unistd/getuid.h
M libc/src/unistd/isatty.h
M libc/src/unistd/link.h
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/lseek.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/unistd/linux/truncate.cpp
M libc/src/unistd/lseek.h
M libc/src/unistd/pread.h
M libc/src/unistd/pwrite.h
M libc/src/unistd/read.h
M libc/src/unistd/readlink.h
M libc/src/unistd/readlinkat.h
M libc/src/unistd/swab.h
M libc/src/unistd/symlink.h
M libc/src/unistd/symlinkat.h
M libc/src/unistd/syscall.h
M libc/src/unistd/sysconf.h
M libc/src/unistd/truncate.h
M libc/src/unistd/write.h
Log Message:
-----------
[libc] Add unistd overlay (#118882)
Fixes failures like this which I experienced:
```
FAILED: src/unistd/linux/CMakeFiles/libc.src.unistd.linux.read.dir/read.cpp.o
/nix/store/2r2xi5pbg29bsmqywsm5zgl8l7adky4i-gcc-wrapper-13.3.0/bin/g++ -DLIBC_NAMESPACE=__llvm_libc -D_DEBUG -I/build/libc-src-20.0.0-unstable-2024-12-05/libc -isystem /build/libc-src-20.0.0-unstable-2024-12-05/libc/build/include -g -std=gnu++17 -DLIBC_QSORT_IMPL=LIBC_QSORT_QUICK_SORT -DLIBC_ADD_NULL_CHECKS -DLIBC_COPT_PUBLIC_PACKAGING -MD -MT src/unistd/linux/CMakeFiles/libc.src.unistd.linux.read.dir/read.cpp.o -MF src/unistd/linux/CMakeFiles/libc.src.unistd.linux.read.dir/read.cpp.o.d -o src/unistd/linux/CMakeFiles/libc.src.unistd.linux.read.dir/read.cpp.o -c /build/libc-src-20.0.0-unstable-2024-12-05/libc/src/unistd/linux/read.cpp
次のファイルから読み込み: /build/libc-src-20.0.0-unstable-2024-12-05/libc/src/__support/OSUtil/linux/syscall.h:13,
次から読み込み: /build/libc-src-20.0.0-unstable-2024-12-05/libc/src/__support/OSUtil/syscall.h:15,
次から読み込み: /build/libc-src-20.0.0-unstable-2024-12-05/libc/src/unistd/linux/read.cpp:11:
/build/libc-src-20.0.0-unstable-2024-12-05/libc/src/unistd/linux/read.cpp:20:29: エラー: ‘ssize_t __llvm_libc::read(int, void*, size_t)’ が外部シンボル ‘read’ の別名となっています
20 | LLVM_LIBC_FUNCTION(ssize_t, read, (int fd, void *buf, size_t count)) {
| ^~~~
/build/libc-src-20.0.0-unstable-2024-12-05/libc/src/__support/common.h:46:34: 備考: in definition of macro ‘LLVM_LIBC_FUNCTION_IMPL’
46 | decltype(LIBC_NAMESPACE::name) name [[gnu::alias(#name)]]; \
| ^~~~
/build/libc-src-20.0.0-unstable-2024-12-05/libc/src/unistd/linux/read.cpp:20:1: 備考: in expansion of macro ‘LLVM_LIBC_FUNCTION’
20 | LLVM_LIBC_FUNCTION(ssize_t, read, (int fd, void *buf, size_t count)) {
| ^~~~~~~~~~~~~~~~~~
```
Commit: 2c05e690660e9881a5102b3cc86ef244b3bdd852
https://github.com/llvm/llvm-project/commit/2c05e690660e9881a5102b3cc86ef244b3bdd852
Author: Michael Jones <michaelrj at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
M libc/hdr/unistd_macros.h
R libc/hdr/unistd_overlay.h
M libc/src/unistd/dup.h
M libc/src/unistd/dup2.h
M libc/src/unistd/dup3.h
M libc/src/unistd/fork.h
M libc/src/unistd/ftruncate.h
M libc/src/unistd/getcwd.h
M libc/src/unistd/geteuid.h
M libc/src/unistd/getopt.h
M libc/src/unistd/getpid.h
M libc/src/unistd/getppid.h
M libc/src/unistd/getuid.h
M libc/src/unistd/isatty.h
M libc/src/unistd/link.h
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/lseek.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/unistd/linux/truncate.cpp
M libc/src/unistd/lseek.h
M libc/src/unistd/pread.h
M libc/src/unistd/pwrite.h
M libc/src/unistd/read.h
M libc/src/unistd/readlink.h
M libc/src/unistd/readlinkat.h
M libc/src/unistd/swab.h
M libc/src/unistd/symlink.h
M libc/src/unistd/symlinkat.h
M libc/src/unistd/syscall.h
M libc/src/unistd/sysconf.h
M libc/src/unistd/truncate.h
M libc/src/unistd/write.h
Log Message:
-----------
Revert "[libc] Add unistd overlay" (#119295)
Reverts llvm/llvm-project#118882
Several functions are now missing necessary types in fullbuild, e.g.
`off_t`, `ssize_t`. Reverting for now.
Commit: f2bceb2311f288f207a10d62d80390457c4cf05c
https://github.com/llvm/llvm-project/commit/f2bceb2311f288f207a10d62d80390457c4cf05c
Author: hidekisaito <hidekido at amd.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M offload/DeviceRTL/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
Log Message:
-----------
[Offload][AMDGPU] accept generic target (#118919)
Enables generic ISA, e.g., "--offload-arch=gfx11-generic" device code to
run on gfx11-generic ISA capable device.
Executable may contain one ELF that has specific target ISA and another
ELF that has compatible generic ISA.
Under that circumstance, this code should say both ELFs are compatible,
leaving the rest to PluginManager to handle.
Suggestions on how best to address that is welcome.
Commit: fd57946cc4f11fe4610d3544b61041f306823f81
https://github.com/llvm/llvm-project/commit/fd57946cc4f11fe4610d3544b61041f306823f81
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/test/CodeGen/ubsan-trap-merge.c
Log Message:
-----------
[NFC][clang] Update ubsan-trap-merge.c test to show absence of nomerge in non-trap mode (#119280)
This shows that ubsan handlers do not have nomerge attributes in
non-trap mode, even if -ubsan-unique-trap is enabled.
0d15d46362bd6ab5a9a2165805adaab13a7689f4 attaches nomerge but only for
trap mode.
---------
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: e9c68c6d8ceca9e61d5c385faeefacef3605e265
https://github.com/llvm/llvm-project/commit/e9c68c6d8ceca9e61d5c385faeefacef3605e265
Author: Matthias Braun <matze at braunis.de>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/range-check.ll
Log Message:
-----------
[InstCombine] Match range check pattern with SExt (#118910)
= Background
We optimize range check patterns like the following:
```
%n_not_negative = icmp sge i32 %n, 0
call void @llvm.assume(i1 %n_not_negative)
%a = icmp sge i32 %x, 0
%b = icmp slt i32 %x, %n
%c = and i1 %a, %b
```
to a single unsigned comparison:
```
%n_not_negative = icmp sge i32 %n, 0
call void @llvm.assume(i1 %n_not_negative)
%c = icmp ult i32 %x, %n
```
= Extended Pattern
This adds support for a variant of this pattern where the upper range is
compared with a sign extended value:
```
%n_not_negative = icmp sge i64 %n, 0
call void @llvm.assume(i1 %n_not_negative)
%x_sext = sext i32 %x to i64
%a = icmp sge i32 %x, 0
%b = icmp slt i64 %x_sext, %n
%c = and i1 %a, %b
```
is now optimized to:
```
%n_not_negative = icmp sge i64 %n, 0
call void @llvm.assume(i1 %n_not_negative)
%x_sext = sext i32 %x to i64
%c = icmp ult i64 %x_sext, %n
```
Alive2: https://alive2.llvm.org/ce/z/XVuz9L
Commit: 41ed16c3b3362e51b7063eaef6461ab704c1ec7a
https://github.com/llvm/llvm-project/commit/41ed16c3b3362e51b7063eaef6461ab704c1ec7a
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M llvm/lib/Target/AMDGPU/AMDGPUAttributes.def
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-globalisel.ll
A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
M llvm/test/CodeGen/AMDGPU/implicitarg-offset-attributes.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-set-from-other-function.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/propagate-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/recursive_global_initializer.ll
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
Log Message:
-----------
Reapply "[AMDGPU] Infer amdgpu-no-flat-scratch-init attribute in AMDGPUAttributor (#94647)" (#118907)
This reverts commit 1ef9410a96c1d9669a6feaf03fcab8d0a4a13bd5.
This fixes the test file attributor-flatscratchinit-globalisel.ll.
Commit: 953838dceaff3728b9aa53ea4259efca15f38f66
https://github.com/llvm/llvm-project/commit/953838dceaff3728b9aa53ea4259efca15f38f66
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/bitreverse.ll
M llvm/test/CodeGen/LoongArch/lsx/bitreverse.ll
Log Message:
-----------
[LoongArch] Optimize vector bitreverse using scalar bitrev and vshuf4i (#118054)
Custom lower vector type bitreverse to scalar bitrev and vshuf4i
instructions.
Keep `v2i64` and `v4i64` bitreverse `Expand`, it's good enough.
Commit: 75623bfe1b89fa84cf2b9e4fb4c9f7560e01d4a6
https://github.com/llvm/llvm-project/commit/75623bfe1b89fa84cf2b9e4fb4c9f7560e01d4a6
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
A flang/test/Fir/CUDA/cuda-abstract-result.mlir
Log Message:
-----------
[flang][cuda] Handle gpu.return in AbstractResult pass (#119035)
Commit: 650e736904d4d45407809fc926c8de3fd5a691ab
https://github.com/llvm/llvm-project/commit/650e736904d4d45407809fc926c8de3fd5a691ab
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Dialect/CUF/CUFToLLVMIRTranslation.cpp
Log Message:
-----------
[flang][cuda][NFC] Add some diagnostic when module or fct are not found (#119277)
Commit: a1d71c36933e361f4561288d4a0e257432345483
https://github.com/llvm/llvm-project/commit/a1d71c36933e361f4561288d4a0e257432345483
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
M flang/test/Fir/CUDA/cuda-extranal-mangling.mlir
Log Message:
-----------
[flang][cuda] Additional update to ExternalNameConversion (#119276)
Commit: 95b6524e5c84169ecf404f755aeab2202e9916ea
https://github.com/llvm/llvm-project/commit/95b6524e5c84169ecf404f755aeab2202e9916ea
Author: Shao-Ce SUN <sunshaoce at outlook.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vreductions-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-mask.ll
Log Message:
-----------
[NFC] [RISCV] Add tests for `llvm.vector.reduce.*`
Commit: a6b5e18fc6fa0e8d9bf10020e8f6070951630d42
https://github.com/llvm/llvm-project/commit/a6b5e18fc6fa0e8d9bf10020e8f6070951630d42
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/test/CodeGen/AArch64/fixed-register-global.c
Log Message:
-----------
[test][clang][AArch64] Don't assume current dir is writeable (#119285)
afa2fbf87a8e3fff609fd325c938929c48e94280 adds a test which can fail with
`error: unable to open output file 'fixed-register-global.o':
'Permission denied'`. We don't check the output file at all, so just use
/dev/null.
Commit: 9a06fb7e5c00d1379688645c2c28955664016278
https://github.com/llvm/llvm-project/commit/9a06fb7e5c00d1379688645c2c28955664016278
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M libc/config/windows/entrypoints.txt
M libc/src/__support/time/windows/CMakeLists.txt
M libc/src/__support/time/windows/clock_gettime.cpp
A libc/src/__support/time/windows/performance_counter.h
M libc/src/time/CMakeLists.txt
A libc/src/time/clock_getres.h
A libc/src/time/windows/CMakeLists.txt
A libc/src/time/windows/clock_getres.cpp
M libc/test/src/time/CMakeLists.txt
A libc/test/src/time/clock_getres_test.cpp
Log Message:
-----------
[libc][time][windows] implement clock_getres (#118931)
Commit: 3083acc215e9d01c4c41064aa7dd75aeba975e29
https://github.com/llvm/llvm-project/commit/3083acc215e9d01c4c41064aa7dd75aeba975e29
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/add_sext_shl_constant.ll
A llvm/test/CodeGen/RISCV/add_shl_constant.ll
R llvm/test/CodeGen/RISCV/riscv-shifted-extend.ll
Log Message:
-----------
[DAGCombine] Remove oneuse restrictions for RISCV in folding (shl (add_nsw x, c1)), c2) and folding (shl(sext(add x, c1)), c2) in some scenarios (#101294)
This patch remove the restriction for folding (shl (add_nsw x, c1)), c2)
and folding (shl(sext(add x, c1)), c2), and test case from dhrystone ,
see this link:
riscv32: https://godbolt.org/z/o8GdMKrae
riscv64: https://godbolt.org/z/Yh5bPz56z
Commit: 6e2e4d446c2fa43b6cebf97d947bdc60f7f9dc0b
https://github.com/llvm/llvm-project/commit/6e2e4d446c2fa43b6cebf97d947bdc60f7f9dc0b
Author: lorenzo chelini <lchelini at nvidia.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td
M mlir/include/mlir/IR/Matchers.h
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/CAPI/ir.c
M mlir/test/Dialect/Arith/canonicalize.mlir
M mlir/test/Dialect/Arith/ops.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
Log Message:
-----------
Revert "[MLIR][Arith] Add denormal attribute to binary/unary operations (#112700)"
This reverts commit 4a7b56e6e7dd0f83c379ad06b6e81450bc691ba6.
There is no agreement.
Commit: 7bcd459dce7b52f2940fde120eb55c9f6273d7b8
https://github.com/llvm/llvm-project/commit/7bcd459dce7b52f2940fde120eb55c9f6273d7b8
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
A flang/test/Fir/CUDA/cuda-external-mangling.mlir
R flang/test/Fir/CUDA/cuda-extranal-mangling.mlir
Log Message:
-----------
[flang][cuda][NFC] Fix typo in test filename
Commit: 7c12418021a97545d7e76c876464291932f151e6
https://github.com/llvm/llvm-project/commit/7c12418021a97545d7e76c876464291932f151e6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Log Message:
-----------
[GISel] Avoid creating a virtual register we don't need. (#119305)
narrowScalarAddSub was creating a virtual register and then overwriting
the Register variable without using it. Add an else and only create it
when needed.
Commit: cfbf809e933ce29e24cd529b057fcf0c5fe94e2e
https://github.com/llvm/llvm-project/commit/cfbf809e933ce29e24cd529b057fcf0c5fe94e2e
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/test/Driver/config-file.c
Log Message:
-----------
[test][clang][driver] Fix test that assumes libomp default (#119319)
755519f7f661375be05750001ff11e106e6b7f87 added a test that uses
`-fopenmp`. The default configuration of CLANG_DEFAULT_OPENMP_RUNTIME is
libomp, which causes `-fopenmp` to act as `-fopenmp=libomp`. In turn,
this passes `-fopenmp` to downstream compilations. However, for other
values, e.g. `libgomp`, Clang does not know how to generate useful
openmp code, so it avoids passing the `-fopenmp` along. Fix the test to
explicitly pass `-fopenmp=libomp` to pass regardless of the configured
CLANG_DEFAULT_OPENMP_RUNTIME value.
Commit: 2c0b8b10dd1a9f57eb8d8663f2697b5071cdb65d
https://github.com/llvm/llvm-project/commit/2c0b8b10dd1a9f57eb8d8663f2697b5071cdb65d
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h
M compiler-rt/lib/scudo/standalone/list.h
A compiler-rt/lib/scudo/standalone/type_traits.h
Log Message:
-----------
[scudo] Group type traits into a single header (NFC) (#118888)
Commit: 78c2b6d483f945cc2ccc7b300b920bf0eb871505
https://github.com/llvm/llvm-project/commit/78c2b6d483f945cc2ccc7b300b920bf0eb871505
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/complex.rst
M libc/src/__support/complex_type.h
M libc/src/complex/CMakeLists.txt
A libc/src/complex/conj.h
A libc/src/complex/conjf.h
A libc/src/complex/conjf128.h
A libc/src/complex/conjf16.h
A libc/src/complex/conjl.h
M libc/src/complex/generic/CMakeLists.txt
A libc/src/complex/generic/conj.cpp
A libc/src/complex/generic/conjf.cpp
A libc/src/complex/generic/conjf128.cpp
A libc/src/complex/generic/conjf16.cpp
A libc/src/complex/generic/conjl.cpp
M libc/test/src/complex/CImagTest.h
M libc/test/src/complex/CMakeLists.txt
M libc/test/src/complex/CRealTest.h
A libc/test/src/complex/ConjTest.h
A libc/test/src/complex/conj_test.cpp
A libc/test/src/complex/conjf128_test.cpp
A libc/test/src/complex/conjf16_test.cpp
A libc/test/src/complex/conjf_test.cpp
A libc/test/src/complex/conjl_test.cpp
Log Message:
-----------
[libc][complex] Implement different flavors of the `conj` function (#118671)
Refer section 7.3.9.4 of ISO/IEC 9899:2023
Commit: aac000a01ba8c0ed15fec3c198fce9f13fc83725
https://github.com/llvm/llvm-project/commit/aac000a01ba8c0ed15fec3c198fce9f13fc83725
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/list.h
Log Message:
-----------
[scudo] Clean the TODO in list.h (#119323)
* Finished the type and size verification
* Remove the TODO for checking if array size can be fit into LinkTy
because if there's a truncation happens, other DCHECK like offset
checking will catch the failure. In addition, it's supposed to be a rare
case.
Commit: 46bf67d8faa6a7d75561fe03b5b871ec4b4a9c1d
https://github.com/llvm/llvm-project/commit/46bf67d8faa6a7d75561fe03b5b871ec4b4a9c1d
Author: Gedare Bloom <gedare at rtems.org>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Reorder TokenAnnotator::canBreakBefore (#119044)
Move the checks related to breaking before right braces and right parens
earlier to avoid conflicting checks that prevent breaking based on the
left-hand token. This allows properly formatting declarations with
pointers and references at a minimum.
Commit: 7fa57438c4272fe1d2df1eaed02fde97654ab476
https://github.com/llvm/llvm-project/commit/7fa57438c4272fe1d2df1eaed02fde97654ab476
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M lld/test/ELF/export-dynamic-symbol.s
Log Message:
-----------
[ELF] Test --export-dynamic-symbol on linker-synthesized symbols and hidden symbols
Test linker-synthesized symbols in addReservedSymbols and in
finalizeSections. `isExported` is set in the middle.
The hidden symbol test could have caught an assertion failure introduced
by 712264b83c736fac7a7f0d4296f84c1afbd93b1a and fixed by
3733ed6f1c6b0eef1e13e175ac81ad309fc0b080.
Commit: 4fb1cda6606ba75782aa1964835abf1a69e2adae
https://github.com/llvm/llvm-project/commit/4fb1cda6606ba75782aa1964835abf1a69e2adae
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/ptrauth-module-flags.c
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
A llvm/lib/Target/AArch64/AArch64MachineModuleInfo.cpp
A llvm/lib/Target/AArch64/AArch64MachineModuleInfo.h
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/TargetLoweringObjectFile.cpp
A llvm/test/CodeGen/AArch64/ptrauth-sign-personality.ll
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Log Message:
-----------
[PAC][ELF][AArch64] Support signed personality function pointer (#113148)
If function pointer signing is enabled, sign personality function
pointer stored in `.DW.ref.__gxx_personality_v0` section with IA key,
0x7EAD = `ptrauth_string_discriminator("personality")` constant
discriminator and address diversity enabled.
Commit: 52da2db48911aa71fc878470e7052e0b2078110e
https://github.com/llvm/llvm-project/commit/52da2db48911aa71fc878470e7052e0b2078110e
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M libc/include/llvm-libc-types/cfloat128.h
M libc/src/__support/complex_type.h
Log Message:
-----------
[libc][complex] check that cfloat128 is not defined as _Complex long double (#119324)
Fix buildbot errors in #118671
Commit: 77a08a73cc57679e7bf30fdd8974aeba468f2a27
https://github.com/llvm/llvm-project/commit/77a08a73cc57679e7bf30fdd8974aeba468f2a27
Author: ykiko <ykikoykikoykiko at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/default-arguments-calls.cpp
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/source_location.cpp
Log Message:
-----------
[Clang] Fix wrong call location of `DefaultArgExpr` (#119212)
Fix https://github.com/llvm/llvm-project/issues/119129.
Commit: ca88a0e6f22c191a6f9a4e6547b993da8e11bb73
https://github.com/llvm/llvm-project/commit/ca88a0e6f22c191a6f9a4e6547b993da8e11bb73
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M libc/src/__support/complex_type.h
Log Message:
-----------
[libc][complex] fix guard for cfloat128 and float128 (#119330)
Commit: a4c7c66098c512a4f616b2072814172114e5a422
https://github.com/llvm/llvm-project/commit/a4c7c66098c512a4f616b2072814172114e5a422
Author: Amara Emerson <amara at apple.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/docs/GlobalISel/Legalizer.rst
Log Message:
-----------
[GlobalISel] Document minimum legality requirements for G_IMPLICIT_DEF. (#117609)
The reason for this change is to clarify an existing technical
restriction of LLVM: there needs to be a way to implicitly define a type
if there is any way to legally define that type by another means.
Commit: ef2e590e7b6fb5b0478e5e087006895a07d185c8
https://github.com/llvm/llvm-project/commit/ef2e590e7b6fb5b0478e5e087006895a07d185c8
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/ptrauth-module-flags.c
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
R llvm/lib/Target/AArch64/AArch64MachineModuleInfo.cpp
R llvm/lib/Target/AArch64/AArch64MachineModuleInfo.h
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/TargetLoweringObjectFile.cpp
R llvm/test/CodeGen/AArch64/ptrauth-sign-personality.ll
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Log Message:
-----------
Revert "[PAC][ELF][AArch64] Support signed personality function pointer" (#119331)
Reverts llvm/llvm-project#113148
See buildbot failure
https://lab.llvm.org/buildbot/#/builders/190/builds/11048
Commit: f8c1a22220345dc85bf700c8a8ca6a28839edabb
https://github.com/llvm/llvm-project/commit/f8c1a22220345dc85bf700c8a8ca6a28839edabb
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/Value.h
M llvm/lib/Analysis/MemoryBuiltins.cpp
A llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-range.ll
Log Message:
-----------
[llvm] Improve llvm.objectsize computation by computing GEP, alloca a… (#117849)
…nd malloc parameters bound
Using a naive expression walker, it is possible to compute valuable
information for allocation functions, GEP and alloca, even in the
presence of some dynamic information.
We don't rely on computeConstantRange to avoid taking advantage of
undefined behavior, which would be counter-productive wrt. usual
llvm.objectsize usage.
llvm.objectsize plays an important role in _FORTIFY_SOURCE definitions,
so improving its diagnostic in turns improves the security of compiled
application.
As a side note, as a result of recent optimization improvements, clang
no longer passes
https://github.com/serge-sans-paille/builtin_object_size-test-suite This
commit restores the situation and greatly improves the scope of code
handled by the static version of __builtin_object_size.
This is a recommit of https://github.com/llvm/llvm-project/pull/115522
with fix applied.
Commit: 9730760207f1522e8dd56a7b5ef594966ee3ee37
https://github.com/llvm/llvm-project/commit/9730760207f1522e8dd56a7b5ef594966ee3ee37
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
Log Message:
-----------
[RISCV] Add RUNs for different postra scheduling directions
To `macro-fusion-lui-addi.ll`.
This is the precommit change for #116584.
Commit: 4cea3c3c275a5dd800df1299f65fe34381f2e9aa
https://github.com/llvm/llvm-project/commit/4cea3c3c275a5dd800df1299f65fe34381f2e9aa
Author: Eric Wang <48936088+Ptkyr at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/AST/RecordLayoutBuilder.cpp
Log Message:
-----------
[Clang] Fix typo in ItaniumRecordLayoutBuilder API (#118563)
Commit: ce1587346b3b181b693283233c88f5fc9e9b9c1a
https://github.com/llvm/llvm-project/commit/ce1587346b3b181b693283233c88f5fc9e9b9c1a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Allow checking builtin functions... (#119328)
... in checkingPotentialConstantExpression mode. This is what the
current interpreter does, yet it doesn't do so for
`__builtin_operator_new`.
Commit: 920495c959d44881b8bb602036c8ea003a04dc3f
https://github.com/llvm/llvm-project/commit/920495c959d44881b8bb602036c8ea003a04dc3f
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
Log Message:
-----------
[MISched] Compare right next cluster node (#116584)
We support bottom-up and bidirectonal postra scheduling now, but we
only compare successive next cluster node as if we are doing topdown
scheduling. This makes load/store clustering and macro fusions wrong.
This patch makes sure that we can get the right cluster node by the
scheduling direction.
Commit: a2959071be6cdb199060c18aeee380de9c3b52cb
https://github.com/llvm/llvm-project/commit/a2959071be6cdb199060c18aeee380de9c3b52cb
Author: Max <xpy66swsry at gmail.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/MachO/SectionPriorities.cpp
M lld/test/MachO/bp-section-orderer-errs.s
M lld/test/MachO/bp-section-orderer-stress.s
M lld/test/MachO/bp-section-orderer.s
Log Message:
-----------
[lld][MachO] Rename to bp-* options for SectionOrderer (#118594)
Rename options related to profile guided function order (#96268) to
prepare for the addition to the ELF port.
Commit: 411196b9bb1953372726348deb1bc77abfa7d900
https://github.com/llvm/llvm-project/commit/411196b9bb1953372726348deb1bc77abfa7d900
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/module-fgen-reduced-bmi.cppm
Log Message:
-----------
[C++20] [Modules] Convert '-fexperimental-modules-reduced-bmi' to '-fmodules-reduced-bmi' (#114382)
According to our previous consensus in
https://clang.llvm.org/docs/StandardCPlusPlusModules.html#reduced-bmi,
the reduced BMI will be the default and recommend users to use the new
option.
The `-fexperimental-modules-reduced-bmi ` option is introduced in
https://github.com/llvm/llvm-project/pull/85050 in Mar13 and released in
19.x. And now we are in 20's release cycle. Also I rarely receive issue
reports about reduced BMI. No matter it is due to the quality of reduced
BMI is really good or no one uses it.
This patch literally did the second point in
https://clang.llvm.org/docs/StandardCPlusPlusModules.html#reduced-bmi
Commit: a88677edc0792534ba3157bf7d7a1b98e470f2fb
https://github.com/llvm/llvm-project/commit/a88677edc0792534ba3157bf7d7a1b98e470f2fb
Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/array-derived.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/array-expression-slice-1.f90
M flang/test/Lower/array-substring.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/components.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/loops2.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/vector-subscript-io.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
Reland "[flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv" (#118933)
This relands #110063.
The performance issue on 503.bwaves_r is found not to be related to the
patch, and is resolved by fbd89bcc when LTO is enabled.
Commit: 37913233430865aa16591a710f9440f3260b0827
https://github.com/llvm/llvm-project/commit/37913233430865aa16591a710f9440f3260b0827
Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
Date: 2024-12-09 (Mon, 09 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
Log Message:
-----------
[msan] Add support for avx_round_pd_256/avx_round_ps_256 (#119334)
Add support for avx_round_pd_256/avx_round_ps_256.
This is a follow-up to https://github.com/llvm/llvm-project/pull/118441
Test plan:
ninja check-all
Commit: 30ad53b92cec0cff9679d559edcc5b933312ba0c
https://github.com/llvm/llvm-project/commit/30ad53b92cec0cff9679d559edcc5b933312ba0c
Author: SahilPatidar <patidarsahil2001 at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/Interpreter/Interpreter.cpp
A clang/test/Interpreter/crash.cpp
Log Message:
-----------
[Clang-REPL] Fix crash during `__run_exit_handlers` with dynamic libraries. (#117475)
Apply the fix suggested by Lang Hames to address a crash in Clang-REPL
that occurs during the execution of `__run_exit_handlers` when using
dynamic libraries.
Commit: 8f434bb9b2718dc4b33cc9e91c85806ee1ed82b0
https://github.com/llvm/llvm-project/commit/8f434bb9b2718dc4b33cc9e91c85806ee1ed82b0
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
Log Message:
-----------
[clang] Fix a dangling reference in clang/utils/TableGen/ClangDiagnosticsEmitter.cpp (#119197)
`DiagsInGroup` is a `map<llvm::StringRef, ...>`, we store a dangling
string_view in the key.
Commit: eadc0c901ba3253ee3764f012c60de36e58cbf10
https://github.com/llvm/llvm-project/commit/eadc0c901ba3253ee3764f012c60de36e58cbf10
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Utils] Extract BuildDebugInfoMDMap from CloneFunctionInto (#118622)
Summary:
Extract the logic to build up a metadata map to use in metadata cloning
into a separate function.
Test Plan:
ninja check-llvm-unit check-llvm
Commit: c2d7e96cde10a0da6fff8dde9473b508f0ef29ba
https://github.com/llvm/llvm-project/commit/c2d7e96cde10a0da6fff8dde9473b508f0ef29ba
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Type.h
M clang/lib/AST/ASTContext.cpp
A clang/test/Parser/gh110231.cpp
Log Message:
-----------
[clang] Fix non-deterministic infinite recursion... (#118288)
...in `ASTContext::getAutoTypeInternal`
Given
```cpp
template < typename >
concept C1 = true;
template < typename , auto >
concept C2 = true;
template < C1 auto V, C2< V > auto>
struct S;
```
Both `C1 auto V` and `C2<V> auto` end on the set `AutoType`, the former
being a template parameter for the latter.
Since the hashing is not deterministic (i.e., pointers are hashed),
every now and then, both will end on the same bucket. Given that
`FoldingSet` recomputes the `FoldingSetID` for each node in the target
bucket on lookup, this triggers an infinite recursion:
1. Look for `X` in `AutoTypes`
2. Let's assume it would be in bucket N, so it iterates over nodes in
that bucket. Let's assume the first is `C2<V> auto`.
3. Computes the `FoldingSetID` for this one, which requires the profile
of its template parameters, so they are visited.
4. In some frames below, we end on the same `FoldingSet`, and, by
chance, `C1 auto V` would be in bucket N too.
5. But the first node in the bucket is `C2<V> auto` for which we need to
profile `C1 auto V`
6. ... stack overflow!
No step individually does anything wrong, but in general, `FoldingSet`
seems not to be re-entrant, and this fact is hidden behind many nested
calls.
With this change, we store the `AutoType`s inside a `DenseMap` instead.
The `FoldingSetID` is computed once only and then kept as the map's key,
avoiding the need to do recursive lookups.
We also now make sure the key for the inserted `AutoType` is the same as
the key used for lookup. Before, this was not the case, and it caused
also non-deterministic parsing errors.
Fixes https://github.com/llvm/llvm-project/issues/110231
Commit: 9ea499a52f94100976912d7455606c053f9ce285
https://github.com/llvm/llvm-project/commit/9ea499a52f94100976912d7455606c053f9ce285
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
Log Message:
-----------
[ReachingDefAnalysis] Fix typo. (#119329)
"reaching-deps-analysis" -> "reaching-defs-analysis".
Commit: 322eb1a92e6d4266184060346616fa0dbe39e731
https://github.com/llvm/llvm-project/commit/322eb1a92e6d4266184060346616fa0dbe39e731
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
Log Message:
-----------
[X86][NFC] Update ternlog comments (#119343)
Commit: e21ab4d16b555c28ded307571d138f594f33e325
https://github.com/llvm/llvm-project/commit/e21ab4d16b555c28ded307571d138f594f33e325
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/union-tbaa1.c
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/load-cmp.ll
M llvm/test/Transforms/InstCombine/memcpy-addrspace.ll
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
M llvm/test/Transforms/InstCombine/stpcpy-1.ll
M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
M llvm/test/Transforms/InstCombine/strlen-1.ll
M llvm/test/Transforms/InstCombine/strlen-4.ll
M llvm/test/Transforms/InstCombine/strncat-2.ll
M llvm/test/Transforms/InstCombine/strnlen-3.ll
M llvm/test/Transforms/InstCombine/strnlen-4.ll
M llvm/test/Transforms/InstCombine/strnlen-5.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
M llvm/test/Transforms/InstCombine/wcslen-1.ll
M llvm/test/Transforms/InstCombine/wcslen-3.ll
M llvm/test/Transforms/InstCombine/wcslen-5.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/x86_fp80-vector-store.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/multiple-address-spaces.ll
M llvm/test/Transforms/LoopVectorize/non-const-n.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
Log Message:
-----------
[InstCombine] Infer nuw for gep inbounds from base of object (#119225)
When we have a gep inbounds from the base of an object (e.g. alloca or
global), we know that the index cannot be negative, as this would go out
of bounds. As such, we can infer nuw as well.
The implementation is a bit stricter than necessary, we could also
accept one unknown index followed by known-non-negative indices.
Proof: https://alive2.llvm.org/ce/z/Hp7-6w (Note that alive2 currently
incorrectly doesn't require the inbounds for the alloca case, see
https://github.com/AliveToolkit/alive2/issues/1138).
Commit: a2d086af2cdac8c22685551d4d3d0928e40e1a0f
https://github.com/llvm/llvm-project/commit/a2d086af2cdac8c22685551d4d3d0928e40e1a0f
Author: Piotr Sobczak <piotr.sobczak at amd.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fdot2.ll
Log Message:
-----------
[AMDGPU] Fix FMA combine (#119217)
Update the check in the FMA combine to check dot10-insts instead of
dot7-insts.
The target of the combine, v_dot2_f32_f16, is available only if
dot10-insts target feature is enabled.
The issue probably dates back to the change that split out dot10-insts
out of dot7-insts.
As far as I can see, this does not affect any current targets, but if a
future target has dot7-insts, but not dot10-insts that would cause a
crash ("cannot select") for the input ir in the test.
Commit: e9834209aaa572958e1e7ad2957888ac8f718140
https://github.com/llvm/llvm-project/commit/e9834209aaa572958e1e7ad2957888ac8f718140
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Move convertToConreteRecipes to end of VPlan-opt phase (NFCI).
Adjust placement as suggested in
https://github.com/llvm/llvm-project/pull/114305, after some refactoring
to prepare for the move.
Commit: 56ddbeff83ccee47a509c78b82fdb8e4885d3c18
https://github.com/llvm/llvm-project/commit/56ddbeff83ccee47a509c78b82fdb8e4885d3c18
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use getUniqueLatchExitBlock in createVectorLoopSkeleton (NFC).
Use getUniqueLatchExitBlock instead of getUniqueExitBlock in preparation
for multi-exit vectorization *without* requiring a scalar epilogue.
Split off as suggested from
https://github.com/llvm/llvm-project/pull/112138
Commit: e69d8b8708b93281e91eb3679cec317a33aab246
https://github.com/llvm/llvm-project/commit/e69d8b8708b93281e91eb3679cec317a33aab246
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] simplify matchers in bugprone-optional-value-conversion (#119346)
combine type matcher and optional type check.
Commit: 9ab016f1ee009f207b99b11b4aaf004730701f29
https://github.com/llvm/llvm-project/commit/9ab016f1ee009f207b99b11b4aaf004730701f29
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[VectorCombine] Add test coverage for #86068
Commit: c3175c50a3cefef05046a2f78afb55028b30eb5a
https://github.com/llvm/llvm-project/commit/c3175c50a3cefef05046a2f78afb55028b30eb5a
Author: fengfeng <153487255+fengfeng09 at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
A llvm/test/Transforms/InstCombine/and-sub-combine.ll
Log Message:
-----------
[InstCombine] Fold `(X & C1) - (X & C2) --> X & (C1 ^ C2)` if `(C1 & C2) == C2` (#119316)
if (C1 & C2) == C2 then (X & C1) - (X & C2) --> X & (C1 ^ C2)
Alive2: https://alive2.llvm.org/ce/z/JvQU8w
Commit: e088249b74586590c9e143d85b97a175acc9465e
https://github.com/llvm/llvm-project/commit/e088249b74586590c9e143d85b97a175acc9465e
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/avx512-vec-cmp.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
A llvm/test/CodeGen/X86/pr116153.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
Log Message:
-----------
[X86][FP16] Fix crash issue when AVX512VL is not set (#119309)
Fixes problem reported on #116153.
Commit: e8baa792e7db0b03a842448b5e85623da48a4367
https://github.com/llvm/llvm-project/commit/e8baa792e7db0b03a842448b5e85623da48a4367
Author: 执着 <118413413+dty2 at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Runtime/stop.h
M flang/runtime/CMakeLists.txt
M flang/runtime/config.h.cmake
M flang/runtime/stop.cpp
Log Message:
-----------
Backtrace support for flang (#118179)
Fixed build failures in old PRs due to missing files
Commit: d44518c1cc2e5c598f51cbdd32e6d18a12b1a4bb
https://github.com/llvm/llvm-project/commit/d44518c1cc2e5c598f51cbdd32e6d18a12b1a4bb
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CXX/temp/temp.decls/temp.variadic/sizeofpack.cpp
Log Message:
-----------
[Clang] Don't check incomplete CXXRecordDecl's members when transforming sizeof...(expr) (#119344)
For a FunctionParmPackExpr that is used as the argument of a
sizeof...(pack) expression, we might exercise the logic that checks the
CXXRecordDecl's members regardless of the type being incomplete, when
rebuilding the DeclRefExpr into non-ODR-used forms.
Fixes https://github.com/llvm/llvm-project/issues/81436
Commit: 0e7f18791cfe23860ae590c8c7e1724f9aa0e23b
https://github.com/llvm/llvm-project/commit/0e7f18791cfe23860ae590c8c7e1724f9aa0e23b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Relax assertion in fixupIVUsers (NFC).
Adjust the assertion in fixupIVUsers to only require a unique exit block
if there are any values to fix up. This enables the bring up of
multi-exit loop vectorization without requiring a scalar epilogue.
Split off as suggested from
https://github.com/llvm/llvm-project/pull/112138.
Commit: b0f8f32fdcdad3eeb98a3900f1a82c81393a0769
https://github.com/llvm/llvm-project/commit/b0f8f32fdcdad3eeb98a3900f1a82c81393a0769
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[ExprConst] Handle floating- and char literals in FastEvaluateAsRValue (#118294)
This is part of a three-patch series that results in some nice (but not
substantial) compile-time improvements:
http://llvm-compile-time-tracker.com/compare.php?from=fe1c4f0106fe4fd6d61c38ba46e71fda8f4d1573&to=0824d621b2c035a3befb564153b31309a9a79d97&stat=instructions%3Au
The results for just this patch are here:
http://llvm-compile-time-tracker.com/compare.php?from=fe1c4f0106fe4fd6d61c38ba46e71fda8f4d1573&to=6f7f51b476a37dc7c80427fede077e6798a83be8&stat=instructions:u
Commit: 4971e53612f9951da844bd718d5d6016b28067b1
https://github.com/llvm/llvm-project/commit/4971e53612f9951da844bd718d5d6016b28067b1
Author: Zichen Lu <mikaovo2000 at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M mlir/lib/Target/LLVM/CMakeLists.txt
M mlir/lib/Target/LLVM/NVVM/Target.cpp
Log Message:
-----------
[mlir][Target] Support Fatbin target for static nvptxcompiler (#118044)
### Background
In `lib/Target/LLVM/NVVM/Target.cpp`, `NVPTXSerializer` compile PTX to
binary with two different flows controlled by
`MLIR_ENABLE_NVPTXCOMPILER`.
If building mlir with `-DMLIR_ENABLE_NVPTXCOMPILER=ON`, the flow does
not check if the target is `gpu::CompilationTarget::Fatbin`, and compile
PTX to cubin directly, which is not consistent with another flow.
### Implement
Use static [nvfatbin](https://docs.nvidia.com/cuda/nvfatbin/index.html)
library.
I have tested it locally, the two flows can return the same Fatbin
result after inputing the same `GpuModule`.
Commit: 53e9eee0e2c9587fc7a1e7b5f64ba2a935f58e0a
https://github.com/llvm/llvm-project/commit/53e9eee0e2c9587fc7a1e7b5f64ba2a935f58e0a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[X86][TTI] Use TargetCostConstants Free/Basic values instead of hard coded 0/1 to make the costs calculation more obvious. NFC.
Commit: ad635b4168213293feda4c0925c6df4501e41d52
https://github.com/llvm/llvm-project/commit/ad635b4168213293feda4c0925c6df4501e41d52
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp
Log Message:
-----------
[memprof] Use more gtest matchers in unit tests (NFC) (#119338)
Commit: edc50f3954af081b385cb03961899b5da1f1eb6b
https://github.com/llvm/llvm-project/commit/edc50f3954af081b385cb03961899b5da1f1eb6b
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/Todo/task_detach.f90
A flang/test/Lower/OpenMP/task_detach.f90
Log Message:
-----------
[flang][OpenMP] Add lowering support for task detach (#119128)
This PR adds lowering task detach to MLIR.
Commit: b97c447dac892276eaff1ae6d07e3f986373a690
https://github.com/llvm/llvm-project/commit/b97c447dac892276eaff1ae6d07e3f986373a690
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Add assert for shouldBroadcast and canBeVectorized. (#119327)
Commit: 0ed696e5a3d715fea779579aa3be2c8a338aa7ec
https://github.com/llvm/llvm-project/commit/0ed696e5a3d715fea779579aa3be2c8a338aa7ec
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/test/CodeGen/AArch64/ptrauth-extern-weak.ll
A llvm/test/CodeGen/AArch64/ptrauth-tiny-model-pic.ll
A llvm/test/CodeGen/AArch64/ptrauth-tiny-model-static.ll
M llvm/test/MC/AArch64/arm64-elf-relocs.s
M llvm/test/MC/AArch64/ilp32-diagnostics.s
Log Message:
-----------
[PAC][CodeGen][ELF][AArch64] Support signed GOT with tiny code model (#114525)
Support the following relocations and assembly operators:
- `R_AARCH64_AUTH_GOT_ADR_PREL_LO21` (`:got_auth:` for `adr`)
- `R_AARCH64_AUTH_GOT_LD_PREL19` (`:got_auth:` for `ldr`)
`LOADgotAUTH` pseudo-instruction is expanded to actual instruction
sequence like the following.
```
adr x16, :got_auth:sym
ldr x0, [x16]
autia x0, x16
```
Both SelectionDAG and GlobalISel are suppported. For FastISel, we fall
back to SelectionDAG.
Tests starting with 'ptrauth-' have corresponding variants w/o this
prefix.
Commit: 6e6b6060d6daf0173fa94189c30ab9529ce345ea
https://github.com/llvm/llvm-project/commit/6e6b6060d6daf0173fa94189c30ab9529ce345ea
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Simplify a nested !con. NFC.
Commit: ef4f8589e8e16d016119b7b8c2831ac406e8b97e
https://github.com/llvm/llvm-project/commit/ef4f8589e8e16d016119b7b8c2831ac406e8b97e
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
A llvm/test/Analysis/BasicAA/smaller-index-size-overflow.ll
Log Message:
-----------
[BasicAA] Add test for incorrect handling of small index sizes (NFC)
Commit: bc0976ed1f96c20546796d4aa18abf3acfc0850f
https://github.com/llvm/llvm-project/commit/bc0976ed1f96c20546796d4aa18abf3acfc0850f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Strip non-inbounds offset in getPointerDiff() (NFC) (#118665)
I believe that this code doesn't care whether the offsets are known to
be inbounds a priori. For the same reason the change is not testable, as
the SCEV based fallback code will look through non-inbounds offsets
anyway. So make it clear that there is no special inbounds requirement
here.
Commit: f4081711f0884ec7afe93577e118ecc89cb7b1cf
https://github.com/llvm/llvm-project/commit/f4081711f0884ec7afe93577e118ecc89cb7b1cf
Author: Mel Chen <mel.chen at sifive.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/iv-select-cmp-nested-loop.ll
A llvm/test/Transforms/LoopVectorize/iv-select-cmp-non-const-iv-start.ll
Log Message:
-----------
[LV][NFC] Add test cases for FindLastIV reduction idiom. (#118519)
Pre-commit for #67812
Commit: cb4433b677a06ecbb3112f39d24b28f19b0d2626
https://github.com/llvm/llvm-project/commit/cb4433b677a06ecbb3112f39d24b28f19b0d2626
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M libcxx/test/std/utilities/expected/expected.expected/monadic/and_then.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/or_else.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp
Log Message:
-----------
[libcxx][test] Silence nodiscard warnings for `std::expected` (#119174)
I'm exploring marking microsoft/STL's std::expected as [[nodiscard]],
which affects all functions returning std::expected, including its
own monadic member functions.
As usual, libc++'s test suite contains calls to these member functions
to make sure they compile, but it's discarding the returns. I'm adding
void casts to silence the [[nodiscard]] warnings without altering
what the test is covering.
Commit: 740861d69c2d2988ed69bc264df73bc5ae9d9e49
https://github.com/llvm/llvm-project/commit/740861d69c2d2988ed69bc264df73bc5ae9d9e49
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/SemaCXX/cxx1y-initializer-aggregates.cpp
Log Message:
-----------
[clang] Fix a crash issue that caused by handling of fields with initializers in nested anonymous unions (#113049)
Fixes: https://github.com/llvm/llvm-project/issues/112560
This PR create an RecoveryExpr for invalid in-class-initializer.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 05b907f66b6aed06b8ad3b27883b9108a77858d2
https://github.com/llvm/llvm-project/commit/05b907f66b6aed06b8ad3b27883b9108a77858d2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/shuffle-inseltpoison.ll
M llvm/test/Transforms/PhaseOrdering/X86/shuffle.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfShuffles - allow fold with only single shuffle operand. (#119354)
foldShuffleOfShuffles already handles "shuffle (shuffle x, undef), (shuffle y, undef)" patterns, this patch relaxes the requirement so it can handle cases where only a single operand is a shuffle (and the other can be any other value and will be kept in place).
Fixes #86068
Commit: f6289f13088aa8898fe389f7bb80cca79ea64c8a
https://github.com/llvm/llvm-project/commit/f6289f13088aa8898fe389f7bb80cca79ea64c8a
Author: hev <wangrui at loongson.cn>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchOptWInstrs.cpp
M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem-div32.ll
Log Message:
-----------
[LoongArch] Enable `AllNBitUsers` checking for {DIV,MOD}.W{U} with div32 enabled (#118776)
Commit: cc1a2ea61e3f8e790125b10d9ec4e7d179156ddf
https://github.com/llvm/llvm-project/commit/cc1a2ea61e3f8e790125b10d9ec4e7d179156ddf
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_cvt.c
A clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/fp8-sve-cvt-cvtlt.ll
Log Message:
-----------
[AArch64] Implement FP8 SVE intrinsics for widening conversions (#118123)
This patch adds the following intrinsics:
* 8-bit floating-point convert to half-precision and BFloat16.
// Variants are also available for: _bf16
svfloat16_t svcvt1_f16[_mf8]_fpm(svmfloat8_t zn, fpm_t fpm);
svfloat16_t svcvt2_f16[_mf8]_fpm(svmfloat8_t zn, fpm_t fpm);
* 8-bit floating-point convert to half-precision and BFloat16 (top).
// Variants are also available for: _bf16
svfloat16_t svcvtlt1_f16[_mf8]_fpm(svmfloat8_t zn, fpm_t fpm);
svfloat16_t svcvtlt2_f16[_mf8]_fpm(svmfloat8_t zn, fpm_t fpm);
Commit: e6ba3452ab086cf24725f3587709150b686d4b05
https://github.com/llvm/llvm-project/commit/e6ba3452ab086cf24725f3587709150b686d4b05
Author: Mikołaj Piróg <mikolajpirog at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/Headers/avx10_2copyintrin.h
Log Message:
-----------
[X86][AVX10.2] Add comments for the avx10_2copyintrin.h file (#119238)
As in title
Commit: 20aed3fd097f8b0cb57181ca7e11e9348ce4c310
https://github.com/llvm/llvm-project/commit/20aed3fd097f8b0cb57181ca7e11e9348ce4c310
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/scudo/standalone/BUILD.gn
Log Message:
-----------
[gn] port 2c0b8b10dd1a
Commit: f8a1f42dd5e2f57e4b0bdd8102c4f6d82e869747
https://github.com/llvm/llvm-project/commit/f8a1f42dd5e2f57e4b0bdd8102c4f6d82e869747
Author: Paul Osmialowski <pawel.osmialowski at arm.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M flang/test/Driver/config-file.f90
Log Message:
-----------
[test][flang][driver] Fix test that assumes libomp default (#119368)
This patch supplements the fix introduced by PR #119319.
Commit: 28a0ad09c1c1184f667e2655318a138aa51dc9e8
https://github.com/llvm/llvm-project/commit/28a0ad09c1c1184f667e2655318a138aa51dc9e8
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
A flang/test/HLFIR/element-codegen-issue-118922.fir
Log Message:
-----------
[flang][hlfir] fix issue 118922 (#119219)
hlfir.elemental codegen optimize-out the final as_expr copy for temps
local to its body, but sometimes, clean-up may have been emitted for
this temp, and the code did not handle that.
This caused #118922 and @113843.
Only elide the copy if the as_expr is the last op.
Commit: 502c08e672c68927bb6e084100edaad0a8ddbf26
https://github.com/llvm/llvm-project/commit/502c08e672c68927bb6e084100edaad0a8ddbf26
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][ExprConst] Move vector diagnostics to checkBitCastConstexprEl… (#119366)
…igibilityType
This is the function we use to diagnose invalid types, so use it for
those checks as well.
NFC.
Commit: 0ee5924d9bc01c5625a41833dd9d88b89c98d986
https://github.com/llvm/llvm-project/commit/0ee5924d9bc01c5625a41833dd9d88b89c98d986
Author: Jacob Lifshay <programmerjake at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/WebAssembly.cpp
Log Message:
-----------
[clang] wasm cpu name is supposed to be lime1, not lime (#119262)
Originally added in #112035
cc @sunfishcode
Commit: e665e781dc3f8fac0400f6ac8e168805b0cdf74a
https://github.com/llvm/llvm-project/commit/e665e781dc3f8fac0400f6ac8e168805b0cdf74a
Author: Dan Gohman <dev at sunfishcode.online>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
M llvm/test/CodeGen/AMDGPU/buffer-intrinsics-mmo-offsets.ll
M llvm/test/CodeGen/WebAssembly/fpclamptosat.ll
M llvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll
M llvm/test/CodeGen/WebAssembly/i128.ll
M llvm/test/CodeGen/WebAssembly/libcalls-trig.ll
M llvm/test/CodeGen/WebAssembly/libcalls.ll
M llvm/test/CodeGen/WebAssembly/multi-return.ll
M llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll
M llvm/test/CodeGen/WebAssembly/umulo-128-legalisation-lowering.ll
Log Message:
-----------
[SelectionDAG] Use the nuw flag when expanding loads. (#119288)
When expanding a load into two loads, use nuw for the add that computes
the offset from the base of the second load, because the original load
doesn't straddle the address space.
It turns out there's already a dedicated helper function for doing this,
`getObjectPtrOffset`.
This is in target-independent code, however in practice it only seems to
affact WebAssembly code, because WebAssembly load and store
instructions' constant offsets don't perform wrapping, so constant
folding often depends on the nuw flag being present.
This was noticed in the development of #119204.
Commit: df4c5d5b582e2b60748e4ab5b6552954270ded2a
https://github.com/llvm/llvm-project/commit/df4c5d5b582e2b60748e4ab5b6552954270ded2a
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M .github/workflows/build-ci-container.yml
A .github/workflows/containers/github-action-ci/Dockerfile
R .github/workflows/containers/github-action-ci/bootstrap.patch
R .github/workflows/containers/github-action-ci/stage1.Dockerfile
R .github/workflows/containers/github-action-ci/stage2.Dockerfile
R .github/workflows/containers/github-action-ci/storage.conf
Log Message:
-----------
workflows: Rewrite build-ci-container to work on larger runners (#117353)
Also switch them over to the new depot runners.
Commit: bd231da1d19ce8852e5c8da485e1abfc225c5c53
https://github.com/llvm/llvm-project/commit/bd231da1d19ce8852e5c8da485e1abfc225c5c53
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libc-overlay-tests.yml
Log Message:
-----------
[libc][workflow] address permission concern and add more comments (#119320)
This patch limits the permission of pre-commit libc pipelines. It also
adds detailed comments to help future modifications.
Commit: 8a494ddcbc0028937a92ad32380ed55c6bf4d7d8
https://github.com/llvm/llvm-project/commit/8a494ddcbc0028937a92ad32380ed55c6bf4d7d8
Author: Anastasia Stulova <38433336+AnastasiaStulova at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
Nominating Sven van Haastregt as OpenCL maintainer in Clang (#119383)
Sven has been a long-standing contributor to OpenCL support in Clang and
LLVM, consistently delivering high-quality commits and thorough code
reviews. His deep expertise and proven track record demonstrate his
commitment to advancing the project and maintaining its standards. I
strongly believe Sven would excel as an OpenCL maintainer for Clang,
ensuring the continued growth and reliability of OpenCL within the LLVM
ecosystem.
Unfortunately, due to other commitments I am stepping down from my duty
as an OpenCL maintainer.
Co-authored-by: Anastasia Stulova <astulova at nvidia.com>
Commit: dadd8455fe29ef28b84c79e9ac0a63cc32484a6f
https://github.com/llvm/llvm-project/commit/dadd8455fe29ef28b84c79e9ac0a63cc32484a6f
Author: Anastasia Stulova <38433336+AnastasiaStulova at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
Removed Anastasia Stulova from Office Hours Calendar. (#119384)
Unfortunately, due to other commitments I am no longer able to host this
community meeting.
Co-authored-by: Anastasia Stulova <astulova at nvidia.com>
Commit: c166a9c713ec86b86f1f178a5133bc128fd0a610
https://github.com/llvm/llvm-project/commit/c166a9c713ec86b86f1f178a5133bc128fd0a610
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/cassert
M libcxx/include/ccomplex
M libcxx/include/cctype
M libcxx/include/cerrno
M libcxx/include/cfenv
M libcxx/include/cfloat
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/cinttypes
M libcxx/include/ciso646
M libcxx/include/climits
M libcxx/include/clocale
M libcxx/include/cmath
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/complex.h
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/csetjmp
M libcxx/include/csignal
M libcxx/include/cstdalign
M libcxx/include/cstdarg
M libcxx/include/cstdbool
M libcxx/include/cstddef
M libcxx/include/cstdint
M libcxx/include/cstdio
M libcxx/include/cstdlib
M libcxx/include/cstring
M libcxx/include/ctgmath
M libcxx/include/ctime
M libcxx/include/ctype.h
M libcxx/include/cuchar
M libcxx/include/cwchar
M libcxx/include/cwctype
M libcxx/include/deque
M libcxx/include/errno.h
M libcxx/include/exception
M libcxx/include/execution
M libcxx/include/expected
M libcxx/include/fenv.h
M libcxx/include/filesystem
M libcxx/include/flat_map
M libcxx/include/float.h
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/inttypes.h
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/iostream
M libcxx/include/istream
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/math.h
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/print
M libcxx/include/queue
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/source_location
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdatomic.h
M libcxx/include/stdbool.h
M libcxx/include/stddef.h
M libcxx/include/stdexcept
M libcxx/include/stdio.h
M libcxx/include/stdlib.h
M libcxx/include/stop_token
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string.h
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/syncstream
M libcxx/include/system_error
M libcxx/include/tgmath.h
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/uchar.h
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/utility
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/wchar.h
M libcxx/include/wctype.h
Log Message:
-----------
[libc++] Add #if 0 block to all the top-level headers (#119234)
Including The frozen C++03 headers results in a lot of formatting
changes in the main headers, so this splits these changes into a
separate commit instead.
This is part of
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.
Commit: ecbf64d6dc61f4fd76bee7b139234277b7fd2f7b
https://github.com/llvm/llvm-project/commit/ecbf64d6dc61f4fd76bee7b139234277b7fd2f7b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M .github/workflows/libcxx-restart-preempted-jobs.yaml
Log Message:
-----------
[libc++] Try handling spurious cancellation in the mainline CI restarter
We've been having issues with cancelled CI jobs due to Docker-in-Docker
failures (spurious). I tried addressing that by adding a new flavor of
the restarter action, but that clearly hasn't worked out since we see
a lot of these spurious failures.
This PR is an attempt to fix this by changing the mainline CI restarter
used by libc++, not just the workflow job I added for testing. I have to
check this in to test it because this workflow uses the version that's
on the main branch.
Commit: 986529634368d99a3b469033d84e45a62d53eec5
https://github.com/llvm/llvm-project/commit/986529634368d99a3b469033d84e45a62d53eec5
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
Log Message:
-----------
[StructurizeCFG] Use `poison` instead of `undef` as placeholder [NFC] (#119137)
Commit: 20b071c0ebd9a5de7e1893cf6f1d6081819015c8
https://github.com/llvm/llvm-project/commit/20b071c0ebd9a5de7e1893cf6f1d6081819015c8
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
Log Message:
-----------
[CGData] Change placeholder from `undef` to `poison` when initializing a vector [NFC] (#119134)
Commit: d7c12ea29e614db073641f204e4619d7e54b1ff5
https://github.com/llvm/llvm-project/commit/d7c12ea29e614db073641f204e4619d7e54b1ff5
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/test/Transforms/LoopRotate/dbgvalue.ll
Log Message:
-----------
[LoopRotate] Use `poison` instead of `undef` as placeholder in debug info [NFC] (#119135)
The `poison` values are used to substitute debug information of values
moved from the original header into the preheader that are no longer
available in the former.
Commit: bd8eb7894f837704ea478716bab3e01a4eb6c813
https://github.com/llvm/llvm-project/commit/bd8eb7894f837704ea478716bab3e01a4eb6c813
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M libcxx/utils/ci/buildkite-pipeline.yml
Log Message:
-----------
[libc++] Temporarily disable FreeBSD runners
They have been out for over 10 days, which only causes confusion
when looking at CI results.
Commit: 01512d29b766c80aa691daabeabc315a172dc747
https://github.com/llvm/llvm-project/commit/01512d29b766c80aa691daabeabc315a172dc747
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M libcxx/docs/CodingGuidelines.rst
Log Message:
-----------
[libc++] Document guidelines for symbols baked into the ABI (#118526)
Closes #112395
Commit: e3284d8cc75314818ff66d2dc1e4773e1fe4257c
https://github.com/llvm/llvm-project/commit/e3284d8cc75314818ff66d2dc1e4773e1fe4257c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Log Message:
-----------
[GISel] Use SmallVector::append instead of copying one element at a time. (#119321)
Commit: eacdbc269e5f14292222123150a0e4ff0ad6301d
https://github.com/llvm/llvm-project/commit/eacdbc269e5f14292222123150a0e4ff0ad6301d
Author: Peng Liu <winner245 at hotmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M libcxx/test/support/test_allocator.h
Log Message:
-----------
[libc++][test] Fix invalid const conversion in limited_allocator (#118189)
This patch fixes a const-qualification on the return type of a method
of `limited_allocator`, which is widely used for testing allocator-aware
containers.
Commit: 97ff96173abc0e914d5c8716ccc6356342aca043
https://github.com/llvm/llvm-project/commit/97ff96173abc0e914d5c8716ccc6356342aca043
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
M llvm/test/CodeGen/AArch64/illegal-floating-point-vector-compares.ll
M llvm/test/CodeGen/AArch64/reduce-and.ll
M llvm/test/CodeGen/AArch64/reduce-or.ll
M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
Log Message:
-----------
[AArch64] Improve code generation of bool vector reduce operations (#115713)
* Avoid unnecessary truncation of comparison results in vecreduce_xor
* Optimize generated code for vecreduce_and and vecreduce_or by
comparing against 0.0 to check if all/any of the values are set
Alive2 proof of vecreduce_and and vecreduce_or transformation:
https://alive2.llvm.org/ce/z/SRfPtw
Commit: da421f55a7279effe7b7963e59213c881f39d976
https://github.com/llvm/llvm-project/commit/da421f55a7279effe7b7963e59213c881f39d976
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Make InstructionsState more constant. (#118609)
Add getMainOp and getAltOp.
Use `InstructionsState &` instead of `const InstructionsState &`.
Use `!S.isAltShuffle()` instead of `S.MainOp == S.AltOp`.
Commit: 7ea1fe773225fe88fd3ceb0aa17152eec496d135
https://github.com/llvm/llvm-project/commit/7ea1fe773225fe88fd3ceb0aa17152eec496d135
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M .github/workflows/libcxx-restart-preempted-jobs.yaml
Log Message:
-----------
Revert "[libc++] Try handling spurious cancellation in the mainline CI restarter"
This reverts commit ecbf64d6dc6, since that seems to cause the CI to
restart-loop instead of doing what it should.
Commit: 3654f1baa66f524c89e40ab24e18e594e56363e9
https://github.com/llvm/llvm-project/commit/3654f1baa66f524c89e40ab24e18e594e56363e9
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstCombine/cast.ll
M llvm/test/Transforms/InstSimplify/bitcast-vector-fold.ll
Log Message:
-----------
[LLVM][IR] Add support for vector ConstantInt/FP to ConstandFolding:FoldBitCast. (#117163)
Commit: f28e52274c83d5ccd03455ef98a3758916998be9
https://github.com/llvm/llvm-project/commit/f28e52274c83d5ccd03455ef98a3758916998be9
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
M clang/test/CodeGenObjC/arc-ternary-op.m
M clang/test/CodeGenObjCXX/arc.mm
Log Message:
-----------
[Clang] Change two placeholders from `undef` to `poison` [NFC] (#119141)
- Use `poison` instead of `undef` as a phi operand for an unreachable path (the predecessor
will not go the BB that uses the value of the phi).
- Call `@llvm.vector.insert` with a `poison` subvec when performing a
`bitcast` from a fixed vector to a scalable vector.
Commit: f31099ce581d33fdb64e35fee4b56d0a1145cab1
https://github.com/llvm/llvm-project/commit/f31099ce581d33fdb64e35fee4b56d0a1145cab1
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/XCOFF.h
M llvm/include/llvm/MC/MCXCOFFObjectWriter.h
M llvm/lib/BinaryFormat/XCOFF.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
A llvm/test/CodeGen/PowerPC/aix-cpu-version-multifunction.ll
A llvm/test/CodeGen/PowerPC/aix-cpu-version.ll
M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
M llvm/test/CodeGen/PowerPC/aix-extern.ll
M llvm/test/CodeGen/PowerPC/aix-filename-c.ll
M llvm/test/CodeGen/PowerPC/aix-filename-cpp.ll
M llvm/test/CodeGen/PowerPC/aix-filename-f.ll
M llvm/test/CodeGen/PowerPC/aix-func-dsc-gen.ll
M llvm/test/CodeGen/PowerPC/aix-llvm-intrinsic.ll
M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-variables.ll
M llvm/test/CodeGen/PowerPC/aix-weak.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-data.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
M llvm/test/DebugInfo/XCOFF/empty.ll
M llvm/test/DebugInfo/XCOFF/explicit-section.ll
M llvm/test/DebugInfo/XCOFF/function-sections.ll
M llvm/test/tools/llvm-readobj/XCOFF/symbols-invalid.test
M llvm/test/tools/llvm-readobj/XCOFF/symbols.test
M llvm/test/tools/llvm-readobj/XCOFF/symbols64.test
M llvm/test/tools/yaml2obj/XCOFF/aux-symbols.yaml
M llvm/tools/llvm-readobj/XCOFFDumper.cpp
Log Message:
-----------
[PowerPC][AIX] Emit PowerPC version for XCOFF (#113214)
This PR emits implements the ability to emit the PPC version for both
assembly and object files on AIX.
Commit: 4d06623b28ab373cd5438fda6c79cf62fc53ace0
https://github.com/llvm/llvm-project/commit/4d06623b28ab373cd5438fda6c79cf62fc53ace0
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
A llvm/test/CodeGen/PowerPC/pr116071.ll
Log Message:
-----------
recalculate the live interval of the defined register of xvmaddmdp in the VSX FMA mutation pass. (#116071)
The patch fix https://github.com/llvm/llvm-project/issues/116061
The root cause of the assertion is that the FMA mutation pass does not
update the subranges of the live interval for the defined register of
the modified instruction .
it recalculate the live interval of the defined register of xvmaddmdp in
the VSX FMA mutation pass.
Commit: ed91843d435d0cd2c39ebb1a50f2907c621f07ed
https://github.com/llvm/llvm-project/commit/ed91843d435d0cd2c39ebb1a50f2907c621f07ed
Author: George Stagg <george.stagg at posit.co>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/MC/WasmObjectWriter.cpp
A llvm/test/MC/WebAssembly/init-array-label.s
Log Message:
-----------
[WebAssembly] Handle symbols in `.init_array` sections (#119127)
Follow on from #111008.
Commit: 4f933277a53d61f7df42e70ec8ec465652019f7f
https://github.com/llvm/llvm-project/commit/4f933277a53d61f7df42e70ec8ec465652019f7f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-intrinsics.ll
Log Message:
-----------
[CostModel][X86] Improve cost estimation of insert_subvector shuffle patterns of legalized types (#119363)
In cases where the base/sub vector type in an insert_subvector pattern legalize to the same width through splitting, we can assume that the shuffle becomes free as the legalized vectors will not overlap.
Note this isn't true if the vectors have been widened during legalization (e.g. v2f32 insertion into v4f32 would legalize to v4f32 into v4f32).
Noticed while working on adding processShuffleMasks handling for SK_PermuteTwoSrc.
Commit: 444e53f675ff490a3023d48e1b809486513e3fd3
https://github.com/llvm/llvm-project/commit/444e53f675ff490a3023d48e1b809486513e3fd3
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/test/CodeGen/AArch64/selectopt-cast.ll
Log Message:
-----------
[SelectOpt] Fix incorrect IR for SUB when comparison dependent operand is first (#119362)
Commit: 5a0d73b1da880e475e8187e8962b574174bdd0a9
https://github.com/llvm/llvm-project/commit/5a0d73b1da880e475e8187e8962b574174bdd0a9
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/aarch64/sme-abi.S
Log Message:
-----------
[compiler-rt][AArch64] NFCI: Simplify __arm_get_current_vg. (#119210)
This patch simplifies the code in two different ways:
* When SVE is available, return `cntd` directly to avoid the need for
bitfield insert.
* When SME is available, check the PSTATE.SM bit of `SVCR` directly
rather than calling `__arm_sme_state`.
Commit: 708a478d6739aea20a8834cea45490f05b07ca10
https://github.com/llvm/llvm-project/commit/708a478d6739aea20a8834cea45490f05b07ca10
Author: Raphael Moreira Zinsly <rzinsly at ventanamicro.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.cpp
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
A llvm/test/CodeGen/RISCV/stack-clash-prologue-nounwind.ll
A llvm/test/CodeGen/RISCV/stack-clash-prologue.ll
Log Message:
-----------
[RISCV] Add stack clash protection (#117612)
Enable `-fstack-clash-protection` for RISCV and stack probe for function
prologues.
We probe the stack by creating a loop that allocates and probe the stack
in ProbeSize chunks.
We emit an unrolled probe loop for small allocations and emit a variable
length probe loop for bigger ones.
Commit: 74486dcf418648023318a5ad03dd48ba5dc11381
https://github.com/llvm/llvm-project/commit/74486dcf418648023318a5ad03dd48ba5dc11381
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
A offload/cmake/caches/AMDGPUBot.cmake
Log Message:
-----------
[Offload] Add CMake cache to be used in AMDGPU bot (#119369)
Adds initial CMake cache definition that is similar to what we use in
one of our production buidlbots. The goal is to consolidate the
configurations and make them accessible.
This cache file is a first step and to prepare for full pipeline testing
once the new bot comes online.
Commit: 3a573dcdc88d4571496dc26e514c5708e1e2c786
https://github.com/llvm/llvm-project/commit/3a573dcdc88d4571496dc26e514c5708e1e2c786
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
Log Message:
-----------
[RISCV][VLOPT] Add support for integer multiply-add instructions (#112216)
This adds support for these instructions.
Commit: 0fb06172f14110daa45bed8ae4c153967c9365dc
https://github.com/llvm/llvm-project/commit/0fb06172f14110daa45bed8ae4c153967c9365dc
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
Log Message:
-----------
[clang][bytecode] Check vector element types for eligibility (#119385)
Like we do in ExprConstant.cpp.
Commit: 431ea2d076f8a5ca35b2c293dd5d62f5ce083f45
https://github.com/llvm/llvm-project/commit/431ea2d076f8a5ca35b2c293dd5d62f5ce083f45
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M libc/benchmarks/CMakeLists.txt
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/fuzzing/string/CMakeLists.txt
M libc/fuzzing/string/bcmp_fuzz.cpp
M libc/hdr/func/free.h
M libc/hdr/func/malloc.h
M libc/hdr/func/realloc.h
M libc/src/CMakeLists.txt
M libc/src/string/CMakeLists.txt
R libc/src/string/bcmp.cpp
R libc/src/string/bcmp.h
R libc/src/string/bcopy.cpp
R libc/src/string/bcopy.h
R libc/src/string/bzero.cpp
R libc/src/string/bzero.h
R libc/src/string/index.cpp
R libc/src/string/index.h
R libc/src/string/rindex.cpp
R libc/src/string/rindex.h
R libc/src/string/strcasecmp.cpp
R libc/src/string/strcasecmp.h
R libc/src/string/strncasecmp.cpp
R libc/src/string/strncasecmp.h
A libc/src/strings/CMakeLists.txt
A libc/src/strings/bcmp.cpp
A libc/src/strings/bcmp.h
A libc/src/strings/bcopy.cpp
A libc/src/strings/bcopy.h
A libc/src/strings/bzero.cpp
A libc/src/strings/bzero.h
A libc/src/strings/index.cpp
A libc/src/strings/index.h
A libc/src/strings/rindex.cpp
A libc/src/strings/rindex.h
A libc/src/strings/strcasecmp.cpp
A libc/src/strings/strcasecmp.h
A libc/src/strings/strncasecmp.cpp
A libc/src/strings/strncasecmp.h
M libc/test/src/CMakeLists.txt
M libc/test/src/string/CMakeLists.txt
R libc/test/src/string/bcmp_test.cpp
R libc/test/src/string/bcopy_test.cpp
R libc/test/src/string/bzero_test.cpp
R libc/test/src/string/index_test.cpp
R libc/test/src/string/rindex_test.cpp
R libc/test/src/string/strcasecmp_test.cpp
R libc/test/src/string/strncasecmp_test.cpp
A libc/test/src/strings/CMakeLists.txt
A libc/test/src/strings/bcmp_test.cpp
A libc/test/src/strings/bcopy_test.cpp
A libc/test/src/strings/bzero_test.cpp
A libc/test/src/strings/index_test.cpp
A libc/test/src/strings/rindex_test.cpp
A libc/test/src/strings/strcasecmp_test.cpp
A libc/test/src/strings/strncasecmp_test.cpp
Log Message:
-----------
[libc] move bcmp, bzero, bcopy, index, rindex, strcasecmp, strncasecmp to strings.h (#118899)
docgen relies on the convention that we have a file foo.cpp in
libc/src/\<header\>/. Because the above functions weren't in libc/src/strings/
but rather libc/src/string/, docgen could not find that we had implemented
these.
Rather than add special carve outs to docgen, let's fix up our sources for
these 7 functions to stick with the existing conventions the rest of the
codebase follows.
Link: #118860
Fixes: #118875
Commit: 1d7d0051f95811f42b2c1886455dfc0f70e1e4aa
https://github.com/llvm/llvm-project/commit/1d7d0051f95811f42b2c1886455dfc0f70e1e4aa
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 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/src/CMakeLists.txt
A libc/src/arpa/CMakeLists.txt
A libc/src/arpa/inet/CMakeLists.txt
A libc/src/arpa/inet/htonl.cpp
A libc/src/arpa/inet/htonl.h
A libc/src/arpa/inet/htons.cpp
A libc/src/arpa/inet/htons.h
A libc/src/arpa/inet/ntohl.cpp
A libc/src/arpa/inet/ntohl.h
A libc/src/arpa/inet/ntohs.cpp
A libc/src/arpa/inet/ntohs.h
R libc/src/network/CMakeLists.txt
R libc/src/network/htonl.cpp
R libc/src/network/htonl.h
R libc/src/network/htons.cpp
R libc/src/network/htons.h
R libc/src/network/ntohl.cpp
R libc/src/network/ntohl.h
R libc/src/network/ntohs.cpp
R libc/src/network/ntohs.h
M libc/test/src/CMakeLists.txt
A libc/test/src/arpa/CMakeLists.txt
A libc/test/src/arpa/inet/CMakeLists.txt
A libc/test/src/arpa/inet/htonl_test.cpp
A libc/test/src/arpa/inet/htons_test.cpp
A libc/test/src/arpa/inet/ntohl_test.cpp
A libc/test/src/arpa/inet/ntohs_test.cpp
R libc/test/src/network/CMakeLists.txt
R libc/test/src/network/htonl_test.cpp
R libc/test/src/network/htons_test.cpp
R libc/test/src/network/ntohl_test.cpp
R libc/test/src/network/ntohs_test.cpp
Log Message:
-----------
[libc] move src/network to src/arpa/inet (#119273)
So that docgen can find our implementations.
Fixes: #119272
Commit: 8a25398615e4ad434231edba234db95d111bb6cf
https://github.com/llvm/llvm-project/commit/8a25398615e4ad434231edba234db95d111bb6cf
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/pthread.h.def
Log Message:
-----------
[libc] move pthread macros to dedicated header (#119286)
so that docgen can find our definitions.
Also eliminate the enums. POSIX is careful to call these "symbolic constants"
rather than specifically whether they are preprocessor macro defines or not.
Enums are useful to expressing mutual exclusion when the enum values are in
distinct enums which can improve type safety. Our enum values weren't using
that pattern though; they were all in one big anonymous enum.
Link:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/pthread.h.html
Fixes: #88997
Commit: 8ca4aa576c0bfd9f7dfaa4768d32ab0ff842f59b
https://github.com/llvm/llvm-project/commit/8ca4aa576c0bfd9f7dfaa4768d32ab0ff842f59b
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
Log Message:
-----------
[RISCV][VLOPT] Use vadd as user instruction in vl-opt-instrs test in more places
We've decided to use vadd as the user instruction where possible for simplicity
in this file. This patch uses vadd as user in more places.
Commit: 9735873009ca86b03c3283d06edd1b3a190d4af9
https://github.com/llvm/llvm-project/commit/9735873009ca86b03c3283d06edd1b3a190d4af9
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M mlir/test/lib/Pass/CMakeLists.txt
A mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
M mlir/test/mlir-vulkan-runner/addf.mlir
M mlir/test/mlir-vulkan-runner/addf_if.mlir
M mlir/test/mlir-vulkan-runner/addi.mlir
M mlir/test/mlir-vulkan-runner/addi8.mlir
M mlir/test/mlir-vulkan-runner/addui_extended.mlir
M mlir/test/mlir-vulkan-runner/mulf.mlir
M mlir/test/mlir-vulkan-runner/smul_extended.mlir
M mlir/test/mlir-vulkan-runner/subf.mlir
M mlir/test/mlir-vulkan-runner/time.mlir
M mlir/test/mlir-vulkan-runner/umul_extended.mlir
M mlir/test/mlir-vulkan-runner/vector-deinterleave.mlir
M mlir/test/mlir-vulkan-runner/vector-interleave.mlir
M mlir/test/mlir-vulkan-runner/vector-shuffle.mlir
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
Log Message:
-----------
[mlir][mlir-vulkan-runner] Move part of device pass pipeline to mlir-opt (#119372)
Adds a new mlir-opt test-only pass, -test-vulkan-runner-pipeline, which
runs a set of passes needed for mlir-vulkan-runner, and removes them
from the runner. The tests are changed to invoke mlir-opt with this flag
before invoking the runner. The passes moved are ones concerned with
lowering of the device code prior to serialization to SPIR-V. This is an
incremental step towards moving the entire pipeline to mlir-opt, to
align with other runners (see #73457).
Commit: c7634c1b610e9abe13646c5936dd14402e0dc2f3
https://github.com/llvm/llvm-project/commit/c7634c1b610e9abe13646c5936dd14402e0dc2f3
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/test/HLFIR/simplify-hlfir-intrinsics-sum.fir
Log Message:
-----------
[flang] Disabled hlfir.sum inlining by default. (#119287)
To temporarily address exchange2 perf regression reported in #118556
I disabled the inlining by default, and put it under engineering
option `-flang-simplify-hlfir-sum`.
Commit: c5ab70c508457eaece5d7ff4ab79a2f90bc67f06
https://github.com/llvm/llvm-project/commit/c5ab70c508457eaece5d7ff4ab79a2f90bc67f06
Author: Dan Gohman <dev at sunfishcode.online>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/WebAssembly.h
M clang/test/CodeGen/target-data.c
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
A llvm/test/CodeGen/WebAssembly/data-align.ll
M llvm/test/CodeGen/WebAssembly/multi-return.ll
M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
Log Message:
-----------
[WebAssembly] Add `-i128:128` to the `datalayout` string. (#119204)
Clang [defaults to aligning `__int128_t` to 16 bytes], while LLVM
`datalayout` strings [default to aligning `i128` to 8 bytes]. Wasm is
currently using the defaults for both, so it's inconsistent. Fix this by
adding `-i128:128` to Wasm's `datalayout` string so that it aligns
`i128` to 16 bytes too.
This is similar to
[llvm/llvm-project at dbad963](https://github.com/llvm/llvm-project/commit/dbad963a69fd7b16c6838f81b61167fbf00a413c)
for SPARC.
This fixes rust-lang/rust#133991; see that issue for further discussion.
[defaults to aligning `__int128_t` to 16 bytes]:
https://github.com/llvm/llvm-project/blob/f8b4182f076f8fe55f9d5f617b5a25008a77b22f/clang/lib/Basic/TargetInfo.cpp#L77
[default to aligning `i128` to 8 bytes]:
https://llvm.org/docs/LangRef.html#langref-datalayout
Commit: df3397b359c164bd9dbe98b39e3c8270b5292e02
https://github.com/llvm/llvm-project/commit/df3397b359c164bd9dbe98b39e3c8270b5292e02
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M lld/test/ELF/lto/Inputs/internalize-exportdyn.ll
M lld/test/ELF/lto/internalize-exportdyn.ll
Log Message:
-----------
[ELF] Improve canBeOmittedFromSymbolTable tests
A linkonce_odr definition can be omitted in LTO compilation if
`canBeOmittedFromSymbolTable()` is true in all bitcode files.
Test more linkage merge scenarios.
The lo_and_wo symbol tests #111341.
Commit: 5041d067307344effbab41cf96d5603652b2e718
https://github.com/llvm/llvm-project/commit/5041d067307344effbab41cf96d5603652b2e718
Author: Aleksei Vetrov <vetaleha at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
A llvm/test/MC/ELF/debug-hash-file-empty-dwarf.s
Log Message:
-----------
[MC] Fix DWARF file table for files with empty DWARF (#119020) (#119229)
Update root file in DWARF file/line table as soon as we see the first
"#line" directive.
This was moved from "enabledGenDwarfForAssembly", which is called right
before we emit DWARF information. But if the file is empty or contains
expressions that doesn't need DWARF, it is never called, leaving an
original root file and not the file in the "#line" directive.
Add a test checking for this case.
Fixes: #119020
Commit: c5a21c115856298fcc04f343f573965da7b14af4
https://github.com/llvm/llvm-project/commit/c5a21c115856298fcc04f343f573965da7b14af4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/concat-boolmasks.ll
Log Message:
-----------
[PhaseOrdering][X86] Add test coverage based off #111431
Add tests for the concatenation of boolean vectors bitcast to integers - similar to the MOVMSK pattern.
Commit: d6590c1bcb1b15b3b3f9f0ee6f0a6ff2b10b1e4f
https://github.com/llvm/llvm-project/commit/d6590c1bcb1b15b3b3f9f0ee6f0a6ff2b10b1e4f
Author: Zhuoran Yin <zhuoryin at amd.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
A mlir/test/Dialect/Linalg/transform-tile-and-fuse-pack-unpack.mlir
Log Message:
-----------
[MLIR] Add allow Insert/extract slice option to pack/unpack op (#117340)
This PR adds default option below. The new options will come as default
to true and not change the original lowering behavior of pack and unpack
op.
- lowerPadLikeWithInsertSlice to packOp (with default = true)
- lowerUnpadLikeWithExtractSlice to unPackOp (with default = true)
The motivation of the PR is finer granular control of the lowering of
pack and unpack Ops. This is useful in particular when we want to
guarantee that there's no additional insertslice and extractslice that
interfere with tiling. With the original lowering pipeline, packOp and
unPackOp may be lowered to insertslice and extractslice when the high
dimensions are unit dimensions and no transpose is invovled. Under such
circumstances, such insert and extract slice ops will block
producer/consumer fusion tile + fuse transforms. With this PR, we will
be able to disable such lowering path and allow consumer fusion to go
through as expected.
Commit: 1a650fde4a885420c6f2991b41039c4b16ff42e1
https://github.com/llvm/llvm-project/commit/1a650fde4a885420c6f2991b41039c4b16ff42e1
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Core/Section.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Target/Target.cpp
A lldb/test/API/functionalities/data-formatter/embedded-summary/Makefile
A lldb/test/API/functionalities/data-formatter/embedded-summary/TestEmbeddedTypeSummary.py
A lldb/test/API/functionalities/data-formatter/embedded-summary/main.c
Log Message:
-----------
[lldb] Load embedded type summary section (#7859) (#8040)
Add support for type summaries embedded into the binary.
These embedded summaries will typically be generated by Swift macros,
but can also be generated by any other means.
rdar://115184658
Commit: 9a9c1d4a6155a96ce9be494cec7e25731d36b33e
https://github.com/llvm/llvm-project/commit/9a9c1d4a6155a96ce9be494cec7e25731d36b33e
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
A lldb/include/lldb/DataFormatters/FormatterSection.h
M lldb/include/lldb/DataFormatters/FormattersHelpers.h
M lldb/include/lldb/DataFormatters/TypeSummary.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/API/SBTypeSummary.cpp
M lldb/source/Core/Section.cpp
M lldb/source/DataFormatters/CMakeLists.txt
A lldb/source/DataFormatters/FormatterBytecode.cpp
A lldb/source/DataFormatters/FormatterBytecode.def
A lldb/source/DataFormatters/FormatterBytecode.h
A lldb/source/DataFormatters/FormatterSection.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Target/Target.cpp
A lldb/test/API/functionalities/data-formatter/bytecode-summary/Makefile
A lldb/test/API/functionalities/data-formatter/bytecode-summary/TestBytecodeSummary.py
A lldb/test/API/functionalities/data-formatter/bytecode-summary/main.cpp
M lldb/unittests/DataFormatter/CMakeLists.txt
A lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
Log Message:
-----------
[lldb] Implement a formatter bytecode interpreter in C++
Compared to the python version, this also does type checking and error
handling, so it's slightly longer, however, it's still comfortably
under 500 lines.
Commit: e2bb47443d2e5c022c7851dd6029e3869fc8835c
https://github.com/llvm/llvm-project/commit/e2bb47443d2e5c022c7851dd6029e3869fc8835c
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M lldb/test/API/functionalities/data-formatter/bytecode-summary/main.cpp
Log Message:
-----------
[lldb] Add comment
Commit: 15f87bc10ceca346d22b475134c8b7db7c324dc6
https://github.com/llvm/llvm-project/commit/15f87bc10ceca346d22b475134c8b7db7c324dc6
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
Log Message:
-----------
[NFC][AMDGPU] Auto generate check lines for `llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll`
Commit: 13539c219c49c581d6ba5270d09b19da9b1e3975
https://github.com/llvm/llvm-project/commit/13539c219c49c581d6ba5270d09b19da9b1e3975
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
Log Message:
-----------
[RISCV][GISEl] Simplify GISelPredicateCode for binop_with_non_imm12. NFC
MRI is already available where this is instantiated.
Commit: a42aa8f265372a15d31a2af10b548fc239ed4b51
https://github.com/llvm/llvm-project/commit/a42aa8f265372a15d31a2af10b548fc239ed4b51
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/full-match-with-poison-scalar.ll
Log Message:
-----------
[SLP]Fix adjusting of the mask for the fully matched nodes.
When checking for the poison elements in the matches node, need to
consider the register number, when clearing the corresponding mask
element.
Fixes #119393
Commit: 0469bb91aa82b331052d314de53546548e6eb060
https://github.com/llvm/llvm-project/commit/0469bb91aa82b331052d314de53546548e6eb060
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
Log Message:
-----------
[flang][cuda] Fix lowering when step is a variable (#119421)
Add missing conversion.
Commit: 0be33484853557bc0fd9dfb94e0b6c15dda136ce
https://github.com/llvm/llvm-project/commit/0be33484853557bc0fd9dfb94e0b6c15dda136ce
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M lldb/source/DataFormatters/FormatterSection.cpp
Log Message:
-----------
[lldb] Improve log message to include missing strings
Commit: ebe741fad07e3fda388d0fa44f256a07429cce6a
https://github.com/llvm/llvm-project/commit/ebe741fad07e3fda388d0fa44f256a07429cce6a
Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Log Message:
-----------
[DSE] Enable initializes improvement (#119116)
Tested with an internal search backend loadtest.
With `-ftrivial-auto-var-init`, this work has a 0.2%-0.3% total QPS
improvement.
Note that, the metric is total QPS instead of cpu-time, even 1%
improvement means a lot.
- Add the "initializes" attr:
https://github.com/llvm/llvm-project/pull/97373
- Apply the attr to DSE:
https://github.com/llvm/llvm-project/pull/107282
Commit: d300337e93da4ed96b044557e4b0a30001967cf0
https://github.com/llvm/llvm-project/commit/d300337e93da4ed96b044557e4b0a30001967cf0
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M lldb/source/DataFormatters/FormatterBytecode.cpp
Log Message:
-----------
[lldb] Add cast to fix compile error on 32-but platforms
Commit: 1a5e18a492481ff48ca764c8f7d08d231d922382
https://github.com/llvm/llvm-project/commit/1a5e18a492481ff48ca764c8f7d08d231d922382
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
M llvm/lib/IR/AsmWriter.cpp
M llvm/unittests/IR/TypesTest.cpp
Log Message:
-----------
[HLSL] Do not print details in IR for target extension types (#115971)
This PR changes how target extension types are printed when they are
emitted as IR.
This prevents repetitive phrases like "struct = type {...}" from being
repeated over and over in the outputted IR.
Additionally, it should allow opt to not crash when parsing the DXIL
output.
Fixes [#114131](https://github.com/llvm/llvm-project/issues/114131)
Commit: 6106422ddbae0609be9582e65e750bb0bc741b3c
https://github.com/llvm/llvm-project/commit/6106422ddbae0609be9582e65e750bb0bc741b3c
Author: David Green <david.green at arm.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
A llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[SROA] Escaping readonly nocapture tests. NFC
Commit: 1bf1e5f4595437566655cf85ccb503ee6e00db2c
https://github.com/llvm/llvm-project/commit/1bf1e5f4595437566655cf85ccb503ee6e00db2c
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
R libc/docs/header_gen_scheme.svg
Log Message:
-----------
[libc] remove old hdrgen diagram (#119424)
FWICT, it was unused even before #117220.
Link: #117220
Commit: d1d5fc381f0930cf1190367dd6b2e0736c341071
https://github.com/llvm/llvm-project/commit/d1d5fc381f0930cf1190367dd6b2e0736c341071
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
Log Message:
-----------
[libc] fix up strings.h entrypoints (#119417)
I typo'd riscv, and the newly added baremetal aarch64 entrypoints had a mid air
collision.
Link: #118691
Link: #118899
Commit: faebeddac078f647f74a318fb2fbd2e7962cd493
https://github.com/llvm/llvm-project/commit/faebeddac078f647f74a318fb2fbd2e7962cd493
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/DataFormatters/BUILD.gn
Log Message:
-----------
[gn build] Port 9a9c1d4a6155
Commit: f6012a209dca6b1866d00e6b4f96279469884320
https://github.com/llvm/llvm-project/commit/f6012a209dca6b1866d00e6b4f96279469884320
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M lldb/source/DataFormatters/FormatterBytecode.cpp
Log Message:
-----------
[lldb] Add cast to fix compile error on 32-bit platforms
Commit: 806a936b36553f284c2c68e67fd60abc75b200e6
https://github.com/llvm/llvm-project/commit/806a936b36553f284c2c68e67fd60abc75b200e6
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
Log Message:
-----------
[PowerPC] Fix a warning
This patch fixes:
llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp:293:23: error: unused
variable 'NewFMAInt' [-Werror,-Wunused-variable]
Commit: dc04d414df9c243bb90d7cfc683a632a2c032c62
https://github.com/llvm/llvm-project/commit/dc04d414df9c243bb90d7cfc683a632a2c032c62
Author: anoopkg6 <anoop.kumar6 at ibm.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/SystemZ/builtin-setjmp-logjmp.c
M llvm/docs/ExceptionHandling.rst
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
A llvm/test/CodeGen/SystemZ/builtin-longjmp.ll
A llvm/test/CodeGen/SystemZ/builtin-setjmp-alloca.ll
A llvm/test/CodeGen/SystemZ/builtin-setjmp-spills.ll
A llvm/test/CodeGen/SystemZ/builtin-setjmp.ll
Log Message:
-----------
SystemZ: Add support for __builtin_setjmp and __builtin_longjmp. (#119257)
This pr includes fixes for original pr##116642.
Implementation for __builtin_setjmp and __builtin_longjmp for SystemZ..
Commit: ff42a9012ae8c99b85a2f44e48daa06ba998f265
https://github.com/llvm/llvm-project/commit/ff42a9012ae8c99b85a2f44e48daa06ba998f265
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update sanitizers maintainers (#119165)
Commit: 9c509a0c6a5184d7ce32e7f15c1241fac9eac1ef
https://github.com/llvm/llvm-project/commit/9c509a0c6a5184d7ce32e7f15c1241fac9eac1ef
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M compiler-rt/Maintainers.txt
Log Message:
-----------
[compiler-rt] Update maintainers (#119166)
Commit: 3376bad13216da8950bcdeb564df26d5ce4c12bc
https://github.com/llvm/llvm-project/commit/3376bad13216da8950bcdeb564df26d5ce4c12bc
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
Eliminate duplicate call in Clang driver (NFC)
The only difference is the usage of `JobAction* JA` versus `Action* A`
in one argument, but `JA = cast<JobAction>(A)`, and the called function
is inherited from `Action`.
Commit: 4c04bf81163459404dd3b444ab462ed07e71771a
https://github.com/llvm/llvm-project/commit/4c04bf81163459404dd3b444ab462ed07e71771a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
A compiler-rt/Maintainers.md
R compiler-rt/Maintainers.txt
M llvm/Maintainers.md
Log Message:
-----------
[compiler-rt] Convert Maintainers.txt into Maintainers.md (#119169)
Structured similarly to llvm/Maintainers.md.
PR has no intent to change any component maintenter.
Commit: b347b477858b10cf63f3e1455fe2592e91076b86
https://github.com/llvm/llvm-project/commit/b347b477858b10cf63f3e1455fe2592e91076b86
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[llvm] Fix a few new lines in Maintainers
Commit: e0f3410be9ae7e62a4ec7c3676e46afc81120dbb
https://github.com/llvm/llvm-project/commit/e0f3410be9ae7e62a4ec7c3676e46afc81120dbb
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M compiler-rt/Maintainers.md
Log Message:
-----------
[compiler-rt] Fix a few new lines in Maintaners.md
Commit: ffb19f4018e38ba7ff034b78914d5a8d2890a603
https://github.com/llvm/llvm-project/commit/ffb19f4018e38ba7ff034b78914d5a8d2890a603
Author: David Olsen <dolsen at nvidia.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
A clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
A clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
Log Message:
-----------
[CIR] Infrastructure: class CIRGenBuilderTy; cache CIR types (#119037)
Small infrastructure and background changes to ClangIR.
Create class `CIRGenBuilderTy` and its base class `CIRBaseBuilderTy`.
These are mostly empty for now, except for what is inherited from
`mlir::OpBuilder`. But they will fill up quickly as more ClangIR code
gen is upstreamed. `CIRGenModule` and `CIRGenTypes` are changed to use
`CIRGenBuilderTy`.
Add cached types to struct `CIRGenTypeCache` for the integral types that
are currently supported. Initialize those cached types in the
`CIRGenModule` constructor. The first uses of those types (well, one of
them) is in `CIRGenTypes::convertType`.
Have `CIRGenTypes::convertType` cache its results in a map from
`clang::Type` to `mlir::Type`, saving it from having to convert the same
type again and again.
There are no new tests or changed tests in this commit. There are no
changes to behavior, just improvements to how the existing behavior is
implemented.
Commit: e9866d5d149706eac26f45bf0cab933c51d6d1cd
https://github.com/llvm/llvm-project/commit/e9866d5d149706eac26f45bf0cab933c51d6d1cd
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
Log Message:
-----------
[flang][cuda] Fix GPULaunchKernelConversion to generate correct kernel launch parameters (#119431)
For the call to _FortranACUFLaunchKernel, we store the pointer to a
member of a temporary structure in a parameter array. However, when we
obtain an element pointer from the parameter array, its address is
calculated based on the type of the structure. This PR properly treats
the parameter array as an array of pointers.
Example:
```mlir
%30 = llvm.load %29 : !llvm.ptr -> i32
%31 = llvm.mlir.constant(1 : i32) : i32
%32 = llvm.alloca %31 x !llvm.struct<(i64, i64, i32, ptr)> : (i32) -> !llvm.ptr
%33 = llvm.mlir.constant(4 : i32) : i32
%34 = llvm.alloca %33 x !llvm.ptr : (i32) -> !llvm.ptr
%35 = llvm.mlir.constant(0 : i32) : i32
%36 = llvm.getelementptr %32[%35] : (!llvm.ptr, i32) -> !llvm.ptr, !llvm.struct<(i64, i64, i32, ptr)>
llvm.store %8, %36 : i64, !llvm.ptr
%37 = llvm.getelementptr %34[%35] : (!llvm.ptr, i32) -> !llvm.ptr, !llvm.struct<(i64, i64, i32, ptr)>
llvm.store %36, %37 : !llvm.ptr, !llvm.ptr
...
llvm.call @_FortranACUFLaunchKernel(%47, %8, %8, %8, %2, %8, %8, %7, %34, %48) : (!llvm.ptr, i64, i64, i64, i64, i64, i64, i32, !llvm.ptr, !llvm.ptr) -> ()
```
In this example, `%37 = llvm.getelementptr %34[%35] : (!llvm.ptr, i32)
-> !llvm.ptr, !llvm.struct<(i64, i64, i32, ptr)>` will be `%37 =
llvm.getelementptr %34[%35] : (!llvm.ptr, i32) -> !llvm.ptr, !llvm.ptr`.
Commit: 24162bdaf74fcfa5d9494f4059f899980c979ee9
https://github.com/llvm/llvm-project/commit/24162bdaf74fcfa5d9494f4059f899980c979ee9
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
Log Message:
-----------
[libc][workflows] fix pre-commit fullbuild dependency problem (#119441)
- fix the issue where `linux-headers-generic` cannot be installed
Commit: 68ea7c7e8d6094f4914453e416a0352e70b351b6
https://github.com/llvm/llvm-project/commit/68ea7c7e8d6094f4914453e416a0352e70b351b6
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
Log Message:
-----------
[test][AArch64] Fix test in non-writeable dir (#119448)
cc1a2ea61e3f8e790125b10d9ec4e7d179156ddf adds a test which can fail if
the output directory is not writeable. Following the pattern of other
tests in this package, use `-o -` to print the IR to stdout instead of
to a file.
Commit: 1d0ca626d85305aed082b8245fe82ccdd42948be
https://github.com/llvm/llvm-project/commit/1d0ca626d85305aed082b8245fe82ccdd42948be
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
A utils/bazel/llvm-project-overlay/libc/test/src/strings/BUILD.bazel
Log Message:
-----------
[bazel] fix libc build (#119433)
Due to moving strings out of string.
Link: #118899
Commit: dc5236e6b12a00673736a21951d32a709dc25248
https://github.com/llvm/llvm-project/commit/dc5236e6b12a00673736a21951d32a709dc25248
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
Log Message:
-----------
[flang][cuda] Update target rewrite to work on gpu.func (#119283)
Update the pass so it can perform the signature rewrite on gpu.func.
Commit: c835b48a4d72227b174bcd86f071238a1583803a
https://github.com/llvm/llvm-project/commit/c835b48a4d72227b174bcd86f071238a1583803a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/stack-clash-prologue-nounwind.ll
Log Message:
-----------
[RISCV] Compute liveins for new basic blocks in emitStackProbeInline.
Fixes expensive check failures from #117612.
Commit: f3c675feece7dcb72d63063ea6f4ee93137920d3
https://github.com/llvm/llvm-project/commit/f3c675feece7dcb72d63063ea6f4ee93137920d3
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Port 9a9c1d4a6155a96ce9be494cec7e25731d36b33e (#119456)
Commit: 04269ea0e40abb3c5aa0c96adde65c72195cbb6e
https://github.com/llvm/llvm-project/commit/04269ea0e40abb3c5aa0c96adde65c72195cbb6e
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
A llvm/test/LTO/AMDGPU/closed-world-assumption.ll
Log Message:
-----------
[AMDGPU] Re-enable closed-world assumption as an opt-in feature (#115371)
Although the ABI (if one exists) doesn’t explicitly prohibit
cross-code-object function calls—particularly since our loader can
handle them—such calls are not actually allowed in any of the officially
supported programming models. However, this limitation has some nuances.
For instance, the loader can handle cross-code-object global variables,
which complicates the situation further.
Given this complexity, assuming a closed-world model at link time isn’t
always safe. To address this, this PR introduces an option that enables
this assumption, providing end users the flexibility to enable it for
improved compiler optimizations. However, it is the user’s
responsibility to ensure they do not violate this assumption.
Commit: 02e39a13c35722c7f3c7f7f547c3dcb15611187f
https://github.com/llvm/llvm-project/commit/02e39a13c35722c7f3c7f7f547c3dcb15611187f
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M libc/docs/headers/index.rst
A libc/docs/headers/inttypes.rst
A libc/docs/headers/stdlib.rst
A libc/docs/headers/string.rst
M libc/docs/headers/strings.rst
A libc/utils/docgen/inttypes.json
A libc/utils/docgen/stdlib.json
A libc/utils/docgen/string.json
A libc/utils/docgen/strings.json
Log Message:
-----------
[libc][docs] split "String Functions" into string.h, strings.h, stdlib.h, and inttypes.h (#118860)
bcmp, bcopy, and bzero should be moved from libc/src/string/ to
lib/src/strings/ in order for docgen to use existing conventions to find
whether we implement a function or not.
We should add support to docgen for mentioning glibc extensions (mempcpy) or
extensions from other libcs.
Commit: b2cc66b4f21b2efa7cc478fdbf9a39bd2dacb453
https://github.com/llvm/llvm-project/commit/b2cc66b4f21b2efa7cc478fdbf9a39bd2dacb453
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bzl][mlir][mlir-vulkan-runner] Add vulkan deps (#119457)
9735873009ca86b03c3283d06edd1b3a190d4af9
Commit: 5877e5bd127228d52717204c64f1d2e604c0364a
https://github.com/llvm/llvm-project/commit/5877e5bd127228d52717204c64f1d2e604c0364a
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M utils/bazel/.bazelrc
M utils/bazel/.bazelversion
M utils/bazel/WORKSPACE
Log Message:
-----------
[bazel] update .bazelversion to 8.0.0 (#119425)
Fixes:
ERROR: The project you're trying to build requires Bazel 7.3.0
(specified
in llvm-project/utils/bazel/.bazelversion), but it wasn't found in
/usr/bin.
You can install the required Bazel version via apt:
sudo apt update && sudo apt install bazel-7.3.0
If this doesn't work, check Bazel's installation instructions for help:
https://bazel.build/install/ubuntu
Link: https://blog.bazel.build/2024/12/09/bazel-8-release.html
Commit: 8c19c24a784739cde4930c9e809e6d95b7047555
https://github.com/llvm/llvm-project/commit/8c19c24a784739cde4930c9e809e6d95b7047555
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Passes/Pipelines.cpp
Log Message:
-----------
[flang][cuda][NFC] Add missing template declaration (#119443)
Commit: 968e3b682362e46042a718036ea7a641909b6375
https://github.com/llvm/llvm-project/commit/968e3b682362e46042a718036ea7a641909b6375
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M compiler-rt/lib/memprof/memprof_allocator.cpp
M compiler-rt/lib/memprof/memprof_flags.inc
A compiler-rt/test/memprof/TestCases/dump_at_exit.cpp
Log Message:
-----------
[memprof] Add flag to control profile dump at exit (#119452)
Add the `dump_at_exit` flag to control whether or not profiles should be
dumped when the program exits. Since we can call
`__memprof_profile_dump()` directly, we don't necessarily need to dump
profiles at exit.
Commit: 951a284fdff43f9b3aa2d2dbb2d01bbce3ab0673
https://github.com/llvm/llvm-project/commit/951a284fdff43f9b3aa2d2dbb2d01bbce3ab0673
Author: Zhengxing li <zhengxingli at microsoft.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/semantics/SV_GroupThreadID.hlsl
M clang/test/SemaHLSL/Semantics/entry_parameter.hlsl
M clang/test/SemaHLSL/Semantics/invalid_entry_parameter.hlsl
M clang/test/SemaHLSL/Semantics/valid_entry_parameter.hlsl
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupThreadID.ll
Log Message:
-----------
[HLSL] Implement SV_GroupThreadId semantic (#117781)
Support HLSL SV_GroupThreadId attribute.
For `directx` target, translate it into `dx.thread.id.in.group` in clang
codeGen and lower `dx.thread.id.in.group` to `dx.op.threadIdInGroup` in
LLVM DirectX backend.
For `spir-v` target, translate it into `spv.thread.id.in.group` in clang
codeGen and lower `spv.thread.id.in.group` to a `LocalInvocationId`
builtin variable in LLVM SPIR-V backend.
Fixes: #70122
Commit: 4dac0dff086090d071fc3ef60d7458b3d6cfde60
https://github.com/llvm/llvm-project/commit/4dac0dff086090d071fc3ef60d7458b3d6cfde60
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M lld/ELF/OutputSections.cpp
M lld/test/ELF/linkerscript/section-class.test
Log Message:
-----------
[LLD][ELF] Fix SHF_MERGE misalignment when spilled (#119289)
Section merging can increase section alignment after potential spill
sections are created. Since this operation is never performed on spill
sections, they can keep their earlier, smaller, alignment, which
produces a misalignment if a spill occurs.
This change propagates alignment increases forward after merging.
Commit: 7eb73b95cb336cde14d5c755a09cd880bd3d5df9
https://github.com/llvm/llvm-project/commit/7eb73b95cb336cde14d5c755a09cd880bd3d5df9
Author: David Olsen <dolsen at nvidia.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/include/clang/CIR/CIRGenerator.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
Log Message:
-----------
[CIR] Cleanup: mlirContext and astContext (#119450)
ClangIR CodeGen code uses both `mlir::MLIRContext` and
`clang::ASTContext` objects extensively. Refering to either of those as
just "context" can be confusing.
Change the names of all variables, parameters, and fields in
`clang/lib/CIR/CodeGen` that refer to `MLIRContext` or an `ASTContext`
to be either `mlirContext` or `astContext`.
This change is only the renaming of variables/parameters/fields. There
are no behavior changes. So there are no new tests or changes to
existing tests. This change mimics a recent change in the ClangIR
incubator repository.
Commit: 9bb29c3dc19aad6d89fc4bfc488479d8b74ee4ff
https://github.com/llvm/llvm-project/commit/9bb29c3dc19aad6d89fc4bfc488479d8b74ee4ff
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
Log Message:
-----------
[RISCV][VLOPT] Add support for bitwise logical, single width shift, and vector move (#119412)
Add support and tests for these instructions. Get operand info test
exist in llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Commit: e7e42ef116194f987672b3ed38ddbbfc0150b563
https://github.com/llvm/llvm-project/commit/e7e42ef116194f987672b3ed38ddbbfc0150b563
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
Log Message:
-----------
[NFC] Cleanup comments in HLSLExternalSemaSource.cpp (#119444)
Cleaning up some comments that @bogner pointed out were unpolished.
Commit: 5a930339a5330dbab23d9eac28a609df9aa9c3fc
https://github.com/llvm/llvm-project/commit/5a930339a5330dbab23d9eac28a609df9aa9c3fc
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/list.h
Log Message:
-----------
[scudo] Minor refactor on element address validation (NFC) (#119436)
Commit: 850c932f058ee0c8a3b31393cf485c15b0cdb74e
https://github.com/llvm/llvm-project/commit/850c932f058ee0c8a3b31393cf485c15b0cdb74e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
Log Message:
-----------
[flang][cuda] Walk through cuf kernel for implicit globals (#119455)
Globals used in cuf kernel need to be flagged as well.
Commit: bedbafff2d459811808b6fa0c75de3ae8a56e7f0
https://github.com/llvm/llvm-project/commit/bedbafff2d459811808b6fa0c75de3ae8a56e7f0
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M utils/bazel/.bazelrc
Log Message:
-----------
[bazel] Fix lit tests with bazel 8.x (#119462)
https://github.com/llvm/llvm-project/issues/83066
Commit: 5d0957fc23b88ec6d3b743eb2b9ad060e528913d
https://github.com/llvm/llvm-project/commit/5d0957fc23b88ec6d3b743eb2b9ad060e528913d
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/lit_test.bzl
Log Message:
-----------
[bazel] Allow overriding py_test rule for lit_test (#119460)
This allows replacing this implementation with another one, such as the
one from aspect_rules_py
Commit: 8c3a8c2619122488812cf050a903314f466b07fb
https://github.com/llvm/llvm-project/commit/8c3a8c2619122488812cf050a903314f466b07fb
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/strings/BUILD.bazel
Log Message:
-----------
[bazel][libc] fix typo in comment
Link: #119433
Commit: cf27e8ea04c39a0f20d465563241bdf2872f2bd7
https://github.com/llvm/llvm-project/commit/cf27e8ea04c39a0f20d465563241bdf2872f2bd7
Author: arthurqiu <arthurq at nvidia.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M mlir/lib/Conversion/GPUToNVVM/CMakeLists.txt
Log Message:
-----------
[mlir][LLVM] Fix missing MLIRNVGPUDialect dependency for MLIRGPUToNVVMTransforms (#119306)
This patch adds the missing MLIRNVGPUDialect dependency for
MLIRGPUToNVVMTransforms, which comes from
[LowerGpuOpsToNVVMOps.cpp](https://github.com/llvm/llvm-project/blob/7498eaa9abf2e4ac0c10fa9a02576d708cc1b624/mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp#L34)
Commit: a2fb70523ac310af6d8a4d9663dfe7c9cd370c53
https://github.com/llvm/llvm-project/commit/a2fb70523ac310af6d8a4d9663dfe7c9cd370c53
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
R lldb/include/lldb/DataFormatters/FormatterSection.h
M lldb/include/lldb/DataFormatters/FormattersHelpers.h
M lldb/include/lldb/DataFormatters/TypeSummary.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/API/SBTypeSummary.cpp
M lldb/source/Core/Section.cpp
M lldb/source/DataFormatters/CMakeLists.txt
R lldb/source/DataFormatters/FormatterBytecode.cpp
R lldb/source/DataFormatters/FormatterBytecode.def
R lldb/source/DataFormatters/FormatterBytecode.h
R lldb/source/DataFormatters/FormatterSection.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Target/Target.cpp
R lldb/test/API/functionalities/data-formatter/bytecode-summary/Makefile
R lldb/test/API/functionalities/data-formatter/bytecode-summary/TestBytecodeSummary.py
R lldb/test/API/functionalities/data-formatter/bytecode-summary/main.cpp
M lldb/unittests/DataFormatter/CMakeLists.txt
R lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
Log Message:
-----------
Revert "[lldb] Add cast to fix compile error on 32-bit platforms"
This reverts commit f6012a209dca6b1866d00e6b4f96279469884320.
Revert "[lldb] Add cast to fix compile error on 32-but platforms"
This reverts commit d300337e93da4ed96b044557e4b0a30001967cf0.
Revert "[lldb] Improve log message to include missing strings"
This reverts commit 0be33484853557bc0fd9dfb94e0b6c15dda136ce.
Revert "[lldb] Add comment"
This reverts commit e2bb47443d2e5c022c7851dd6029e3869fc8835c.
Revert "[lldb] Implement a formatter bytecode interpreter in C++"
This reverts commit 9a9c1d4a6155a96ce9be494cec7e25731d36b33e.
Commit: cafb6b99bb2314c53683870e4130633fff25360a
https://github.com/llvm/llvm-project/commit/cafb6b99bb2314c53683870e4130633fff25360a
Author: vporpo <vporpodas at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Update MemDGNode chain upon instr deletion (#118921)
Commit: 67bd04facf48206c1e3a4c2664c2240e787bd6af
https://github.com/llvm/llvm-project/commit/67bd04facf48206c1e3a4c2664c2240e787bd6af
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/ubsan-trap-merge.c
M clang/test/CodeGenCXX/catch-undef-behavior.cpp
Log Message:
-----------
[ubsan] Don't merge non-trap handlers if -ubsan-unique-traps or not optimized (#119302)
UBSan handler calls are sometimes merged by the backend, which complicates debugging. Merging is currently disabled for UBSan traps if -ubsan-unique-traps is specified or if optimization is disabled. This patch applies the same policy to non-trap handler calls.
N.B. "-ubsan-unique-traps" becomes somewhat of a misnomer since it will now apply to non-trap handler calls as well as traps; nonetheless, we keep the naming for backwards compatibility.
Commit: c4873819a98f59ce4e2664f94c73c2dfec3393f8
https://github.com/llvm/llvm-project/commit/c4873819a98f59ce4e2664f94c73c2dfec3393f8
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
CodeGen: Eliminate dynamic relocations in the register superclass tables. (#119122)
Commit: 4027e2f248044d944aaf3d9bc9c8eb6928506d44
https://github.com/llvm/llvm-project/commit/4027e2f248044d944aaf3d9bc9c8eb6928506d44
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
A llvm/test/Transforms/Inline/promote-call-bitwidth.ll
Log Message:
-----------
CallPromotionUtils: Correctly use IndexSize when determining the bit width of pointer offsets. (#119138)
Co-authored-by: Alexander Richardson <alexander.richardson at cl.cam.ac.uk>
Commit: 377d1f0a6b862183b25701cc765fca7f84ea8e32
https://github.com/llvm/llvm-project/commit/377d1f0a6b862183b25701cc765fca7f84ea8e32
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
UncountedLocalVarsChecker and UncheckedLocalVarsChecker should recognize signletons. (#119339)
It's safe to have a raw pointer or a raw reference to a singleton
object. Explicitly allow this in UncountedLocalVarsChecker and
UncheckedLocalVarsChecker.
Commit: 609899f443223ccc977c25293931067e73ad76db
https://github.com/llvm/llvm-project/commit/609899f443223ccc977c25293931067e73ad76db
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
Log Message:
-----------
[flang][cuda] Avoid stack corruption when setting kernel launch parameters (#119469)
In order to get the pointer to a structure member, `getelementptr`
typically requires two indices: one to indicate the structure itself,
and another to specify the member's position. We are missing the former
in `GPULaunchKernelConversion`, so generated code may cause stack
corruption. This PR corrects the indices of a structure used as a kernel
launch temp.
Commit: 9b6bb8386001a1d308cda42fe273733e58b8e93e
https://github.com/llvm/llvm-project/commit/9b6bb8386001a1d308cda42fe273733e58b8e93e
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
R llvm/test/Transforms/Inline/promote-call-bitwidth.ll
Log Message:
-----------
Revert "CallPromotionUtils: Correctly use IndexSize when determining the bit width of pointer offsets. (#119138)"
Reverting due to ASAN bootstrap failures.
This reverts commit 4027e2f248044d944aaf3d9bc9c8eb6928506d44.
Commit: 918d4558b0bad366ecadd411ed48cf64728c68d7
https://github.com/llvm/llvm-project/commit/918d4558b0bad366ecadd411ed48cf64728c68d7
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
M llvm/include/llvm/Demangle/ItaniumDemangle.h
Log Message:
-----------
[libc++abi] Enable demangling of `cp` expression production (#114882)
See itanium-cxx-abi/cxx-abi#196
Commit: 87659a17d0703c1244211d9f8d1f0c21e816f0e1
https://github.com/llvm/llvm-project/commit/87659a17d0703c1244211d9f8d1f0c21e816f0e1
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
A lldb/include/lldb/DataFormatters/FormatterSection.h
M lldb/include/lldb/DataFormatters/FormattersHelpers.h
M lldb/include/lldb/DataFormatters/TypeSummary.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/API/SBTypeSummary.cpp
M lldb/source/Core/Section.cpp
M lldb/source/DataFormatters/CMakeLists.txt
A lldb/source/DataFormatters/FormatterBytecode.cpp
A lldb/source/DataFormatters/FormatterBytecode.def
A lldb/source/DataFormatters/FormatterBytecode.h
A lldb/source/DataFormatters/FormatterSection.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Target/Target.cpp
A lldb/test/API/functionalities/data-formatter/bytecode-summary/Makefile
A lldb/test/API/functionalities/data-formatter/bytecode-summary/TestBytecodeSummary.py
A lldb/test/API/functionalities/data-formatter/bytecode-summary/main.cpp
M lldb/unittests/DataFormatter/CMakeLists.txt
A lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
Log Message:
-----------
Reland: [lldb] Implement a formatter bytecode interpreter in C++
Compared to the python version, this also does type checking and error
handling, so it's slightly longer, however, it's still comfortably
under 500 lines.
Relanding with more explicit type conversions.
Commit: e940353fd2ac9817d3506744b309d857e76c0afa
https://github.com/llvm/llvm-project/commit/e940353fd2ac9817d3506744b309d857e76c0afa
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
Revert "CodeGen: Eliminate dynamic relocations in the register superclass tables. (#119122)"
Reverting due to UBSan failures in X86RegisterInfo::getLargestLegalSuperClass
This reverts commit c4873819a98f59ce4e2664f94c73c2dfec3393f8.
Commit: 54ca1c4212e7ff3df880adb1a04dc3d41c033681
https://github.com/llvm/llvm-project/commit/54ca1c4212e7ff3df880adb1a04dc3d41c033681
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix idempotent format of hash in macro body (#118513)
Fixes #118334.
Commit: bdd82d51563717f2d8e6662ab075856b52330971
https://github.com/llvm/llvm-project/commit/bdd82d51563717f2d8e6662ab075856b52330971
Author: Amara Emerson <amara at apple.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
Log Message:
-----------
[GlobalISel] Convert unary propagate_undef_any_op opcodes to use new match syntax. NFC. (#119475)
Commit: 1593f36935edc97bede71bd1d722edf83eaf16a4
https://github.com/llvm/llvm-project/commit/1593f36935edc97bede71bd1d722edf83eaf16a4
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M lldb/source/DataFormatters/FormatterBytecode.cpp
Log Message:
-----------
[lldb] Add explicit type conversion
Commit: c00a708fc954f450679bf0e171029f8da4841cfb
https://github.com/llvm/llvm-project/commit/c00a708fc954f450679bf0e171029f8da4841cfb
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M lldb/source/DataFormatters/FormatterBytecode.cpp
Log Message:
-----------
[lldb] Eliminate dead code (NFC)
Commit: 20e904950967c125abc1e91f57e5a373987ff016
https://github.com/llvm/llvm-project/commit/20e904950967c125abc1e91f57e5a373987ff016
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/CMakeLists.txt
A clang/lib/Serialization/TemplateArgumentHasher.cpp
A clang/lib/Serialization/TemplateArgumentHasher.h
M clang/test/Modules/cxx-templates.cpp
M clang/test/Modules/odr_hash.cpp
A clang/test/Modules/recursive-instantiations.cppm
M clang/test/OpenMP/target_parallel_ast_print.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/teams_ast_print.cpp
M clang/unittests/Serialization/CMakeLists.txt
A clang/unittests/Serialization/LoadSpecLazilyTest.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
Log Message:
-----------
[Serialization] Support loading template specializations lazily (#119333)
Reland https://github.com/llvm/llvm-project/pull/83237
---
(Original comments)
Currently all the specializations of a template (including
instantiation, specialization and partial specializations) will be
loaded at once if we want to instantiate another instance for the
template, or find instantiation for the template, or just want to
complete the redecl chain.
This means basically we need to load every specializations for the
template once the template declaration got loaded. This is bad since
when we load a specialization, we need to load all of its template
arguments. Then we have to deserialize a lot of unnecessary
declarations.
For example,
```
// M.cppm
export module M;
export template <class T>
class A {};
export class ShouldNotBeLoaded {};
export class Temp {
A<ShouldNotBeLoaded> AS;
};
// use.cpp
import M;
A<int> a;
```
We have a specialization ` A<ShouldNotBeLoaded>` in `M.cppm` and we
instantiate the template `A` in `use.cpp`. Then we will deserialize
`ShouldNotBeLoaded` surprisingly when compiling `use.cpp`. And this
patch tries to avoid that.
Given that the templates are heavily used in C++, this is a pain point
for the performance.
This patch adds MultiOnDiskHashTable for specializations in the
ASTReader. Then we will only deserialize the specializations with the
same template arguments. We made that by using ODRHash for the template
arguments as the key of the hash table.
To review this patch, I think `ASTReaderDecl::AddLazySpecializations`
may be a good entry point.
Commit: 7987f478be6d9550a6b897536139b4ca82ff03ec
https://github.com/llvm/llvm-project/commit/7987f478be6d9550a6b897536139b4ca82ff03ec
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Serialization/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Serialization/BUILD.gn
Log Message:
-----------
[gn build] Port 20e904950967
Commit: ea76b2d8d83d6885bf5707832cbc4b7655e21b08
https://github.com/llvm/llvm-project/commit/ea76b2d8d83d6885bf5707832cbc4b7655e21b08
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M clang/lib/Driver/XRayArgs.cpp
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/xray/CMakeLists.txt
M compiler-rt/lib/xray/xray_interface.cpp
A compiler-rt/lib/xray/xray_riscv.cpp
A compiler-rt/lib/xray/xray_trampoline_riscv32.S
A compiler-rt/lib/xray/xray_trampoline_riscv64.S
A compiler-rt/lib/xray/xray_trampoline_riscv_common.S
M compiler-rt/lib/xray/xray_tsc.h
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/XRay/InstrumentationMap.cpp
A llvm/test/CodeGen/RISCV/xray-attribute-instrumentation.ll
Log Message:
-----------
[XRay][RISCV] RISCV support for XRay (#117368)
Add RISC-V support for XRay. The RV64 implementation has been tested in
both QEMU and in our hardware environment.
Currently this requires D and C extensions, but since both RV64GC and
RVA22/RVA23 are becoming mainstream, I don't think this requirement will
be a big problem.
Based on the previous work by @a-poduval :
https://reviews.llvm.org/D117929
---------
Co-authored-by: Ashwin Poduval <ashwin.poduval at gmail.com>
Commit: b759020cc85d023583c948aa93905e38897b2c0a
https://github.com/llvm/llvm-project/commit/b759020cc85d023583c948aa93905e38897b2c0a
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
A llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
Log Message:
-----------
[LV][EVL] Support cast instruction with EVL-vectorization (#108351)
Commit: 51a0c1bf257697fc0b9676e121a73387a40ca6b7
https://github.com/llvm/llvm-project/commit/51a0c1bf257697fc0b9676e121a73387a40ca6b7
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/fix-113880.ll
Log Message:
-----------
[SLP] NFC. Replace TreeEntry::setOperandsInOrder with VLOperands. (#118949)
To reduce repeated code, TreeEntry::setOperandsInOrder will be replaced
by VLOperands.
Arg_size will be provided to make sure other operands will not be
reorderd when VL[0] is IntrinsicInst (because APO is a boolean value).
In addition, BoUpSLP::reorderInputsAccordingToOpcode will also be
removed since it is simple.
Commit: 4b3a878e8a24c13f8dc435e91304d8692d8cb42b
https://github.com/llvm/llvm-project/commit/4b3a878e8a24c13f8dc435e91304d8692d8cb42b
Author: Karthika Devi C <quic_kartc at quicinc.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M polly/lib/CodeGen/CodeGeneration.cpp
M polly/test/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
M polly/test/CodeGen/MemAccess/codegen_address_space.ll
M polly/test/CodeGen/MemAccess/create_arrays.ll
M polly/test/CodeGen/MemAccess/different_types.ll
M polly/test/CodeGen/MemAccess/generate-all.ll
M polly/test/CodeGen/OpenMP/alias-metadata.ll
M polly/test/CodeGen/OpenMP/new_multidim_access.ll
M polly/test/CodeGen/RuntimeDebugBuilder/combine_different_values.ll
M polly/test/CodeGen/annotated_alias_scopes.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-2.ll
M polly/test/CodeGen/non_affine_float_compare.ll
M polly/test/CodeGen/partial_write_array.ll
M polly/test/CodeGen/partial_write_impossible_restriction.ll
M polly/test/CodeGen/phi_loop_carried_float.ll
M polly/test/CodeGen/phi_loop_carried_float_escape.ll
M polly/test/CodeGen/scev-backedgetaken.ll
M polly/test/CodeGen/stmt_split_no_dependence.ll
M polly/test/ScopInfo/int2ptr_ptr2int.ll
M polly/test/ScopInfo/int2ptr_ptr2int_2.ll
Log Message:
-----------
[Polly] Disable vectorization for Polly's fallback loops (#119188)
The patch sets the vectorization metadata to false for Polly's fallback
loops. These are the loops executed when RTCs fail. This minimizes the
multiple loop versioning carried out by Polly and subsequently by the
Loop Vectorizer.
---------
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: 0d59fc276190f190ffb065060849af356ddf1359
https://github.com/llvm/llvm-project/commit/0d59fc276190f190ffb065060849af356ddf1359
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
R llvm/test/MC/ELF/debug-hash-file-empty-dwarf.s
Log Message:
-----------
Revert "[MC] Fix DWARF file table for files with empty DWARF (#119020)" (#119486)
Reverts llvm/llvm-project#119229
Causes debug info to be unconditionally emitted, regardless of whether
it's requested.
Commit: 10b1caf6b97d8c3ce54b94568cf9a0ca3c564a6f
https://github.com/llvm/llvm-project/commit/10b1caf6b97d8c3ce54b94568cf9a0ca3c564a6f
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRV.h
A llvm/lib/Target/SPIRV/SPIRVPassRegistry.def
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
A llvm/lib/Target/SPIRV/SPIRVStructurizerWrapper.h
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.h
Log Message:
-----------
[SPIRV][OPT] Adding flag to run spirv structurizer (#119301)
This PR adds a new flag into OPT to run SPIRV structurizer, this is
being added improving testing of such pass.
This change is required to implement a test request that come
https://github.com/llvm/llvm-project/pull/116331.
---------
Co-authored-by: Joao Saffran <jderezende at microsoft.com>
Commit: bc7449c790bab21d9e09c531ce07607fff5a7688
https://github.com/llvm/llvm-project/commit/bc7449c790bab21d9e09c531ce07607fff5a7688
Author: Luke Lau <luke at igalia.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
Log Message:
-----------
[RISCV] Adjust vrgather.vv test to avoid disjoint indices. NFC
This is to prevent it from being caught up in the lowering in #119401
Commit: 30ea0f0ce476bf4c12684a9a514af2ca660bbe44
https://github.com/llvm/llvm-project/commit/30ea0f0ce476bf4c12684a9a514af2ca660bbe44
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[NFC] [clang] [Serialization] Fix warning for narrowing cast
Commit: 79047fac65b95a5a98bde0de473da858e805576c
https://github.com/llvm/llvm-project/commit/79047fac65b95a5a98bde0de473da858e805576c
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/DomTreeUpdater.h
M llvm/include/llvm/Analysis/GenericDomTreeUpdater.h
M llvm/include/llvm/Analysis/GenericDomTreeUpdaterImpl.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineDomTreeUpdater.h
M llvm/include/llvm/CodeGen/MachineDominators.h
M llvm/include/llvm/CodeGen/MachineSSAContext.h
M llvm/lib/Analysis/DomTreeUpdater.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineDomTreeUpdater.cpp
M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
M llvm/lib/CodeGen/MachineDominators.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/MachineLoopInfo.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
M llvm/unittests/Analysis/DomTreeUpdaterTest.cpp
M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
Log Message:
-----------
[DomTreeUpdater] Move critical edge splitting code to updater (#115111)
Support critical edge splitting in dominator tree updater. Continue the
work in #100856.
Compile time check:
https://llvm-compile-time-tracker.com/compare.php?from=87c35d782795b54911b3e3a91a5b738d4d870e55&to=42b3e5623a9ab4c3648564dc0926b36f3b438a3a&stat=instructions%3Au
Commit: 77b6910b272c254ad7dd96420a7cc41d917b8a9e
https://github.com/llvm/llvm-project/commit/77b6910b272c254ad7dd96420a7cc41d917b8a9e
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
Log Message:
-----------
[Test] Fix the failed test of #108351 (#119495)
Commit: ab15976173e45fd02eb61e922a95ad1f5127c9a0
https://github.com/llvm/llvm-project/commit/ab15976173e45fd02eb61e922a95ad1f5127c9a0
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
A llvm/test/Transforms/Inline/promote-call-bitwidth.ll
Log Message:
-----------
CallPromotionUtils: Correctly use IndexSize when determining the bit width of pointer offsets. (#119483)
This reapplies #119138 with a defensive fix for the assertion failure
when building libcxx.
Unfortunately the failure does not reproduce on my machine, so I am not
able to extract a test case.
The key insight for the fix comes from Jessica Clarke, who observes that
`VTablePtr` may, in fact,
not be a pointer on return from `FindAvailableLoadedValue`.
Co-authored-by: Alexander Richardson <alexander.richardson at cl.cam.ac.uk>
Commit: 3146d57b646c869564669c3e074d6d4fc1ca7500
https://github.com/llvm/llvm-project/commit/3146d57b646c869564669c3e074d6d4fc1ca7500
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86][NFC] Hoist out `N->getOpcode()` used in ReplaceNodeResults (#119494)
Address comment from
https://github.com/llvm/llvm-project/pull/119391/files#r1878388699
Commit: 76b493128cb171455a1890f7bd2b54f32b7ec2a7
https://github.com/llvm/llvm-project/commit/76b493128cb171455a1890f7bd2b54f32b7ec2a7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/test/tools/llvm-profdata/memprof-yaml.test
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Accept a function name in YAML (#119453)
This patch does two things:
- During deserialization, we accept a function name as an alternative
to the usual GUID represented as a hexadecimal number.
- During serialization, we print a GUID as a 16-digit hexadecimal
number prefixed with 0x in the usual way. (Without this patch, we
print a decimal number, which is not customary.)
In YAML, the MemProf profile is a vector of pairs of GUID and
MemProfRecord. This patch accepts a function name for the GUID, but
it does not accept a function name for the GUID used in Frames yet.
That will be addressed in a subsequent patch.
Commit: acaa5fac499efea7a5d28406c78e4b816941cdf1
https://github.com/llvm/llvm-project/commit/acaa5fac499efea7a5d28406c78e4b816941cdf1
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
Log Message:
-----------
[clang-tidy][NFC] reorder cmake source file (#119374)
Commit: a4538cdcee75b78b7165dda05c9aa7718c4837c4
https://github.com/llvm/llvm-project/commit/a4538cdcee75b78b7165dda05c9aa7718c4837c4
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M libcxxabi/test/forced_unwind2.pass.cpp
Log Message:
-----------
[libc++abi] Don't leak in test (#119505)
Trying to re-enable a test on bots
https://github.com/llvm/llvm-zorg/blob/bb695735dba75e1a5dced13e836f4f46de464bac/zorg/buildbot/builders/sanitizers/buildbot_functions.sh#L443
When we reach `terminate()` `exc` pointer is not
on the stack, so lsan correctly reports a leak.
Commit: ae26f50aea4ef1a6c7058019f0db11a91bbcdade
https://github.com/llvm/llvm-project/commit/ae26f50aea4ef1a6c7058019f0db11a91bbcdade
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/test/CodeGen/MIR/Mips/expected-global-value-or-symbol-after-call-entry.mir
M llvm/test/CodeGen/MIR/Mips/memory-operands.mir
M llvm/test/CodeGen/Mips/2008-06-05-Carry.ll
M llvm/test/CodeGen/Mips/2008-07-03-SRet.ll
M llvm/test/CodeGen/Mips/2008-07-07-FPExtend.ll
M llvm/test/CodeGen/Mips/2008-07-07-IntDoubleConvertions.ll
M llvm/test/CodeGen/Mips/2008-07-16-SignExtInReg.ll
M llvm/test/CodeGen/Mips/2008-07-23-fpcmp.ll
M llvm/test/CodeGen/Mips/2008-07-29-icmp.ll
M llvm/test/CodeGen/Mips/2008-07-31-fcopysign.ll
M llvm/test/CodeGen/Mips/2008-08-01-AsmInline.ll
M llvm/test/CodeGen/Mips/2008-08-03-ReturnDouble.ll
M llvm/test/CodeGen/Mips/2008-08-03-fabs64.ll
M llvm/test/CodeGen/Mips/2008-08-04-Bitconvert.ll
M llvm/test/CodeGen/Mips/2008-08-06-Alloca.ll
M llvm/test/CodeGen/Mips/2008-08-07-CC.ll
M llvm/test/CodeGen/Mips/2008-08-07-FPRound.ll
M llvm/test/CodeGen/Mips/2008-08-08-ctlz.ll
M llvm/test/CodeGen/Mips/2008-10-13-LegalizerBug.ll
M llvm/test/CodeGen/Mips/2008-11-10-xint_to_fp.ll
M llvm/test/CodeGen/Mips/2010-11-09-CountLeading.ll
M llvm/test/CodeGen/Mips/2010-11-09-Mul.ll
M llvm/test/CodeGen/Mips/2012-12-12-ExpandMemcpy.ll
M llvm/test/CodeGen/Mips/DbgValueOtherTargets.test
M llvm/test/CodeGen/Mips/Fast-ISel/br1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/bricmpi1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/check-disabled-mcpus.ll
M llvm/test/CodeGen/Mips/Fast-ISel/constexpr-address.ll
M llvm/test/CodeGen/Mips/Fast-ISel/div1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/double-arg.ll
M llvm/test/CodeGen/Mips/Fast-ISel/fast-isel-softfloat-lower-args.ll
M llvm/test/CodeGen/Mips/Fast-ISel/fastalloca.ll
M llvm/test/CodeGen/Mips/Fast-ISel/fastcc-miss.ll
M llvm/test/CodeGen/Mips/Fast-ISel/fpcmpa.ll
M llvm/test/CodeGen/Mips/Fast-ISel/fpext.ll
M llvm/test/CodeGen/Mips/Fast-ISel/fpintconv.ll
M llvm/test/CodeGen/Mips/Fast-ISel/fptrunc.ll
M llvm/test/CodeGen/Mips/Fast-ISel/icmpa.ll
M llvm/test/CodeGen/Mips/Fast-ISel/icmpbr1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/icmpi1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/loadstore2.ll
M llvm/test/CodeGen/Mips/Fast-ISel/loadstoreconv.ll
M llvm/test/CodeGen/Mips/Fast-ISel/loadstrconst.ll
M llvm/test/CodeGen/Mips/Fast-ISel/logopm.ll
M llvm/test/CodeGen/Mips/Fast-ISel/mul1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/nullvoid.ll
M llvm/test/CodeGen/Mips/Fast-ISel/overflt.ll
M llvm/test/CodeGen/Mips/Fast-ISel/rem1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/retabi.ll
M llvm/test/CodeGen/Mips/Fast-ISel/shftopm.ll
M llvm/test/CodeGen/Mips/Fast-ISel/simplestore.ll
M llvm/test/CodeGen/Mips/Fast-ISel/simplestorefp1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/simplestorei.ll
M llvm/test/CodeGen/Mips/Fast-ISel/stackloadstore.ll
M llvm/test/CodeGen/Mips/addc.ll
M llvm/test/CodeGen/Mips/address-selection.ll
M llvm/test/CodeGen/Mips/addressing-mode.ll
M llvm/test/CodeGen/Mips/adjust-callstack-sp.ll
M llvm/test/CodeGen/Mips/alloca.ll
M llvm/test/CodeGen/Mips/alloca16.ll
M llvm/test/CodeGen/Mips/and1.ll
M llvm/test/CodeGen/Mips/ase_warnings.ll
M llvm/test/CodeGen/Mips/asm-large-immediate.ll
M llvm/test/CodeGen/Mips/assertzext-trunc.ll
M llvm/test/CodeGen/Mips/atomic-min-max-64.ll
M llvm/test/CodeGen/Mips/atomic-min-max.ll
M llvm/test/CodeGen/Mips/atomicops.ll
M llvm/test/CodeGen/Mips/biggot.ll
M llvm/test/CodeGen/Mips/brconeq.ll
M llvm/test/CodeGen/Mips/brconeqk.ll
M llvm/test/CodeGen/Mips/brconeqz.ll
M llvm/test/CodeGen/Mips/brconge.ll
M llvm/test/CodeGen/Mips/brcongt.ll
M llvm/test/CodeGen/Mips/brconle.ll
M llvm/test/CodeGen/Mips/brconlt.ll
M llvm/test/CodeGen/Mips/brconne.ll
M llvm/test/CodeGen/Mips/brconnek.ll
M llvm/test/CodeGen/Mips/brconnez.ll
M llvm/test/CodeGen/Mips/brind.ll
M llvm/test/CodeGen/Mips/brundef.ll
M llvm/test/CodeGen/Mips/bswap.ll
M llvm/test/CodeGen/Mips/buildpairextractelementf64.ll
M llvm/test/CodeGen/Mips/call-optimization.ll
M llvm/test/CodeGen/Mips/cconv/arguments-small-structures-bigger-than-32bits.ll
M llvm/test/CodeGen/Mips/cconv/arguments-varargs-small-structs-byte.ll
M llvm/test/CodeGen/Mips/cconv/arguments-varargs-small-structs-combinations.ll
M llvm/test/CodeGen/Mips/cconv/arguments-varargs-small-structs-multiple-args.ll
M llvm/test/CodeGen/Mips/cconv/callee-saved-fpxx.ll
M llvm/test/CodeGen/Mips/cconv/callee-saved-fpxx1.ll
M llvm/test/CodeGen/Mips/cconv/callee-saved.ll
M llvm/test/CodeGen/Mips/cconv/memory-layout.ll
M llvm/test/CodeGen/Mips/cconv/pr33883.ll
M llvm/test/CodeGen/Mips/cconv/reserved-space.ll
M llvm/test/CodeGen/Mips/cconv/roundl-call.ll
M llvm/test/CodeGen/Mips/cconv/stack-alignment.ll
M llvm/test/CodeGen/Mips/cfi_offset.ll
M llvm/test/CodeGen/Mips/check-adde-redundant-moves.ll
M llvm/test/CodeGen/Mips/check-noat.ll
M llvm/test/CodeGen/Mips/cins.ll
M llvm/test/CodeGen/Mips/cmov.ll
M llvm/test/CodeGen/Mips/cmplarge.ll
M llvm/test/CodeGen/Mips/coalesce-partial-redundant-reguse-terminator.mir
M llvm/test/CodeGen/Mips/compactbranches/beqc-bnec-register-constraint.ll
M llvm/test/CodeGen/Mips/compactbranches/compact-branch-implicit-def.mir
M llvm/test/CodeGen/Mips/compactbranches/compact-branch-policy.ll
M llvm/test/CodeGen/Mips/compactbranches/compact-branches-64.ll
M llvm/test/CodeGen/Mips/compactbranches/empty-block.mir
M llvm/test/CodeGen/Mips/compactbranches/unsafe-in-forbidden-slot.ll
M llvm/test/CodeGen/Mips/constantfp0.ll
M llvm/test/CodeGen/Mips/constraint-c-err.ll
M llvm/test/CodeGen/Mips/constraint-c.ll
M llvm/test/CodeGen/Mips/constraint-empty.ll
M llvm/test/CodeGen/Mips/countleading.ll
M llvm/test/CodeGen/Mips/cprestore.ll
M llvm/test/CodeGen/Mips/cstmaterialization/constMaterialization.ll
M llvm/test/CodeGen/Mips/cstmaterialization/isel-materialization.ll
M llvm/test/CodeGen/Mips/cstmaterialization/stack.ll
M llvm/test/CodeGen/Mips/ctlz-v.ll
M llvm/test/CodeGen/Mips/cttz-v.ll
M llvm/test/CodeGen/Mips/dagcombine-store-gep-chain-slow.ll
M llvm/test/CodeGen/Mips/delay-slot-kill.ll
M llvm/test/CodeGen/Mips/dext.ll
M llvm/test/CodeGen/Mips/dins.ll
M llvm/test/CodeGen/Mips/disable-tail-merge.ll
M llvm/test/CodeGen/Mips/div.ll
M llvm/test/CodeGen/Mips/div_rem.ll
M llvm/test/CodeGen/Mips/divrem.ll
M llvm/test/CodeGen/Mips/divu.ll
M llvm/test/CodeGen/Mips/divu_remu.ll
M llvm/test/CodeGen/Mips/double2int.ll
M llvm/test/CodeGen/Mips/dsp-patterns-cmp-vselect.ll
M llvm/test/CodeGen/Mips/dsp-patterns.ll
M llvm/test/CodeGen/Mips/dsp-r1.ll
M llvm/test/CodeGen/Mips/dsp-r2.ll
M llvm/test/CodeGen/Mips/dsp-vec-load-store.ll
M llvm/test/CodeGen/Mips/dynamic-stack-realignment.ll
M llvm/test/CodeGen/Mips/eh-dwarf-cfa.ll
M llvm/test/CodeGen/Mips/eh-return32.ll
M llvm/test/CodeGen/Mips/eh-return64.ll
M llvm/test/CodeGen/Mips/emergency-spill-slot-near-fp.ll
M llvm/test/CodeGen/Mips/emit-big-cst.ll
M llvm/test/CodeGen/Mips/ex2.ll
M llvm/test/CodeGen/Mips/extins.ll
M llvm/test/CodeGen/Mips/fastcc.ll
M llvm/test/CodeGen/Mips/fcmp.ll
M llvm/test/CodeGen/Mips/fcopysign-f32-f64.ll
M llvm/test/CodeGen/Mips/fcopysign.ll
M llvm/test/CodeGen/Mips/fmadd1.ll
M llvm/test/CodeGen/Mips/fp-contract.ll
M llvm/test/CodeGen/Mips/fp-indexed-ls.ll
M llvm/test/CodeGen/Mips/fp-spill-reload.ll
M llvm/test/CodeGen/Mips/fp64a.ll
M llvm/test/CodeGen/Mips/fpbr.ll
M llvm/test/CodeGen/Mips/fpxx.ll
M llvm/test/CodeGen/Mips/frame-address-err.ll
M llvm/test/CodeGen/Mips/frame-address.ll
M llvm/test/CodeGen/Mips/frem.ll
M llvm/test/CodeGen/Mips/global-pointer-reg.ll
M llvm/test/CodeGen/Mips/gpreg-lazy-binding.ll
M llvm/test/CodeGen/Mips/hf16_1.ll
M llvm/test/CodeGen/Mips/i64arg.ll
M llvm/test/CodeGen/Mips/imm.ll
M llvm/test/CodeGen/Mips/inlineasm-assembler-directives.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-R.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-ZC-1.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-ZC-2.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-bad-I-1.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-bad-J.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-bad-K.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-bad-L.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-bad-N.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-bad-O.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-bad-P.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-m-1.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-m-2.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-o.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-reg.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint-reg64.ll
M llvm/test/CodeGen/Mips/inlineasm-constraint.ll
M llvm/test/CodeGen/Mips/inlineasm-constraints-softfloat.ll
M llvm/test/CodeGen/Mips/inlineasm-opcode-bad-y.ll
M llvm/test/CodeGen/Mips/inlineasm-operand-code.ll
M llvm/test/CodeGen/Mips/ins.ll
M llvm/test/CodeGen/Mips/instverify/dext-pos.mir
M llvm/test/CodeGen/Mips/instverify/dext-size.mir
M llvm/test/CodeGen/Mips/instverify/dextm-pos-size.mir
M llvm/test/CodeGen/Mips/instverify/dextm-pos.mir
M llvm/test/CodeGen/Mips/instverify/dextm-size.mir
M llvm/test/CodeGen/Mips/instverify/dextu-pos-size.mir
M llvm/test/CodeGen/Mips/instverify/dextu-pos.mir
M llvm/test/CodeGen/Mips/instverify/dextu-size-valid.mir
M llvm/test/CodeGen/Mips/instverify/dextu-size.mir
M llvm/test/CodeGen/Mips/instverify/dins-pos-size.mir
M llvm/test/CodeGen/Mips/instverify/dins-pos.mir
M llvm/test/CodeGen/Mips/instverify/dins-size.mir
M llvm/test/CodeGen/Mips/instverify/dinsm-pos-size.mir
M llvm/test/CodeGen/Mips/instverify/dinsm-pos.mir
M llvm/test/CodeGen/Mips/instverify/dinsm-size.mir
M llvm/test/CodeGen/Mips/instverify/dinsu-pos-size.mir
M llvm/test/CodeGen/Mips/instverify/dinsu-pos.mir
M llvm/test/CodeGen/Mips/instverify/dinsu-size.mir
M llvm/test/CodeGen/Mips/instverify/ext-pos-size.mir
M llvm/test/CodeGen/Mips/instverify/ext-pos.mir
M llvm/test/CodeGen/Mips/instverify/ext-size.mir
M llvm/test/CodeGen/Mips/instverify/ins-pos-size.mir
M llvm/test/CodeGen/Mips/instverify/ins-pos.mir
M llvm/test/CodeGen/Mips/instverify/ins-size.mir
M llvm/test/CodeGen/Mips/int-to-float-conversion.ll
M llvm/test/CodeGen/Mips/internalfunc.ll
M llvm/test/CodeGen/Mips/jumptable_labels.ll
M llvm/test/CodeGen/Mips/largeimm1.ll
M llvm/test/CodeGen/Mips/largeimmprinting.ll
M llvm/test/CodeGen/Mips/lazy-binding.ll
M llvm/test/CodeGen/Mips/lb1.ll
M llvm/test/CodeGen/Mips/lbu1.ll
M llvm/test/CodeGen/Mips/lh1.ll
M llvm/test/CodeGen/Mips/lhu1.ll
M llvm/test/CodeGen/Mips/llcarry.ll
M llvm/test/CodeGen/Mips/llvm-ir/abs.ll
M llvm/test/CodeGen/Mips/llvm-ir/add.ll
M llvm/test/CodeGen/Mips/llvm-ir/addrspacecast.ll
M llvm/test/CodeGen/Mips/llvm-ir/arith-fp.ll
M llvm/test/CodeGen/Mips/llvm-ir/atomicrmx.ll
M llvm/test/CodeGen/Mips/llvm-ir/bitcast.ll
M llvm/test/CodeGen/Mips/llvm-ir/call.ll
M llvm/test/CodeGen/Mips/llvm-ir/cvt.ll
M llvm/test/CodeGen/Mips/llvm-ir/extractelement.ll
M llvm/test/CodeGen/Mips/llvm-ir/indirectbr.ll
M llvm/test/CodeGen/Mips/llvm-ir/lh_lhu.ll
M llvm/test/CodeGen/Mips/llvm-ir/load-atomic.ll
M llvm/test/CodeGen/Mips/llvm-ir/mul.ll
M llvm/test/CodeGen/Mips/llvm-ir/nan-fp-attr.ll
M llvm/test/CodeGen/Mips/llvm-ir/not.ll
M llvm/test/CodeGen/Mips/llvm-ir/ret.ll
M llvm/test/CodeGen/Mips/llvm-ir/select-int.ll
M llvm/test/CodeGen/Mips/llvm-ir/sqrt.ll
M llvm/test/CodeGen/Mips/llvm-ir/store-atomic.ll
M llvm/test/CodeGen/Mips/llvm-ir/sub.ll
M llvm/test/CodeGen/Mips/load-store-left-right.ll
M llvm/test/CodeGen/Mips/long-call-attr.ll
M llvm/test/CodeGen/Mips/long-call-mcount.ll
M llvm/test/CodeGen/Mips/long-calls.ll
M llvm/test/CodeGen/Mips/longbranch/compact-branches-long-branch.ll
M llvm/test/CodeGen/Mips/machineverifier.ll
M llvm/test/CodeGen/Mips/madd-msub.ll
M llvm/test/CodeGen/Mips/mcount.ll
M llvm/test/CodeGen/Mips/memcpy.ll
M llvm/test/CodeGen/Mips/micromips-addiu.ll
M llvm/test/CodeGen/Mips/micromips-addu16.ll
M llvm/test/CodeGen/Mips/micromips-and16.ll
M llvm/test/CodeGen/Mips/micromips-andi.ll
M llvm/test/CodeGen/Mips/micromips-attr.ll
M llvm/test/CodeGen/Mips/micromips-compact-branches.ll
M llvm/test/CodeGen/Mips/micromips-compact-jump.ll
M llvm/test/CodeGen/Mips/micromips-gp-rc.ll
M llvm/test/CodeGen/Mips/micromips-li.ll
M llvm/test/CodeGen/Mips/micromips-load-effective-address.ll
M llvm/test/CodeGen/Mips/micromips-lwc1-swc1.ll
M llvm/test/CodeGen/Mips/micromips-not16.ll
M llvm/test/CodeGen/Mips/micromips-or16.ll
M llvm/test/CodeGen/Mips/micromips-shift.ll
M llvm/test/CodeGen/Mips/micromips-short-delay-slot.mir
M llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-addiur1sp-addiusp.ll
M llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-lbu16-lhu16-sb16-sh16.ll
M llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-lwsp-swsp.ll
M llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-xor16.ll
M llvm/test/CodeGen/Mips/micromips-subu16.ll
M llvm/test/CodeGen/Mips/micromips-sw-lw-16.ll
M llvm/test/CodeGen/Mips/micromips-xor16.ll
M llvm/test/CodeGen/Mips/mips16_32_1.ll
M llvm/test/CodeGen/Mips/mips16fpe.ll
M llvm/test/CodeGen/Mips/mips3-spill-slot.ll
M llvm/test/CodeGen/Mips/mips32r6/compatibility.ll
M llvm/test/CodeGen/Mips/mips64-f128-call.ll
M llvm/test/CodeGen/Mips/mips64-libcall.ll
M llvm/test/CodeGen/Mips/mips64-sret.ll
M llvm/test/CodeGen/Mips/mips64directive.ll
M llvm/test/CodeGen/Mips/mips64ext.ll
M llvm/test/CodeGen/Mips/mips64extins.ll
M llvm/test/CodeGen/Mips/mips64fpimm0.ll
M llvm/test/CodeGen/Mips/mips64fpldst.ll
M llvm/test/CodeGen/Mips/mips64imm.ll
M llvm/test/CodeGen/Mips/mips64instrs.ll
M llvm/test/CodeGen/Mips/mips64intldst.ll
M llvm/test/CodeGen/Mips/mips64lea.ll
M llvm/test/CodeGen/Mips/mips64muldiv.ll
M llvm/test/CodeGen/Mips/mips64r6/compatibility.ll
M llvm/test/CodeGen/Mips/mips64shift.ll
M llvm/test/CodeGen/Mips/mips64signextendsesf.ll
M llvm/test/CodeGen/Mips/mips64sinttofpsf.ll
M llvm/test/CodeGen/Mips/mipslopat.ll
M llvm/test/CodeGen/Mips/mirparser/target-flags-pic-mxgot-tls.mir
M llvm/test/CodeGen/Mips/mirparser/target-flags-pic-o32.mir
M llvm/test/CodeGen/Mips/mirparser/target-flags-pic.mir
M llvm/test/CodeGen/Mips/misha.ll
M llvm/test/CodeGen/Mips/msa/2r.ll
M llvm/test/CodeGen/Mips/msa/2r_vector_scalar.ll
M llvm/test/CodeGen/Mips/msa/2rf.ll
M llvm/test/CodeGen/Mips/msa/2rf_exup.ll
M llvm/test/CodeGen/Mips/msa/2rf_float_int.ll
M llvm/test/CodeGen/Mips/msa/2rf_fq.ll
M llvm/test/CodeGen/Mips/msa/2rf_int_float.ll
M llvm/test/CodeGen/Mips/msa/2rf_tq.ll
M llvm/test/CodeGen/Mips/msa/3r-a.ll
M llvm/test/CodeGen/Mips/msa/3r-b.ll
M llvm/test/CodeGen/Mips/msa/3r-c.ll
M llvm/test/CodeGen/Mips/msa/3r-d.ll
M llvm/test/CodeGen/Mips/msa/3r-i.ll
M llvm/test/CodeGen/Mips/msa/3r-m.ll
M llvm/test/CodeGen/Mips/msa/3r-p.ll
M llvm/test/CodeGen/Mips/msa/3r-s.ll
M llvm/test/CodeGen/Mips/msa/3r-v.ll
M llvm/test/CodeGen/Mips/msa/3r_4r.ll
M llvm/test/CodeGen/Mips/msa/3r_4r_widen.ll
M llvm/test/CodeGen/Mips/msa/3r_splat.ll
M llvm/test/CodeGen/Mips/msa/3rf.ll
M llvm/test/CodeGen/Mips/msa/3rf_4rf.ll
M llvm/test/CodeGen/Mips/msa/3rf_4rf_q.ll
M llvm/test/CodeGen/Mips/msa/3rf_exdo.ll
M llvm/test/CodeGen/Mips/msa/3rf_float_int.ll
M llvm/test/CodeGen/Mips/msa/3rf_int_float.ll
M llvm/test/CodeGen/Mips/msa/3rf_q.ll
M llvm/test/CodeGen/Mips/msa/arithmetic.ll
M llvm/test/CodeGen/Mips/msa/arithmetic_float.ll
M llvm/test/CodeGen/Mips/msa/basic_operations.ll
M llvm/test/CodeGen/Mips/msa/basic_operations_float.ll
M llvm/test/CodeGen/Mips/msa/bit.ll
M llvm/test/CodeGen/Mips/msa/bitcast.ll
M llvm/test/CodeGen/Mips/msa/bitwise.ll
M llvm/test/CodeGen/Mips/msa/bmzi_bmnzi.ll
M llvm/test/CodeGen/Mips/msa/compare.ll
M llvm/test/CodeGen/Mips/msa/compare_float.ll
M llvm/test/CodeGen/Mips/msa/elm_copy.ll
M llvm/test/CodeGen/Mips/msa/elm_cxcmsa.ll
M llvm/test/CodeGen/Mips/msa/elm_insv.ll
M llvm/test/CodeGen/Mips/msa/elm_move.ll
M llvm/test/CodeGen/Mips/msa/elm_shift_slide.ll
M llvm/test/CodeGen/Mips/msa/emergency-spill.mir
M llvm/test/CodeGen/Mips/msa/endian.ll
M llvm/test/CodeGen/Mips/msa/fexuprl.ll
M llvm/test/CodeGen/Mips/msa/frameindex.ll
M llvm/test/CodeGen/Mips/msa/i10.ll
M llvm/test/CodeGen/Mips/msa/i5-a.ll
M llvm/test/CodeGen/Mips/msa/i5-b.ll
M llvm/test/CodeGen/Mips/msa/i5-c.ll
M llvm/test/CodeGen/Mips/msa/i5-m.ll
M llvm/test/CodeGen/Mips/msa/i5-s.ll
M llvm/test/CodeGen/Mips/msa/i5_ld_st.ll
M llvm/test/CodeGen/Mips/msa/i8.ll
M llvm/test/CodeGen/Mips/msa/immediates-bad.ll
M llvm/test/CodeGen/Mips/msa/immediates.ll
M llvm/test/CodeGen/Mips/msa/inline-asm.ll
M llvm/test/CodeGen/Mips/msa/ldr_str.ll
M llvm/test/CodeGen/Mips/msa/llvm-stress-s1704963983.ll
M llvm/test/CodeGen/Mips/msa/llvm-stress-s1935737938.ll
M llvm/test/CodeGen/Mips/msa/llvm-stress-s2090927243-simplified.ll
M llvm/test/CodeGen/Mips/msa/llvm-stress-s2501752154-simplified.ll
M llvm/test/CodeGen/Mips/msa/llvm-stress-s2704903805.ll
M llvm/test/CodeGen/Mips/msa/llvm-stress-s3861334421.ll
M llvm/test/CodeGen/Mips/msa/llvm-stress-s3926023935.ll
M llvm/test/CodeGen/Mips/msa/llvm-stress-s3997499501.ll
M llvm/test/CodeGen/Mips/msa/llvm-stress-s449609655-simplified.ll
M llvm/test/CodeGen/Mips/msa/llvm-stress-s525530439.ll
M llvm/test/CodeGen/Mips/msa/llvm-stress-s997348632.ll
M llvm/test/CodeGen/Mips/msa/llvm-stress-sz1-s742806235.ll
M llvm/test/CodeGen/Mips/msa/msa-nooddspreg.ll
M llvm/test/CodeGen/Mips/msa/nori.b.ll
M llvm/test/CodeGen/Mips/msa/remat-ldi.ll
M llvm/test/CodeGen/Mips/msa/shift-dagcombine.ll
M llvm/test/CodeGen/Mips/msa/shift_constant_pool.ll
M llvm/test/CodeGen/Mips/msa/shift_no_and.ll
M llvm/test/CodeGen/Mips/msa/shuffle.ll
M llvm/test/CodeGen/Mips/msa/special.ll
M llvm/test/CodeGen/Mips/msa/spill.ll
M llvm/test/CodeGen/Mips/msa/vec.ll
M llvm/test/CodeGen/Mips/msa/vecs10.ll
M llvm/test/CodeGen/Mips/mul.ll
M llvm/test/CodeGen/Mips/mulll.ll
M llvm/test/CodeGen/Mips/mulull.ll
M llvm/test/CodeGen/Mips/nacl-reserved-regs.ll
M llvm/test/CodeGen/Mips/neg1.ll
M llvm/test/CodeGen/Mips/nmadd.ll
M llvm/test/CodeGen/Mips/no-odd-spreg-msa.ll
M llvm/test/CodeGen/Mips/not1.ll
M llvm/test/CodeGen/Mips/null.ll
M llvm/test/CodeGen/Mips/o32_cc.ll
M llvm/test/CodeGen/Mips/o32_cc_vararg.ll
M llvm/test/CodeGen/Mips/octeon.ll
M llvm/test/CodeGen/Mips/octeon_popcnt.ll
M llvm/test/CodeGen/Mips/optimize-fp-math.ll
M llvm/test/CodeGen/Mips/or1.ll
M llvm/test/CodeGen/Mips/pbqp-reserved-physreg.ll
M llvm/test/CodeGen/Mips/pr33682.ll
M llvm/test/CodeGen/Mips/pr33978.ll
M llvm/test/CodeGen/Mips/prevent-hoisting.ll
M llvm/test/CodeGen/Mips/private.ll
M llvm/test/CodeGen/Mips/ra-allocatable.ll
M llvm/test/CodeGen/Mips/rem.ll
M llvm/test/CodeGen/Mips/remat-immed-load.ll
M llvm/test/CodeGen/Mips/remu.ll
M llvm/test/CodeGen/Mips/return-vector.ll
M llvm/test/CodeGen/Mips/return_address.ll
M llvm/test/CodeGen/Mips/return_address_err.ll
M llvm/test/CodeGen/Mips/rotate.ll
M llvm/test/CodeGen/Mips/sb1.ll
M llvm/test/CodeGen/Mips/selTBteqzCmpi.ll
M llvm/test/CodeGen/Mips/selTBtnezCmpi.ll
M llvm/test/CodeGen/Mips/selTBtnezSlti.ll
M llvm/test/CodeGen/Mips/selectcc.ll
M llvm/test/CodeGen/Mips/selectiondag-optlevel.ll
M llvm/test/CodeGen/Mips/seleq.ll
M llvm/test/CodeGen/Mips/seleqk.ll
M llvm/test/CodeGen/Mips/selgek.ll
M llvm/test/CodeGen/Mips/selgt.ll
M llvm/test/CodeGen/Mips/selle.ll
M llvm/test/CodeGen/Mips/selltk.ll
M llvm/test/CodeGen/Mips/selne.ll
M llvm/test/CodeGen/Mips/selnek.ll
M llvm/test/CodeGen/Mips/selpat.ll
M llvm/test/CodeGen/Mips/setcc-se.ll
M llvm/test/CodeGen/Mips/seteq.ll
M llvm/test/CodeGen/Mips/seteqz.ll
M llvm/test/CodeGen/Mips/setge.ll
M llvm/test/CodeGen/Mips/setgek.ll
M llvm/test/CodeGen/Mips/setle.ll
M llvm/test/CodeGen/Mips/setlt.ll
M llvm/test/CodeGen/Mips/setltk.ll
M llvm/test/CodeGen/Mips/setne.ll
M llvm/test/CodeGen/Mips/setuge.ll
M llvm/test/CodeGen/Mips/setugt.ll
M llvm/test/CodeGen/Mips/setule.ll
M llvm/test/CodeGen/Mips/setult.ll
M llvm/test/CodeGen/Mips/setultk.ll
M llvm/test/CodeGen/Mips/sh1.ll
M llvm/test/CodeGen/Mips/shift-parts.ll
M llvm/test/CodeGen/Mips/sint-fp-store_pattern.ll
M llvm/test/CodeGen/Mips/sitofp-selectcc-opt.ll
M llvm/test/CodeGen/Mips/sll-micromips-r6-encoding.mir
M llvm/test/CodeGen/Mips/sll1.ll
M llvm/test/CodeGen/Mips/sll2.ll
M llvm/test/CodeGen/Mips/slt.ll
M llvm/test/CodeGen/Mips/spill-copy-acreg.ll
M llvm/test/CodeGen/Mips/sra1.ll
M llvm/test/CodeGen/Mips/sra2.ll
M llvm/test/CodeGen/Mips/srl1.ll
M llvm/test/CodeGen/Mips/srl2.ll
M llvm/test/CodeGen/Mips/stack-alignment.ll
M llvm/test/CodeGen/Mips/stackcoloring.ll
M llvm/test/CodeGen/Mips/stchar.ll
M llvm/test/CodeGen/Mips/stldst.ll
M llvm/test/CodeGen/Mips/sub1.ll
M llvm/test/CodeGen/Mips/sub2.ll
M llvm/test/CodeGen/Mips/swzero.ll
M llvm/test/CodeGen/Mips/tailcall/tail-call-arguments-clobber.ll
M llvm/test/CodeGen/Mips/thread-pointer.ll
M llvm/test/CodeGen/Mips/tls-alias.ll
M llvm/test/CodeGen/Mips/tnaked.ll
M llvm/test/CodeGen/Mips/trap.ll
M llvm/test/CodeGen/Mips/uitofp.ll
M llvm/test/CodeGen/Mips/ul1.ll
M llvm/test/CodeGen/Mips/unaligned-memops.ll
M llvm/test/CodeGen/Mips/unalignedload.ll
M llvm/test/CodeGen/Mips/vector-load-store.ll
M llvm/test/CodeGen/Mips/vector-setcc.ll
M llvm/test/CodeGen/Mips/vr4300-mulbranch.ll
M llvm/test/CodeGen/Mips/vr4300-mulmul.ll
M llvm/test/CodeGen/Mips/weak.ll
M llvm/test/CodeGen/Mips/whitespace.ll
M llvm/test/CodeGen/Mips/xor1.ll
M llvm/test/CodeGen/Mips/zeroreg.ll
M llvm/test/DebugInfo/MIR/Mips/last-inst-bundled.mir
M llvm/test/DebugInfo/Mips/tls.ll
Log Message:
-----------
[test] Change llc -march=mips* to -mtriple=mips*
Similar to 806761a7629df268c8aed49657aeccffa6bca449
Commit: d78fe84d49b3db675ae4c502ead38ce9e5c2539f
https://github.com/llvm/llvm-project/commit/d78fe84d49b3db675ae4c502ead38ce9e5c2539f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/alu-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zba.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
Log Message:
-----------
[RISCV][GISel] Port TrailingOnesMask PatLeaf. (#119427)
Commit: 5797ed660ab0c1847bd6229af262f841b2f753ae
https://github.com/llvm/llvm-project/commit/5797ed660ab0c1847bd6229af262f841b2f753ae
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Log Message:
-----------
[GISel][SDAG] Avoid push_back in loops for some shuffle mask handling. (#119434)
Each call to push_back contains a check to see if the vector needs to
grow. Using resize or giving the size to the constructor can reduce
the number of checks for growing.
Commit: 839c8217b989a22908fdd1ec48105ff22d655fb2
https://github.com/llvm/llvm-project/commit/839c8217b989a22908fdd1ec48105ff22d655fb2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-10 (Tue, 10 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[LegalizeTypes][RISCV][X86] Legalize FP_ROUND to libcall in SoftPromoteHalfRes_FP_ROUND if the input type is softened. (#119481)
Previously we created an FP_TO_FP16 and legalized it in
SoftenFloatOp_FP_ROUND. This caused i16 to be sent to call lowering
instead of f16. This results in the ABI not being followed if f16 is
supposed to be passed in a different register than i16.
Looking at the libgcc binary for the library function it appears the value
is returned in xmm0 so the X86 test was being miscompiled before.
Fixes #107607.
Commit: 553058f825157b33a2d7f793c811f301260b765b
https://github.com/llvm/llvm-project/commit/553058f825157b33a2d7f793c811f301260b765b
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/DomTreeUpdater.h
M llvm/include/llvm/Analysis/GenericDomTreeUpdater.h
M llvm/include/llvm/Analysis/GenericDomTreeUpdaterImpl.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineDomTreeUpdater.h
M llvm/include/llvm/CodeGen/MachineDominators.h
M llvm/include/llvm/CodeGen/MachineSSAContext.h
M llvm/lib/Analysis/DomTreeUpdater.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineDomTreeUpdater.cpp
M llvm/lib/CodeGen/MachineDominanceFrontier.cpp
M llvm/lib/CodeGen/MachineDominators.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/MachineLoopInfo.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
M llvm/unittests/Analysis/DomTreeUpdaterTest.cpp
M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp
Log Message:
-----------
Revert "[DomTreeUpdater] Move critical edge splitting code to updater" (#119512)
Reverts llvm/llvm-project#115111 Causes #119511
Commit: 2f18b5ef030e37f3b229e767081a804b7c038a07
https://github.com/llvm/llvm-project/commit/2f18b5ef030e37f3b229e767081a804b7c038a07
Author: David Green <david.green at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/cast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
Log Message:
-----------
[AArch64] Add fpext and fpround costs (#119292)
This adds some basic costs for fpext and fpround, many of which were
already handled by the generic costing routines but this does make some
adjustments for larger vector types that can use fcvtn+fcvtn2, as
opposed to fcvtn+fcvtn+concat.
These should now more closely match the codegen from
https://godbolt.org/z/r3P9Mf8ez, for example.
Commit: c38a0de6915592cf488965a995d8aa6e7783adcd
https://github.com/llvm/llvm-project/commit/c38a0de6915592cf488965a995d8aa6e7783adcd
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
Log Message:
-----------
[mlir][nfc] Update vectorize-tensor-extract.mlir (1/N) (#118977)
Tests in "vectorize-tensor-extract.mlir" are inconsistent and would
benefit from refactoring to:
* Clearly categorize tests into "contiguous load," "gather load," and
"scalar load + broadcast" cases, reflecting the structure of
tensor.extract vectorization.
* Unify variable naming (both MLIR and FileCheck).
* Ensure all tests exercise unmasked vectorization (masked vectorization
is covered in "vectorize-tensor-extract-masked.mlir").
* Improve and standardize formatting.
These changes will make it easier to identify the test cases being
exercised and simplify future maintenance or refactoring.
This is patch 1/N in the series; below is a summary of the specific
changes
in this patch.
----------------------------------------------------------------------
Summary for patch 1/N
----------------------------------------------------------------------
This PR updates the `@vectorize_scalar_broadcast_column_tensor` test in
"vectorize-tensor-extract.mlir", which exercises:
* Vectorization of tensor.extract.
* A scalar read followed by a broadcast.
* Reading from a constant column tensor.
Currently, the test uses "masked" vectorization, but the file
exclusively tests unmasked vectorization paths. To address this
inconsistency, this PR removes masking, aligning the test with the rest
of the file. Masked vectorization scenarios remain covered in
"vectorize-tensor-extract-masked.mlir". This update switches from:
* `transform.structured.vectorize`, to
* `transform.structured.vectorize_children_and_apply_patterns`.
The latter approach applies canonicalization patterns, significantly
simplifying the generated output.
Additional improvements for readability:
* Renamed the test function for clarity.
* Updated variable names and removed unused variables.
* Added empty lines for better formatting.
Commit: be06c79c4591a64bbd6b50cb711b450712b04d9c
https://github.com/llvm/llvm-project/commit/be06c79c4591a64bbd6b50cb711b450712b04d9c
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
Log Message:
-----------
[mlir][linalg] Enable Vectorization of 0-D tensor.extract (#119079)
This patch removes an assert in `vectorizeTensorExtract` that was
blocking
the vectorization of 0-D tensor.extract operations, e.g.:
```mlir
%1 = tensor.extract %src[] : tensor<f32>
```
As demonstrated by the included tests, this case is already effectively
supported.
**Context**
The removed assert was introduced in #109580 as a guard, pending proper
support
and testing for 0-D tensors. This PR addresses that previously
undocumented
TODO. Apologies for the oversight!
**Updates and Tests**
* Revised the existing test `@negative_no_loop` to ensure the
`vectorize_nd_extract` attribute is included, allowing the vectorizer
to process it. The test was renamed and variables updated for clarity.
* Added a new test `@extract_scalar_from_0d_into_1d` to cover "mixed"
0-D/1-D tensor extraction, e.g.:
```mlir
%res = linalg.generic {
indexing_maps = [#map],
iterator_types = ["parallel"]
} outs(%init : tensor<1xf32>) {
^bb0(%in: f32):
%1 = tensor.extract %src[] : tensor<f32>
linalg.yield %1 : f32
} -> tensor<1xf32>
return %res : tensor<1xf32>
```
**Additional updates**
I also took the liberty and improved test coverage for 0-D tensor in the
vectorizer tests:
* Added a specific test for "0D linalg.generic" in
"vectorization-with-patterns.mlir".
* Renamed several tests in "vectorization-with-patterns.mlir" to clarify
that the 0-D case is now covered.
Commit: 2fe30bc6693c60d76c7e44d9fd6323c39125c19e
https://github.com/llvm/llvm-project/commit/2fe30bc6693c60d76c7e44d9fd6323c39125c19e
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
Log Message:
-----------
[AArch64] Add cost model for @experimental.vector.match (#118512)
The base cost approximates the expansion code in SelectionDAGBuilder.
For the AArch64 cases that don't need generic expansion, fixed-length
search vectors have a higher cost than scalable vectors due to the extra
instructions to convert the boolean mask.
Commit: 884f2ad6f9e269407366622ac80e65a1bb1b4b2e
https://github.com/llvm/llvm-project/commit/884f2ad6f9e269407366622ac80e65a1bb1b4b2e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/include/llvm/IR/LLVMContext.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/IR/LLVMContext.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/X86/X86FloatingPoint.cpp
M llvm/test/CodeGen/AMDGPU/sgpr-spill-to-vmem-scc-clobber-unhandled.mir
Log Message:
-----------
DiagnosticInfo: Clean up usage of DiagnosticInfoInlineAsm (#119485)
Currently LLVMContext::emitError emits any error as an "inline asm"
error which does not make any sense. InlineAsm appears to be special,
in that it uses a "LocCookie" from srcloc metadata, which looks like
a parallel mechanism to ordinary source line locations. This meant
that other types of failures had degraded source information reported
when available.
Introduce some new generic error types, and only use inline asm
in the appropriate contexts. The DiagnosticInfo types are still
a bit of a mess, and I'm not sure why DiagnosticInfoWithLocationBase
exists instead of just having an optional DiagnosticLocation in the
base class.
DK_Generic is for any error that derives from an IR level instruction,
and thus can pull debug locations directly from it. DK_GenericWithLoc
is functionally the generic codegen error, since it does not depend
on the IR and instead can construct a DiagnosticLocation from the
MI debug location.
Commit: 1bc1703eb5bace50d69158bc6a77ac31ff36be77
https://github.com/llvm/llvm-project/commit/1bc1703eb5bace50d69158bc6a77ac31ff36be77
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/IR/DiagnosticPrinter.cpp
Log Message:
-----------
DiagnosticPrinter: Use printAsOperand to handle anonymous values (#119491)
To avoid changing the behavior in the general case, only do this
for anonymous functions. Otherwise, we'll end up with a leading
'@' on the name, which may not be meaningful to end users.
Commit: 796a1cf70639697325a86a56a0e482add19e1d56
https://github.com/llvm/llvm-project/commit/796a1cf70639697325a86a56a0e482add19e1d56
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
A mlir/test/Dialect/Linalg/td/vectorize-with-patterns.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
Log Message:
-----------
[mlir][nfc] Update vectorize-tensor-extract.mlir (2/N) (#119080)
Tests in "vectorize-tensor-extract.mlir" are inconsistent and would
benefit from refactoring to:
* Clearly categorize tests into "contiguous load," "gather load," and
"scalar load + broadcast" cases, reflecting the structure of
tensor.extract vectorization.
* Unify variable naming (both MLIR and FileCheck).
* Ensure all tests exercise unmasked vectorization (masked vectorization
is covered in "vectorize-tensor-extract-masked.mlir").
* Improve and standardize formatting.
These changes will make it easier to identify the test cases being
exercised and simplify future maintenance or refactoring.
This is patch 2/N in the series; below is a summary of the specific
changes
in this patch.
----------------------------------------------------------------------
Summary of patch 2/N
----------------------------------------------------------------------
Makes all tests re-use the same TD sequence. This TD sequence has been
extracted to a deducted file:
* "td/vectorize-with-patterns.mlir".
----------------------------------------------------------------------
Previous patches:
----------------------------------------------------------------------
* https://github.com/llvm/llvm-project/pull/118977
Commit: 74393f3da0c84ac40596ae561269a2bddf72504e
https://github.com/llvm/llvm-project/commit/74393f3da0c84ac40596ae561269a2bddf72504e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
Log Message:
-----------
[clang][bytecode][NFC] Avoid calling ASTContext::getTypeSize() (#119392)
In the case of primitive arrays, we can do this once and reuse the value
for all elements.
Commit: 9cdb7d2b6c333874ec969ef6ac64e0354bb3aa91
https://github.com/llvm/llvm-project/commit/9cdb7d2b6c333874ec969ef6ac64e0354bb3aa91
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
[NFC] Maintainers.rst: align email address formatting
Follow the formatting for other email addresses in this file.
Commit: b0763a472be6098e8c8bdb32c06c593750e0566e
https://github.com/llvm/llvm-project/commit/b0763a472be6098e8c8bdb32c06c593750e0566e
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_cvt.c
M clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_cvt.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sme2-fp8-intrinsics-cvt.ll
Log Message:
-----------
[AArch64] Implement intrinsics for FP8 FCVT/FCVTN/BFCVT (#118025)
This patch implements the following intrinsics:
Convert to packed 8-bit floating-point format.
``` c
// Variants are also available for: _mf8[_bf16_x2] and _mf8[_f32_x4]
svmfloat8_t svcvt_mf8[_f16_x2]_fpm(svfloat16x2_t zn, fpm_t fpm) __arm_streaming;
```
Convert to interleaved 8-bit floating-point format.
``` c
svmfloat8_t svcvtn_mf8[_f32_x4]_fpm(svfloat32x4_t zn, fpm_t fpm) __arm_streaming;
```
In accordance with https://github.com/ARM-software/acle/pull/323.
Co-authored-by: Marin Lukac marian.lukac at arm.com
Co-authored-by: Caroline Concatto caroline.concatto at arm.com
Commit: 2dc22615fd46ab2566d0f26d5ba234ab12dc4bf8
https://github.com/llvm/llvm-project/commit/2dc22615fd46ab2566d0f26d5ba234ab12dc4bf8
Author: David Justo <david.justo.1996 at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M compiler-rt/lib/asan/asan_flags.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
A compiler-rt/test/asan/TestCases/Windows/allocator_may_return_null_limits.cpp
Log Message:
-----------
[ASan] Honor `allocator_may_return_null` when set through user-function and fix large alloc edge case (#117929)
**Related:** #117925
**About this PR:**
This PR performs 3 small but related fixes for ASan users on Windows:
1. It ensures that the `allocator_may_return_null` flag is honored when
set through the user function `__asan_default_options`. For more
details, please see: #117925
2. It adds a missing `AllocatorMayReturnNull()` check inside
`InternalAlloc` that's needed to avoid error'ing out when the allocator
_correctly_ returns `null` when `allocator_may_return_null` is set.
3. In `sanitizer_win`'s `ReturnNullptrOnOOMOrDie`, it allows returning
`null` when the last error is set to `ERROR_INVALID_PARAMETER` which may
be set by `VirtualAlloc` on WIndows when attempting to allocate
exceedingly large memory.
I've added test cases that should cover these new behaviors. Happy to
take on any feedback as well. Thank you :-)
---------
Co-authored-by: David Justo <dajusto at microsoft.com>
Commit: a1ee1a9126678aabd3b02ef1367df8879d2536fa
https://github.com/llvm/llvm-project/commit/a1ee1a9126678aabd3b02ef1367df8879d2536fa
Author: Guillaume DI FATTA <124087040+Atafid at users.noreply.github.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/docs/StackMaps.rst
M llvm/include/llvm/IR/Intrinsics.td
A llvm/test/CodeGen/AArch64/stackmap-args.ll
A llvm/test/CodeGen/PowerPC/ppc64-stackmap-args.ll
A llvm/test/CodeGen/RISCV/rv64-stackmap-args.ll
A llvm/test/CodeGen/SystemZ/stackmap-args.ll
A llvm/test/CodeGen/X86/stackmap-args.ll
Log Message:
-----------
[CodeGen] @llvm.experimental.stackmap make operands immediate (#117932)
This pull request modifies the behavior of the
`@llvm.experimental.stackmap` intrinsic to require that its two first
operands (`id` and `numShadowBytes`) be **immediate values**. This
change ensures that variables cannot be passed as two first arguments to
this intrinsic.
Related Issue: https://github.com/llvm/llvm-project/issues/115733
### Testing
- Added new test cases to ensure errors are emitted for non-immediate
operands.
- Ran the full LLVM test suite to verify no regressions were introduced.
Commit: 71fd5288d28169cc4a6ae0bcf6c19a8130368936
https://github.com/llvm/llvm-project/commit/71fd5288d28169cc4a6ae0bcf6c19a8130368936
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M .ci/generate_test_report.py
Log Message:
-----------
[ci] Include a log download link when test report is truncated (#117985)
Now "Download" will be a link to the file so people don't have to know
to open the build tab and find the download button.
This is a URL from a real build:
https://buildkite.com/organizations/llvm-project/pipelines/github-pull-requests/builds/123979/jobs/01937132-0fc3-4c95-a884-2fc0048cb9a7/download.txt
And this is how we can build it:
https://buildkite.com/organizations/{BUILDKITE_ORGANIZATION_SLUG}/pipelines/{BUILDKITE_PIPELINE_SLUG}/builds/{BUILDKITE_BUILD_NUMBER}/jobs/{BUILDKITE_JOB_ID}/download.txt
Given these env vars that were set in that job:
BUILDKITE_ORGANIZATION_SLUG="llvm-project"
BUILDKITE_PIPELINE_SLUG="github-pull-requests"
BUILDKITE_BUILD_NUMBER="123979"
BUILDKITE_JOB_ID="01937132-0fc3-4c95-a884-2fc0048cb9a7"
In theory these will always be available but:
1. Rather safe than sorry with this script, I don't want to make a
passing
build a failure because this script failed.
2. It would get very annoying if you had to set all these to test
the script locally.
Commit: 8d714db7f9617252401f85537d672c5b92c20557
https://github.com/llvm/llvm-project/commit/8d714db7f9617252401f85537d672c5b92c20557
Author: Christian Kandeler <christian.kandeler at qt.io>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
Log Message:
-----------
[clangd] Consider expression statements in ExtractVariable tweak (#112525)
For instance:
int func();
int main()
{
func(); // => auto placeholder = func();
}
Commit: 14dcf8214f9c66172d17c1cfaec6aec0030748e0
https://github.com/llvm/llvm-project/commit/14dcf8214f9c66172d17c1cfaec6aec0030748e0
Author: Peter Waller <peter.waller at arm.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
A bolt/test/AArch64/pad-before-funcs.s
Log Message:
-----------
[BOLT] Add --pad-funcs-before=func:n (#117924)
This complements --pad-funcs, and by using both simultaneously, enables
moving a specific function through the address space without modifying
any code
other than the targeted function (and references to it) by doing
(before+after=constant).
See also: proposed functionality to enable inserting random padding in
https://discourse.llvm.org/t/rfc-lld-feature-for-controlling-for-code-size-dependent-measurement-bias
and https://github.com/llvm/llvm-project/pull/117653
Commit: 4dde52d76b5342fd7e0b51094580818f3934ae2f
https://github.com/llvm/llvm-project/commit/4dde52d76b5342fd7e0b51094580818f3934ae2f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Check for overlapping memcpy regions (#119535)
Commit: 088e74cf73549b556cb718f5322ae40a2c84a1f8
https://github.com/llvm/llvm-project/commit/088e74cf73549b556cb718f5322ae40a2c84a1f8
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/test/tools/llvm-readobj/ELF/note-core.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm][llvm-readobj] Add NT_ARM_GCS Linux core note type (#117545)
The ARM Guarded Control Stack extension (GCS) is similar to existing
shadow stack extensions for other architectures.
The core note will include which features of GCS are enabled, which have
been locked in their current state, and the stack pointer of the shadow
stack.
Note that 0x40f is NT_ARM_POE, FPMR is supported by LLDB and GCS will be
soon, POE is not at this time. So NT_ARM_POE will be added when that
work starts.
See
https://github.com/torvalds/linux/blob/master/include/uapi/linux/elf.h.
Commit: 6c7e5827eda26990e872eb7c3f0d7866ee3c3171
https://github.com/llvm/llvm-project/commit/6c7e5827eda26990e872eb7c3f0d7866ee3c3171
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[SelectionDAG] Don't call ComputeValueVTs for "demote register" (NFC) (#119268)
`ComputeValueVTs` only breaks down aggregate types. For pointer types it
is equivalent to calling `TargetLoweringBase::getPointerTy`.
Commit: 8eb12f6775d288eece9a2bf090d2675c025bf457
https://github.com/llvm/llvm-project/commit/8eb12f6775d288eece9a2bf090d2675c025bf457
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_sopp.s
M llvm/test/MC/AMDGPU/gfx12_err.s
M llvm/test/MC/AMDGPU/sopk.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopp.txt
Log Message:
-----------
[AMDGPU] Support s_endpgm_ordered_ps_done on GFX11 (#119230)
Support assembly/disassembly of this instruction for compatibility with
SP3, even though it has no use in GFX11. It is fully removed in GFX12.
Commit: 3057ac1c9a76b9957a6bcdd0595788ac342dba6b
https://github.com/llvm/llvm-project/commit/3057ac1c9a76b9957a6bcdd0595788ac342dba6b
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[SelectionDAG] Fix "unused variable" warnings after #119268 (NFC) (#119550)
Commit: c69f8296f313d4b0766b322fea121c576bd4ec01
https://github.com/llvm/llvm-project/commit/c69f8296f313d4b0766b322fea121c576bd4ec01
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vec-strict-cmp-128.ll
Log Message:
-----------
[X86][StrictFP] Add widening support for STRICT_FMIN/STRICT_FMAX (#119391)
Fixes: #119422
Commit: 0100c631f85480ecdf1b35f2aedbfc0200a81174
https://github.com/llvm/llvm-project/commit/0100c631f85480ecdf1b35f2aedbfc0200a81174
Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
M llvm/docs/Reference.rst
A llvm/docs/UndefinedBehavior.rst
Log Message:
-----------
[docs] Add guide about Undefined Behavior (#119220)
Thanks Antonio Frighetto, John Regehr, and Nikita Popov for reviewing this!
Commit: 6812a6a3954df8b1aa1929a7e750b1ccf9019f25
https://github.com/llvm/llvm-project/commit/6812a6a3954df8b1aa1929a7e750b1ccf9019f25
Author: Florian Mayer <fmayer at google.com>
Date: 2024-12-11 (Wed, 11 Dec 2024)
Changed paths:
A .ci/generate_test_report.py
A .ci/metrics/Dockerfile
A .ci/metrics/metrics.py
A .ci/metrics/requirements.lock.txt
A .ci/metrics/requirements.txt
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
A .ci/requirements.txt
M .github/CODEOWNERS
M .github/new-issues-labeler.yml
M .github/new-prs-labeler.yml
M .github/workflows/build-ci-container.yml
A .github/workflows/build-metrics-container.yml
M .github/workflows/commit-access-review.py
A .github/workflows/containers/github-action-ci/Dockerfile
R .github/workflows/containers/github-action-ci/bootstrap.patch
R .github/workflows/containers/github-action-ci/stage1.Dockerfile
R .github/workflows/containers/github-action-ci/stage2.Dockerfile
R .github/workflows/containers/github-action-ci/storage.conf
M .github/workflows/docs.yml
A .github/workflows/libc-fullbuild-tests.yml
A .github/workflows/libc-overlay-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
A .github/workflows/libcxx-build-containers.yml
M .github/workflows/libcxx-restart-preempted-jobs.yaml
M .gitignore
R bolt/CODE_OWNERS.TXT
A bolt/Maintainers.txt
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/Exceptions.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/DebugNames.cpp
M bolt/lib/Core/Exceptions.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Passes/SplitFunctions.cpp
M bolt/lib/Passes/VeneerElimination.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/JITLinkLinker.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/check-init-not-moved.s
M bolt/test/AArch64/data-at-0-offset.c
M bolt/test/AArch64/double_jump.cpp
A bolt/test/AArch64/pad-before-funcs.s
M bolt/test/AArch64/veneer-lld-abs.s
M bolt/test/R_ABS.pic.lld.cpp
M bolt/test/X86/double-jump.test
A bolt/test/X86/dwarf5-debug-names-union.test
M bolt/test/X86/dwarf5-df-inlined-subroutine-gc-sections-range.test
A bolt/test/X86/exceptions-compact.s
M bolt/test/X86/jmp-optimization.test
M bolt/test/X86/match-functions-with-call-graph.test
A bolt/test/X86/pie-eh-split-undo.s
A bolt/test/eh-frame-hdr.test
A bolt/test/eh-frame-overwrite.test
M bolt/test/pie.test
M bolt/test/runtime/X86/Inputs/pie-exceptions-failed-split.s
M bolt/test/runtime/X86/instrumentation-indirect.c
R bolt/test/runtime/X86/pie-exceptions-failed-split.test
A bolt/test/runtime/X86/pie-exceptions-split.test
M bolt/test/runtime/bolt-reserved.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
A bolt/unittests/Core/MemoryMaps.cpp
M bolt/utils/bughunter.sh
R clang-tools-extra/CODE_OWNERS.TXT
A clang-tools-extra/Maintainers.txt
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/NoLintDirectiveHandler.h
M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidConstOrRefDataMembersCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.h
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/Compiler.cpp
M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
M clang-tools-extra/clangd/GlobalCompilationDatabase.h
M clang-tools-extra/clangd/HeuristicResolver.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/ParsedAST.h
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/TUScheduler.cpp
M clang-tools-extra/clangd/TUScheduler.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/XRefs.h
M clang-tools-extra/clangd/benchmarks/IndexBenchmark.cpp
M clang-tools-extra/clangd/index/Background.cpp
M clang-tools-extra/clangd/index/Background.h
M clang-tools-extra/clangd/index/BackgroundRebuild.cpp
M clang-tools-extra/clangd/index/FileIndex.cpp
M clang-tools-extra/clangd/index/FileIndex.h
M clang-tools-extra/clangd/index/Index.cpp
M clang-tools-extra/clangd/index/Index.h
M clang-tools-extra/clangd/index/MemIndex.cpp
M clang-tools-extra/clangd/index/MemIndex.h
M clang-tools-extra/clangd/index/Merge.cpp
M clang-tools-extra/clangd/index/Merge.h
M clang-tools-extra/clangd/index/ProjectAware.cpp
M clang-tools-extra/clangd/index/Ref.h
M clang-tools-extra/clangd/index/Serialization.cpp
M clang-tools-extra/clangd/index/Serialization.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/index/SymbolCollector.h
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/index/dex/Dex.h
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/index/remote/Client.cpp
M clang-tools-extra/clangd/index/remote/Index.proto
M clang-tools-extra/clangd/index/remote/Service.proto
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
M clang-tools-extra/clangd/index/remote/server/Server.cpp
M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractFunction.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/clangd/support/DirectiveTree.cpp
M clang-tools-extra/clangd/test/index-serialization/Inputs/sample.idx
M clang-tools-extra/clangd/test/type-hierarchy-ext.test
M clang-tools-extra/clangd/test/type-hierarchy.test
M clang-tools-extra/clangd/tool/Check.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/DexTests.cpp
M clang-tools-extra/clangd/unittests/FileIndexTests.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/GlobalCompilationDatabaseTests.cpp
M clang-tools-extra/clangd/unittests/IndexTests.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/clangd/unittests/TestTU.cpp
M clang-tools-extra/clangd/unittests/TestWorkspace.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractFunctionTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/branch-clone.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/use-after-move.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/redundant-expression.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang-tools-extra/modularize/ModuleAssistant.cpp
M clang-tools-extra/test/CMakeLists.txt
A clang-tools-extra/test/clang-reorder-fields/FieldAnnotationsInMacros.cpp
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
A clang-tools-extra/test/clang-tidy/checkers/bugprone/alpha-core-identicalexpr.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-consteval.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-const-or-ref-data-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/default-arguments-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-module.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang/Maintainers.rst
M clang/cmake/caches/CrossWinToARMLinux.cmake
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/docs/AddressSanitizer.rst
M clang/docs/ClangFormat.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LeakSanitizer.rst
M clang/docs/LibASTMatchersReference.html
M clang/docs/OpenMPSupport.rst
M clang/docs/RealtimeSanitizer.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerCoverage.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/ThreadSafetyAnalysis.rst
M clang/docs/UsersManual.rst
A clang/docs/WarningSuppressionMappings.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/index.rst
M clang/docs/tools/dump_ast_matchers.py
M clang/docs/tools/dump_format_help.py
M clang/docs/tools/dump_format_style.py
M clang/include/clang/APINotes/Types.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/AttrIterator.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
M clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
M clang/include/clang/Analysis/CallGraph.h
M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsARM.def
M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/BuiltinsX86_64.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticOptions.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoringKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/PointerAuthOptions.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/arm_mve.td
M clang/include/clang/Basic/arm_mve_defs.td
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/CIR/CIRGenerator.h
A clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Dialect/IR/CIRTypes.h
A clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/FrontendAction.h
M clang/include/clang/Interpreter/Interpreter.h
M clang/include/clang/Interpreter/PartialTranslationUnit.h
R clang/include/clang/Parse/ParseDiagnostic.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Parse/RAIIObjectsForParser.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
M clang/include/module.modulemap
M clang/lib/APINotes/APINotesFormat.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/APINotes/APINotesTypes.cpp
M clang/lib/APINotes/APINotesWriter.cpp
M clang/lib/APINotes/APINotesYAMLCompiler.cpp
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTDumper.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
A clang/lib/AST/ByteCode/BitcastBuffer.cpp
A clang/lib/AST/ByteCode/BitcastBuffer.h
M clang/lib/AST/ByteCode/Boolean.h
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/PrimType.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Record.h
M clang/lib/AST/ByteCode/Source.cpp
M clang/lib/AST/ByteCode/Source.h
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/CXXInheritance.cpp
M clang/lib/AST/CommentCommandTraits.cpp
M clang/lib/AST/CommentLexer.cpp
M clang/lib/AST/CommentParser.cpp
M clang/lib/AST/CommentSema.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclFriend.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/DeclarationName.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConcepts.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExprObjC.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/ItaniumCXXABI.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OSLog.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/ParentMap.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Randstruct.cpp
M clang/lib/AST/RawCommentList.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtIterator.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTTBuilder.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/CallGraph.cpp
M clang/lib/Analysis/CalledOnceCheck.cpp
M clang/lib/Analysis/Consumed.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/Arena.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp
M clang/lib/Analysis/IntervalPartition.cpp
M clang/lib/Analysis/ProgramPoint.cpp
M clang/lib/Analysis/ReachableCode.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/SourceManager.cpp
A clang/lib/Basic/TargetDefines.h
M clang/lib/Basic/Targets.h
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARC.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/AVR.h
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Basic/Targets/BPF.h
M clang/lib/Basic/Targets/CSKY.cpp
M clang/lib/Basic/Targets/CSKY.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Hexagon.h
M clang/lib/Basic/Targets/Lanai.h
M clang/lib/Basic/Targets/LoongArch.cpp
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/M68k.cpp
M clang/lib/Basic/Targets/M68k.h
M clang/lib/Basic/Targets/MSP430.h
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/PNaCl.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/Sparc.h
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/VE.cpp
M clang/lib/Basic/Targets/VE.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Basic/Targets/XCore.cpp
M clang/lib/Basic/Targets/XCore.h
M clang/lib/Basic/Warnings.cpp
A clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
A clang/lib/CIR/CodeGen/CIRGenTypes.cpp
A clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDARuntime.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGGPUBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenABITypes.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/ConstantInitBuilder.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/LinkInModulesPass.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
M clang/lib/CodeGen/SanitizerMetadata.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/Driver/Compilation.cpp
M clang/lib/Driver/Distro.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/DriverOptions.cpp
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/Multilib.cpp
M clang/lib/Driver/MultilibBuilder.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.h
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/Driver/XRayArgs.cpp
M clang/lib/Format/CMakeLists.txt
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/amdgpuintrin.h
A clang/lib/Headers/amxbf16transposeintrin.h
A clang/lib/Headers/amxcomplextransposeintrin.h
M clang/lib/Headers/amxfp16intrin.h
A clang/lib/Headers/amxfp16transposeintrin.h
M clang/lib/Headers/amxintrin.h
M clang/lib/Headers/avx10_2copyintrin.h
M clang/lib/Headers/avx512vpopcntdqintrin.h
M clang/lib/Headers/avx512vpopcntdqvlintrin.h
M clang/lib/Headers/cuda_wrappers/new
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/intrin.h
M clang/lib/Headers/intrin0.h
M clang/lib/Headers/larchintrin.h
M clang/lib/Headers/lasxintrin.h
M clang/lib/Headers/limits.h
M clang/lib/Headers/lsxintrin.h
A clang/lib/Headers/movrsintrin.h
M clang/lib/Headers/nvptxintrin.h
M clang/lib/InstallAPI/DirectoryScanner.cpp
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Interpreter/Wasm.h
M clang/lib/Lex/HeaderMap.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/InitHeaderSearch.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/MacroArgs.cpp
M clang/lib/Lex/MacroInfo.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPCallbacks.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Lex/PreprocessingRecord.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Lex/PreprocessorLexer.cpp
M clang/lib/Lex/TokenLexer.cpp
M clang/lib/Parse/ParseAST.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/CheckExprLifetime.h
M clang/lib/Sema/CodeCompleteConsumer.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/ScopeInfo.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaFixItUtils.cpp
M clang/lib/Sema/SemaFunctionEffects.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/CMakeLists.txt
M clang/lib/Serialization/GlobalModuleIndex.cpp
A clang/lib/Serialization/TemplateArgumentHasher.cpp
A clang/lib/Serialization/TemplateArgumentHasher.h
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
R clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
A clang/lib/StaticAnalyzer/Checkers/WebKit/MemoryUnsafeCastChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Testing/TestAST.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/test/APINotes/Inputs/Headers/Lifetimebound.apinotes
M clang/test/APINotes/Inputs/Headers/Lifetimebound.h
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
M clang/test/APINotes/lifetimebound.cpp
M clang/test/APINotes/swift-import-as.cpp
A clang/test/AST/ByteCode/altivec.c
A clang/test/AST/ByteCode/amdgpu-nullptr.cl
A clang/test/AST/ByteCode/builtin-bit-cast-bitfields.cpp
M clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-bit-cast.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/c23.c
M clang/test/AST/ByteCode/cxx23.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/vectors.cpp
R clang/test/AST/HLSL/AppendStructuredBuffer-AST.hlsl
A clang/test/AST/HLSL/ArrayOutArgExpr.hlsl
A clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
R clang/test/AST/HLSL/ConsumeStructuredBuffer-AST.hlsl
R clang/test/AST/HLSL/RWBuffer-AST.hlsl
R clang/test/AST/HLSL/RWStructuredBuffer-AST.hlsl
R clang/test/AST/HLSL/RasterizerOrderedStructuredBuffer-AST.hlsl
R clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
A clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
A clang/test/AST/HLSL/TypedBuffers-AST.hlsl
A clang/test/AST/HLSL/is_typed_resource_element_compatible_concept.hlsl
M clang/test/AST/arm-mfp8.cpp
A clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/AST/ast-dump-types-json.cpp
A clang/test/AST/ast-print-openacc-combined-construct.cpp
A clang/test/AST/ast-print-packindexingexpr.cpp
A clang/test/AST/attr-lifetime-capture-by.cpp
A clang/test/AST/ms-constexpr-new.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-checked-const-member.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked-ptr.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-counted-const-member.cpp
A clang/test/Analysis/Checkers/WebKit/local-vars-checked-const-member.cpp
A clang/test/Analysis/Checkers/WebKit/local-vars-counted-const-member.cpp
A clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.cpp
A clang/test/Analysis/Checkers/WebKit/memory-unsafe-cast.mm
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/bstring.cpp
M clang/test/Analysis/chroot.c
M clang/test/Analysis/copy-elision.cpp
M clang/test/Analysis/ctor-trivial-copy.cpp
M clang/test/Analysis/cxx-uninitialized-object-unguarded-access.cpp
M clang/test/Analysis/explain-svals.cpp
R clang/test/Analysis/identical-expressions.cpp
M clang/test/Analysis/initializer.cpp
M clang/test/Analysis/iterator-modeling.cpp
M clang/test/Analysis/reference.cpp
M clang/test/Analysis/show-checker-list.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/stl-algorithm-modeling-aggressive-std-find-modeling.cpp
M clang/test/Analysis/stl-algorithm-modeling.cpp
M clang/test/Analysis/store-dump-orders.cpp
M clang/test/Analysis/string.c
M clang/test/Analysis/string.cpp
A clang/test/Analysis/string_notnullterm.c
M clang/test/Analysis/taint-generic.cpp
M clang/test/Analysis/template-param-objects.cpp
A clang/test/Analysis/void-call-exit-modelling.c
A clang/test/C/C23/n2412.c
A clang/test/CIR/global-var-simple.cpp
M clang/test/CXX/class.access/class.friend/p11.cpp
M clang/test/CXX/conv/conv.mem/p4.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p3.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.noreturn/p1.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p2-cxx0x.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg158.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg722.cpp
M clang/test/CXX/expr/expr.const/p2-0x.cpp
M clang/test/CXX/expr/expr.unary/expr.unary.op/p4.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/CXX/temp/temp.decls/temp.variadic/sizeofpack.cpp
A clang/test/CodeCompletion/keywords-cxx20.cpp
M clang/test/CodeGen/AArch64/debug-types.c
M clang/test/CodeGen/AArch64/elf-pauthabi.c
A clang/test/CodeGen/AArch64/fixed-register-global.c
M clang/test/CodeGen/AArch64/fmv-dependencies.c
M clang/test/CodeGen/AArch64/fmv-streaming.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_cvt.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sme2_fp8_fmopa.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_sve2_fp8_cvt.c
M clang/test/CodeGen/AArch64/ls64-inline-asm.c
M clang/test/CodeGen/AArch64/mixed-target-attributes.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
A clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ld1_vnum.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_st1_vnum.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
M clang/test/CodeGen/AArch64/sve-vector-bitwise-ops.c
M clang/test/CodeGen/AArch64/sve-vls-arith-ops.c
M clang/test/CodeGen/AArch64/sve-vls-bitwise-ops.c
M clang/test/CodeGen/AArch64/sve-vls-compare-ops.c
M clang/test/CodeGen/AArch64/sve-vls-shift-ops.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_aesd.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_aese.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_aesimc.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_aesmc.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_pmullb_128.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_pmullt_128.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_extq.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
M clang/test/CodeGen/PowerPC/musttail-forward-declaration-inline.c
M clang/test/CodeGen/PowerPC/musttail-forward-declaration-weak.c
M clang/test/CodeGen/PowerPC/musttail-indirect.cpp
M clang/test/CodeGen/PowerPC/musttail-inline.c
M clang/test/CodeGen/PowerPC/musttail-undefined.c
M clang/test/CodeGen/PowerPC/musttail-weak.c
M clang/test/CodeGen/PowerPC/musttail.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
A clang/test/CodeGen/RISCV/builtin-cpu-is-error.c
A clang/test/CodeGen/RISCV/builtin-cpu-is.c
M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
M clang/test/CodeGen/RISCV/riscv-inline-asm.c
M clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
M clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
A clang/test/CodeGen/SystemZ/builtin-setjmp-logjmp.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M clang/test/CodeGen/SystemZ/zos-mixed-ptr-sizes.c
M clang/test/CodeGen/SystemZ/zvector.c
M clang/test/CodeGen/SystemZ/zvector2.c
M clang/test/CodeGen/X86/amx_transpose.c
M clang/test/CodeGen/X86/amx_transpose_api.c
M clang/test/CodeGen/X86/amx_transpose_errors.c
M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
M clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/X86/cx-complex-range.c
M clang/test/CodeGen/X86/math-builtins.c
A clang/test/CodeGen/X86/movrs-builtins.c
M clang/test/CodeGen/X86/ms-x86-intrinsics.c
M clang/test/CodeGen/X86/x86_64-PR42672.c
M clang/test/CodeGen/alias.cpp
A clang/test/CodeGen/allow-ubsan-check-inline.c
M clang/test/CodeGen/amdgpu-barrier-type-debug-info.c
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M clang/test/CodeGen/arm-mfp8.c
M clang/test/CodeGen/arm-mve-intrinsics/compare.c
M clang/test/CodeGen/arm-mve-intrinsics/ternary.c
M clang/test/CodeGen/arm-mve-intrinsics/vadc.c
M clang/test/CodeGen/arm-vfp16-arguments.c
M clang/test/CodeGen/arm-vfp16-arguments2.cpp
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/arm64_32-vaarg.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
M clang/test/CodeGen/attr-counted-by-pr110385.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-cpuspecific-cpus.c
M clang/test/CodeGen/attr-cpuspecific.c
M clang/test/CodeGen/attr-ifunc.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-mv.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/attr-target-x86.c
M clang/test/CodeGen/blocks.c
M clang/test/CodeGen/bounds-checking.c
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/catch-undef-behavior.c
M clang/test/CodeGen/constrained-math-builtins.c
M clang/test/CodeGen/cx-complex-range.c
A clang/test/CodeGen/embed-bitcode-marker-with-nonzero-as.c
A clang/test/CodeGen/ifunc-win.c
M clang/test/CodeGen/ifunc.c
M clang/test/CodeGen/ignore-overflow-pattern.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/libcalls.c
M clang/test/CodeGen/math-libcalls-tbaa-indirect-args.c
M clang/test/CodeGen/math-libcalls-tbaa.c
M clang/test/CodeGen/math-libcalls.c
M clang/test/CodeGen/matrix-type-operators-fast-math.c
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/ms-mixed-ptr-sizes.c
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/ptrauth-function-attributes.c
A clang/test/CodeGen/ptrauth-module-flags.c
M clang/test/CodeGen/sanitize-coverage-gated-callbacks.c
A clang/test/CodeGen/scoped-fence-ops.c
A clang/test/CodeGen/target-addrspace.cpp
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGen/target-data.c
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGen/tbaa-reference.cpp
M clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
A clang/test/CodeGen/ubsan-trap-merge.c
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
A clang/test/CodeGenCUDASPIRV/spirv-attrs.cu
A clang/test/CodeGenCXX/aarch64-mangle-sme-atts.cpp
M clang/test/CodeGenCXX/aarch64-sve-vector-conditional-op.cpp
M clang/test/CodeGenCXX/aarch64-sve-vector-init.cpp
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
A clang/test/CodeGenCXX/auto-var-init-attr.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenCXX/builtin-calling-conv.cpp
M clang/test/CodeGenCXX/catch-undef-behavior.cpp
M clang/test/CodeGenCXX/fmv-namespace.cpp
M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
M clang/test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
M clang/test/CodeGenCXX/microsoft-abi-typeid.cpp
M clang/test/CodeGenCXX/ms-thread_local.cpp
A clang/test/CodeGenCXX/ms-uneval-context-crash.cpp
M clang/test/CodeGenCXX/template-instantiation.cpp
M clang/test/CodeGenCXX/wasm-args-returns.cpp
M clang/test/CodeGenHIP/printf_nonhostcall.cpp
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
M clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
A clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
A clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
A clang/test/CodeGenHLSL/builtins/WaveActiveAnyTrue.hlsl
A clang/test/CodeGenHLSL/builtins/asdouble.hlsl
A clang/test/CodeGenHLSL/builtins/clip.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
A clang/test/CodeGenHLSL/resource-bindings.hlsl
A clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
A clang/test/CodeGenHLSL/semantics/SV_GroupThreadID.hlsl
M clang/test/CodeGenObjC/arc-ternary-op.m
M clang/test/CodeGenObjCXX/arc.mm
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-call-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/amdgpu-nullptr.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx9-4-generic-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-read-tr.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-f16.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
M clang/test/CodeGenOpenCL/kernels-have-spir-cc-by-default.cl
M clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
A clang/test/Driver/Inputs/config-l.cfg
A clang/test/Driver/Inputs/cpunative/cortex-a57
A clang/test/Driver/Inputs/cpunative/cortex-a72
A clang/test/Driver/Inputs/cpunative/cortex-a76
A clang/test/Driver/Inputs/cpunative/neoverse-n1
A clang/test/Driver/Inputs/cpunative/neoverse-v2
R clang/test/Driver/aarch64-fixed-register-global.c
A clang/test/Driver/aarch64-fujitsu-monaka.c
M clang/test/Driver/aarch64-implied-sme-features.c
M clang/test/Driver/aarch64-implied-sve-features.c
A clang/test/Driver/aarch64-mcpu-native.c
M clang/test/Driver/aarch64-ptrauth.c
M clang/test/Driver/amdgpu-hip-system-arch.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-openmp-system-arch-fail.c
M clang/test/Driver/arm-alignment.c
M clang/test/Driver/arm-cortex-cpus-2.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/cl-options.c
M clang/test/Driver/cl-zc.cpp
M clang/test/Driver/clang_f_opts.c
M clang/test/Driver/codeview-column-info.c
M clang/test/Driver/config-file.c
A clang/test/Driver/cuda-no-threadsafe-statics.cu
A clang/test/Driver/darwin-subframeworks.c
A clang/test/Driver/fprofile-sample-use.c
M clang/test/Driver/frame-pointer-elim.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/fuchsia.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/hexagon-toolchain-linux.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hip-rdc-device-only.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hip-toolchain-rdc-separate.hip
M clang/test/Driver/hip-toolchain-rdc.hip
M clang/test/Driver/linux-ld.c
M clang/test/Driver/loongarch-march.c
A clang/test/Driver/loongarch-mdiv32.c
A clang/test/Driver/loongarch-mlamcas.c
A clang/test/Driver/loongarch-mld-seq-sa.c
M clang/test/Driver/mingw.cpp
M clang/test/Driver/module-fgen-reduced-bmi.cppm
M clang/test/Driver/module-output.cppm
A clang/test/Driver/msp430-char.c
M clang/test/Driver/nvptx-cuda-system-arch.c
M clang/test/Driver/openmp-offload.c
M clang/test/Driver/openmp-system-arch.c
A clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c
A clang/test/Driver/print-supported-cpus-aarch64.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/ps5-linker.c
M clang/test/Driver/relax.s
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/unsupported-option.c
M clang/test/Driver/x86-march.c
A clang/test/Driver/xtensa-char.c
A clang/test/Format/docs_updated.test
M clang/test/Format/lit.local.cfg
M clang/test/Frontend/noderef.cpp
M clang/test/Headers/__clang_hip_math_ocml_rounded_ops.hip
M clang/test/Headers/limits.cpp
M clang/test/Index/print-type.cpp
A clang/test/Interpreter/crash.cpp
M clang/test/Layout/ms-x86-member-pointers.cpp
M clang/test/Lexer/gnu-flags.c
A clang/test/Misc/Inputs/suppression-mapping.txt
M clang/test/Misc/diag-template-diffing-cxx98.cpp
M clang/test/Misc/pragma-attribute-strict-subjects.c
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/arm.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M clang/test/Misc/target-invalid-cpu-note/x86.c
A clang/test/Misc/warning-suppression-mappings-pragmas.cpp
A clang/test/Misc/warning-suppression-mappings.cpp
M clang/test/Modules/compare-record.c
M clang/test/Modules/cxx-templates.cpp
M clang/test/Modules/no-eager-load.cppm
M clang/test/Modules/odr_hash.cpp
A clang/test/Modules/prune-non-affecting-module-map-repeated-textual.cpp
A clang/test/Modules/recursive-instantiations.cppm
M clang/test/Modules/same-decl-in-different-modules.cppm
M clang/test/OpenMP/flush_ast_print.cpp
M clang/test/OpenMP/flush_codegen.cpp
M clang/test/OpenMP/flush_messages.cpp
M clang/test/OpenMP/for_simd_loop_messages.cpp
M clang/test/OpenMP/masked_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/master_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
M clang/test/OpenMP/parallel_for_simd_loop_messages.cpp
M clang/test/OpenMP/parallel_for_simd_messages.cpp
M clang/test/OpenMP/parallel_masked_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/simd_linear_messages.cpp
M clang/test/OpenMP/target_parallel_ast_print.cpp
M clang/test/OpenMP/target_parallel_for_simd_ordered_messages.cpp
M clang/test/OpenMP/target_teams_ast_print.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/taskloop_simd_linear_messages.cpp
A clang/test/OpenMP/taskloop_strictmodifier_codegen.cpp
M clang/test/OpenMP/teams_ast_print.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/Parser/cxx2c-delete-with-message.cpp
A clang/test/Parser/cxx2c-oxford-variadic-comma.cpp
M clang/test/Parser/cxx2c-pack-indexing.cpp
A clang/test/Parser/gh110231.cpp
M clang/test/Parser/pragma-attribute.cpp
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/has_builtin_cpuid.c
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/init-loongarch.c
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/macro_fn.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/ptrauth_feature.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/sycl-macro.cpp
M clang/test/Refactor/Extract/ObjCProperty.m
A clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/aarch64-fixed-global-register.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_cvt.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_imm.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_sme2_fp8_mopa.c
A clang/test/Sema/aarch64-sve-intrinsics/acle_neon_sve_bridge.cpp
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_aes_bitperm_sha3_sm4.cpp
A clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_fp8.c
M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
A clang/test/Sema/amdgcn-address-spaces.c
M clang/test/Sema/arm-mfp8.c
M clang/test/Sema/arm-mfp8.cpp
M clang/test/Sema/asm.c
M clang/test/Sema/attr-nonblocking-constraints.cpp
A clang/test/Sema/attr-target-version-unsupported.c
M clang/test/Sema/builtin-counted-by-ref.c
M clang/test/Sema/c2x-nodiscard.c
M clang/test/Sema/constant_builtins_vector.cpp
M clang/test/Sema/enum.c
A clang/test/Sema/nvptx-address-spaces.c
M clang/test/Sema/pragma-attribute-strict-subjects.c
A clang/test/Sema/warn-lifetime-analysis-capture-by.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/Sema/warn-stringcompare.c
A clang/test/SemaCUDA/spirv-attrs.cu
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
A clang/test/SemaCXX/attr-annotate-ast.cpp
A clang/test/SemaCXX/attr-lifetime-capture-by.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
A clang/test/SemaCXX/attr-no-specializations.cpp
M clang/test/SemaCXX/builtin-bit-cast.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
M clang/test/SemaCXX/constexpr-return-non-void-cxx2b.cpp
M clang/test/SemaCXX/cxx1y-initializer-aggregates.cpp
A clang/test/SemaCXX/cxx20-warn-dangling-paren-list-agg-init.cpp
A clang/test/SemaCXX/cxx2b-warn-shadow.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/deprecated.cpp
M clang/test/SemaCXX/function-redecl.cpp
M clang/test/SemaCXX/integer-overflow.cpp
M clang/test/SemaCXX/lambda-capture-type-deduction.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/literal-type.cpp
M clang/test/SemaCXX/ms-constexpr-new.cpp
M clang/test/SemaCXX/new-delete.cpp
A clang/test/SemaCXX/noexcept-destroying-delete.cpp
M clang/test/SemaCXX/paren-list-agg-init.cpp
M clang/test/SemaCXX/source_location.cpp
M clang/test/SemaCXX/static-cast.cpp
A clang/test/SemaCXX/warn-array-comparion.cpp
M clang/test/SemaCXX/warn-memaccess.cpp
M clang/test/SemaCXX/warn-missing-noreturn.cpp
M clang/test/SemaCXX/warn-self-comparisons.cpp
M clang/test/SemaCXX/warn-shadow.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp
M clang/test/SemaCXX/warn-unused-private-field.cpp
M clang/test/SemaCXX/warn-unused-result.cpp
A clang/test/SemaHIP/zero-sized-device-array.hip
M clang/test/SemaHLSL/ArrayTemporary.hlsl
A clang/test/SemaHLSL/BuiltIns/GroupMemoryBarrierWithGroupSync-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveAnyTrue-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/asdouble-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/buffer_update_counter-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/clip-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/resource_getpointer-errors.hlsl
A clang/test/SemaHLSL/Language/ArrayOutputArgs-errors.hlsl
M clang/test/SemaHLSL/Semantics/entry_parameter.hlsl
M clang/test/SemaHLSL/Semantics/invalid_entry_parameter.hlsl
M clang/test/SemaHLSL/Semantics/valid_entry_parameter.hlsl
M clang/test/SemaHLSL/Types/Traits/IsTypedResourceElementCompatible.hlsl
R clang/test/SemaHLSL/Types/Traits/IsTypedResourceElementCompatibleErrors.hlsl
M clang/test/SemaObjC/comptypes-legal.m
A clang/test/SemaObjC/method-param-named-id.m
A clang/test/SemaOpenACC/combined-construct-async-clause.c
A clang/test/SemaOpenACC/combined-construct-async-clause.cpp
A clang/test/SemaOpenACC/combined-construct-attach-ast.cpp
A clang/test/SemaOpenACC/combined-construct-attach-clause.c
A clang/test/SemaOpenACC/combined-construct-attach-clause.cpp
A clang/test/SemaOpenACC/combined-construct-auto_seq_independent-ast.cpp
A clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
A clang/test/SemaOpenACC/combined-construct-collapse-ast.cpp
A clang/test/SemaOpenACC/combined-construct-collapse-clause.cpp
A clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copy-clause.c
A clang/test/SemaOpenACC/combined-construct-copy-clause.cpp
A clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copyin-clause.c
A clang/test/SemaOpenACC/combined-construct-copyin-clause.cpp
A clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
A clang/test/SemaOpenACC/combined-construct-copyout-clause.c
A clang/test/SemaOpenACC/combined-construct-copyout-clause.cpp
A clang/test/SemaOpenACC/combined-construct-create-ast.cpp
A clang/test/SemaOpenACC/combined-construct-create-clause.c
A clang/test/SemaOpenACC/combined-construct-create-clause.cpp
A clang/test/SemaOpenACC/combined-construct-default-ast.cpp
A clang/test/SemaOpenACC/combined-construct-default-clause.c
A clang/test/SemaOpenACC/combined-construct-default-clause.cpp
A clang/test/SemaOpenACC/combined-construct-device_type-ast.cpp
A clang/test/SemaOpenACC/combined-construct-device_type-clause.c
A clang/test/SemaOpenACC/combined-construct-device_type-clause.cpp
A clang/test/SemaOpenACC/combined-construct-deviceptr-ast.cpp
A clang/test/SemaOpenACC/combined-construct-deviceptr-clause.c
A clang/test/SemaOpenACC/combined-construct-deviceptr-clause.cpp
A clang/test/SemaOpenACC/combined-construct-firstprivate-clause.c
A clang/test/SemaOpenACC/combined-construct-firstprivate-clause.cpp
A clang/test/SemaOpenACC/combined-construct-gang-ast.cpp
A clang/test/SemaOpenACC/combined-construct-gang-clause.cpp
A clang/test/SemaOpenACC/combined-construct-if-ast.cpp
A clang/test/SemaOpenACC/combined-construct-if-clause.c
A clang/test/SemaOpenACC/combined-construct-if-clause.cpp
A clang/test/SemaOpenACC/combined-construct-no_create-ast.cpp
A clang/test/SemaOpenACC/combined-construct-no_create-clause.c
A clang/test/SemaOpenACC/combined-construct-no_create-clause.cpp
A clang/test/SemaOpenACC/combined-construct-num_gangs-ast.cpp
A clang/test/SemaOpenACC/combined-construct-num_gangs-clause.c
A clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
A clang/test/SemaOpenACC/combined-construct-num_workers-clause.c
A clang/test/SemaOpenACC/combined-construct-present-ast.cpp
A clang/test/SemaOpenACC/combined-construct-present-clause.c
A clang/test/SemaOpenACC/combined-construct-present-clause.cpp
A clang/test/SemaOpenACC/combined-construct-private-clause.c
A clang/test/SemaOpenACC/combined-construct-private-clause.cpp
A clang/test/SemaOpenACC/combined-construct-private-firstprivate-ast.cpp
A clang/test/SemaOpenACC/combined-construct-reduction-ast.cpp
A clang/test/SemaOpenACC/combined-construct-reduction-clause.cpp
A clang/test/SemaOpenACC/combined-construct-self-ast.cpp
A clang/test/SemaOpenACC/combined-construct-self-clause.c
A clang/test/SemaOpenACC/combined-construct-self-clause.cpp
A clang/test/SemaOpenACC/combined-construct-tile-ast.cpp
A clang/test/SemaOpenACC/combined-construct-tile-clause.cpp
A clang/test/SemaOpenACC/combined-construct-vector-ast.cpp
A clang/test/SemaOpenACC/combined-construct-vector-clause.cpp
A clang/test/SemaOpenACC/combined-construct-vector_length-ast.cpp
A clang/test/SemaOpenACC/combined-construct-vector_length-clause.c
A clang/test/SemaOpenACC/combined-construct-wait-ast.cpp
A clang/test/SemaOpenACC/combined-construct-wait-clause.c
A clang/test/SemaOpenACC/combined-construct-wait-clause.cpp
A clang/test/SemaOpenACC/combined-construct-worker-ast.cpp
A clang/test/SemaOpenACC/combined-construct-worker-clause.cpp
M clang/test/SemaOpenACC/combined-construct.cpp
M clang/test/SemaOpenACC/compute-construct-default-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
M clang/test/SemaOpenACC/compute-construct-if-clause.c
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenACC/loop-construct-gang-clause.cpp
M clang/test/SemaOpenACC/loop-construct-vector-clause.cpp
M clang/test/SemaOpenACC/loop-construct-worker-clause.cpp
M clang/test/SemaOpenACC/loop-construct.cpp
M clang/test/SemaOpenCL/access-qualifier.cl
A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-wave32.cl
M clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-wave32-func-attr.cl
A clang/test/SemaTemplate/template-args-deduction-aggregates.cpp
M clang/test/lit.cfg.py
M clang/tools/amdgpu-arch/AMDGPUArch.cpp
R clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp
A clang/tools/amdgpu-arch/AMDGPUArchByKFD.cpp
M clang/tools/amdgpu-arch/CMakeLists.txt
M clang/tools/c-index-test/core_main.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/git-clang-format
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M clang/tools/clang-repl/CMakeLists.txt
M clang/tools/clang-repl/ClangRepl.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-shlib/CMakeLists.txt
A clang/tools/clang-shlib/simple_version_script.map.in
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/cc1gen_reproducer_main.cpp
M clang/tools/driver/driver.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/Indexing.cpp
M clang/unittests/AST/ASTImporterTest.cpp
A clang/unittests/AST/ByteCode/BitcastBuffer.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/EvaluateAsRValueTest.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/AST/StructuralEquivalenceTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/CloneDetectionTest.cpp
M clang/unittests/Analysis/FlowSensitive/ASTOpsTest.cpp
M clang/unittests/Basic/DiagnosticTest.cpp
M clang/unittests/CodeGen/TBAAMetadataTest.cpp
M clang/unittests/CodeGen/TestCompiler.h
M clang/unittests/Driver/DXCModeTest.cpp
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/ASTUnitTest.cpp
M clang/unittests/Frontend/CodeGenActionTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/CompilerInvocationTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/OutputStreamTest.cpp
M clang/unittests/Frontend/PCHPreambleTest.cpp
M clang/unittests/Frontend/ReparseWorkingDirTest.cpp
M clang/unittests/Frontend/UtilsTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Sema/SemaNoloadLookupTest.cpp
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
A clang/unittests/Serialization/LoadSpecLazilyTest.cpp
M clang/unittests/Serialization/ModuleCacheTest.cpp
M clang/unittests/Serialization/NoCommentsTest.cpp
M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/ASTSelectionTest.cpp
A clang/unittests/Tooling/CRTPTestVisitor.h
M clang/unittests/Tooling/CastExprTest.cpp
M clang/unittests/Tooling/CommentHandlerTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/ExecutionTest.cpp
M clang/unittests/Tooling/LexicallyOrderedRecursiveASTVisitorTest.cpp
M clang/unittests/Tooling/LookupTest.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTestDeclVisitor.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTestPostOrderVisitor.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTestTypeLocVisitor.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/Attr.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/BitfieldInitializer.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/CXXBoolLiteralExpr.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/CXXMemberCall.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/CXXMethodDecl.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/CXXOperatorCallExprTraverser.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/CallbacksCommon.h
M clang/unittests/Tooling/RecursiveASTVisitorTests/Class.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/Concept.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/ConstructExpr.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/DeclRefExpr.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/ImplicitCtor.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/ImplicitCtorInitializer.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPostOrder.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPostOrderNoQueue.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPreOrder.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/InitListExprPreOrderNoQueue.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/IntegerLiteral.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/LambdaDefaultCapture.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/LambdaExpr.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/LambdaTemplateParams.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/MemberPointerTypeLoc.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/NestedNameSpecifiers.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/ParenExpr.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/TemplateArgumentLocTraverser.cpp
M clang/unittests/Tooling/RecursiveASTVisitorTests/TraversalScope.cpp
M clang/unittests/Tooling/RefactoringTest.cpp
M clang/unittests/Tooling/SourceCodeTest.cpp
M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp
M clang/unittests/Tooling/TestVisitor.h
M clang/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/ASTTableGen.cpp
M clang/utils/TableGen/ClangASTNodesEmitter.cpp
M clang/utils/TableGen/ClangASTPropertiesEmitter.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp
M clang/utils/TableGen/ClangDataCollectorsEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/ClangSACheckersEmitter.cpp
M clang/utils/TableGen/ClangSyntaxEmitter.cpp
M clang/utils/TableGen/ClangTypeNodesEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/analyzer/exploded-graph-rewriter.py
M clang/utils/perf-training/perf-helper.py
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M clang/www/hacking.html
M cmake/Modules/CMakePolicy.cmake
M compiler-rt/CMakeLists.txt
R compiler-rt/CODE_OWNERS.TXT
A compiler-rt/Maintainers.md
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
M compiler-rt/cmake/base-config-ix.cmake
M compiler-rt/cmake/caches/hexagon-linux-clangrt.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/include/sanitizer/memprof_interface.h
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/asan_descriptions.cpp
M compiler-rt/lib/asan/asan_flags.cpp
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_interceptors.h
M compiler-rt/lib/asan/asan_interceptors_memintrinsics.h
M compiler-rt/lib/builtins/CMakeLists.txt
R compiler-rt/lib/builtins/aarch64/sme-abi-vg.c
M compiler-rt/lib/builtins/aarch64/sme-abi.S
M compiler-rt/lib/builtins/cpu_model/aarch64.c
A compiler-rt/lib/builtins/cpu_model/aarch64/fmv/windows.inc
A compiler-rt/lib/builtins/cpu_model/aarch64/lse_atomics/windows.inc
M compiler-rt/lib/builtins/cpu_model/cpu_model.h
M compiler-rt/lib/builtins/cpu_model/x86.c
A compiler-rt/lib/builtins/extendhfxf2.c
M compiler-rt/lib/hwasan/hwasan_platform_interceptors.h
M compiler-rt/lib/interception/interception.h
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/interception_win.h
M compiler-rt/lib/interception/tests/interception_win_test.cpp
M compiler-rt/lib/lsan/lsan_common.cpp
M compiler-rt/lib/memprof/memprof_allocator.cpp
M compiler-rt/lib/memprof/memprof_flags.cpp
M compiler-rt/lib/memprof/memprof_flags.h
M compiler-rt/lib/memprof/memprof_flags.inc
M compiler-rt/lib/memprof/memprof_interceptors.cpp
M compiler-rt/lib/memprof/memprof_interceptors.h
M compiler-rt/lib/memprof/memprof_interceptors_memintrinsics.h
M compiler-rt/lib/memprof/memprof_interface_internal.h
M compiler-rt/lib/memprof/memprof_rtl.cpp
M compiler-rt/lib/memprof/weak_symbols.txt
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/msan/msan_poisoning.cpp
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/nsan/nsan_allocator.cpp
M compiler-rt/lib/nsan/nsan_interceptors.cpp
M compiler-rt/lib/orc/CMakeLists.txt
A compiler-rt/lib/orc/resolve.cpp
A compiler-rt/lib/orc/sysv_reenter.arm64.S
M compiler-rt/lib/orc/tests/unit/CMakeLists.txt
A compiler-rt/lib/orc/tests/unit/common.cpp
M compiler-rt/lib/profile/InstrProfilingMerge.c
M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
M compiler-rt/lib/rtsan/rtsan.cpp
M compiler-rt/lib/rtsan/rtsan_diagnostics.cpp
M compiler-rt/lib/rtsan/rtsan_diagnostics.h
M compiler-rt/lib/rtsan/rtsan_flags.inc
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_main.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc
M compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector.h
M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
A compiler-rt/lib/sanitizer_common/tests/sanitizer_block_signals.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_libc_test.cpp
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/allocator_config_wrapper.h
M compiler-rt/lib/scudo/standalone/list.h
M compiler-rt/lib/scudo/standalone/secondary.h
A compiler-rt/lib/scudo/standalone/type_traits.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
M compiler-rt/lib/xray/CMakeLists.txt
M compiler-rt/lib/xray/weak_symbols.txt
M compiler-rt/lib/xray/xray_flags.cpp
M compiler-rt/lib/xray/xray_flags.h
M compiler-rt/lib/xray/xray_interface.cpp
A compiler-rt/lib/xray/xray_riscv.cpp
A compiler-rt/lib/xray/xray_trampoline_riscv32.S
A compiler-rt/lib/xray/xray_trampoline_riscv64.S
A compiler-rt/lib/xray/xray_trampoline_riscv_common.S
M compiler-rt/lib/xray/xray_tsc.h
M compiler-rt/test/asan/TestCases/Linux/global-overflow-bfd.cpp
A compiler-rt/test/asan/TestCases/Windows/allocator_may_return_null_limits.cpp
M compiler-rt/test/builtins/Unit/atomic_test.c
A compiler-rt/test/builtins/Unit/extendhfxf2_test.c
M compiler-rt/test/builtins/Unit/fp_test.h
M compiler-rt/test/hwasan/lit.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/memprof/TestCases/default_options.cpp
A compiler-rt/test/memprof/TestCases/dump_at_exit.cpp
A compiler-rt/test/memprof/TestCases/set_options.cpp
A compiler-rt/test/msan/Linux/dn_expand.cpp
A compiler-rt/test/orc/TestCases/Darwin/Generic/trivial-cxx-constructor.cpp
A compiler-rt/test/orc/TestCases/Generic/Inputs/foo-ret-42.ll
A compiler-rt/test/orc/TestCases/Generic/Inputs/var-x-42.ll
A compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
R compiler-rt/test/orc/TestCases/Generic/orc-rt-executor-usage.test
M compiler-rt/test/orc/lit.cfg.py
M compiler-rt/test/profile/ContinuousSyncMode/basic.c
M compiler-rt/test/profile/ContinuousSyncMode/get-filename.c
M compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c
M compiler-rt/test/profile/ContinuousSyncMode/image-with-no-counters.c
A compiler-rt/test/profile/ContinuousSyncMode/multi-threaded.cpp
M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
M compiler-rt/test/profile/ContinuousSyncMode/pid-substitution.c
M compiler-rt/test/profile/ContinuousSyncMode/reset-default-profile.c
M compiler-rt/test/profile/ContinuousSyncMode/set-filename.c
A compiler-rt/test/profile/Linux/binary-id-offset.c
M compiler-rt/test/profile/lit.cfg.py
A compiler-rt/test/rtsan/Darwin/dlopen.cpp
M compiler-rt/test/rtsan/deduplicate_errors.cpp
A compiler-rt/test/rtsan/fork_exec.cpp
A compiler-rt/test/rtsan/report_error_summary.cpp
A compiler-rt/test/rtsan/syscall.cpp
R compiler-rt/test/sanitizer_common/TestCases/Linux/b64.cpp
R compiler-rt/test/sanitizer_common/TestCases/Linux/dn_expand.cpp
A compiler-rt/test/tsan/many_held_mutex.cpp
A compiler-rt/test/xray/TestCases/Posix/default-options.cpp
R flang/CODE_OWNERS.TXT
A flang/Maintainers.md
M flang/docs/Extensions.md
M flang/docs/Intrinsics.md
M flang/docs/ParserCombinators.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
A flang/include/flang/Common/Fortran-consts.h
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Common/Fortran.h
A flang/include/flang/Common/OpenMP-utils.h
M flang/include/flang/Common/format.h
A flang/include/flang/Common/target-rounding.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/FrontendOptions.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/Allocatable.h
M flang/include/flang/Lower/ConvertCall.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/PFTBuilder.h
M flang/include/flang/Lower/StatementContext.h
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/MutableBox.h
M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
M flang/include/flang/Optimizer/CodeGen/DescriptorModel.h
M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/include/flang/Optimizer/CodeGen/Target.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/OpenMP/Passes.h
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/include/flang/Optimizer/Transforms/CUFCommon.h
M flang/include/flang/Optimizer/Transforms/CUFOpConversion.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree-visitor.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/common.h
M flang/include/flang/Runtime/CUDA/descriptor.h
A flang/include/flang/Runtime/CUDA/memmove-function.h
M flang/include/flang/Runtime/CUDA/memory.h
A flang/include/flang/Runtime/allocator-registry-consts.h
M flang/include/flang/Runtime/allocator-registry.h
A flang/include/flang/Runtime/array-constructor-consts.h
M flang/include/flang/Runtime/array-constructor.h
M flang/include/flang/Runtime/assign.h
M flang/include/flang/Runtime/cpp-type.h
A flang/include/flang/Runtime/descriptor-consts.h
M flang/include/flang/Runtime/descriptor.h
M flang/include/flang/Runtime/exceptions.h
M flang/include/flang/Runtime/freestanding-tools.h
A flang/include/flang/Runtime/io-api-consts.h
M flang/include/flang/Runtime/io-api.h
A flang/include/flang/Runtime/iostat-consts.h
M flang/include/flang/Runtime/iostat.h
M flang/include/flang/Runtime/stop.h
M flang/include/flang/Runtime/type-code.h
M flang/include/flang/Semantics/openmp-directive-sets.h
A flang/include/flang/Semantics/openmp-modifiers.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Common/CMakeLists.txt
M flang/lib/Common/Fortran-features.cpp
A flang/lib/Common/OpenMP-utils.cpp
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/fold-matmul.h
M flang/lib/Evaluate/fold-real.cpp
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/target.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/ArrayConstructor.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFToLLVMIRTranslation.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
A flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFCommon.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/executable-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/type-parsers.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-directive-structure.h
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/compute-offsets.cpp
M flang/lib/Semantics/expression.cpp
A flang/lib/Semantics/openmp-modifiers.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/module/ieee_arithmetic.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/CUDA/CMakeLists.txt
M flang/runtime/CUDA/allocatable.cpp
M flang/runtime/CUDA/descriptor.cpp
A flang/runtime/CUDA/memmove-function.cpp
M flang/runtime/CUDA/memory.cpp
M flang/runtime/Float128Math/CMakeLists.txt
M flang/runtime/Float128Math/math-entries.h
A flang/runtime/Float128Math/remainder.cpp
M flang/runtime/array-constructor.cpp
M flang/runtime/assign-impl.h
M flang/runtime/assign.cpp
M flang/runtime/config.h.cmake
M flang/runtime/edit-input.cpp
M flang/runtime/environment-default-list.h
M flang/runtime/exceptions.cpp
M flang/runtime/format.h
M flang/runtime/internal-unit.cpp
M flang/runtime/non-tbp-dio.h
M flang/runtime/stop.cpp
M flang/runtime/sum.cpp
M flang/runtime/transformational.cpp
M flang/runtime/type-info.h
A flang/test/Analysis/AliasAnalysis/gen_mod_ref_test.py
A flang/test/Analysis/AliasAnalysis/modref-call-after-inlining.fir
A flang/test/Analysis/AliasAnalysis/modref-call-args.f90
A flang/test/Analysis/AliasAnalysis/modref-call-dummies.f90
A flang/test/Analysis/AliasAnalysis/modref-call-equivalence.f90
A flang/test/Analysis/AliasAnalysis/modref-call-globals.f90
A flang/test/Analysis/AliasAnalysis/modref-call-internal-proc.f90
A flang/test/Analysis/AliasAnalysis/modref-call-locals.f90
A flang/test/Analysis/AliasAnalysis/modref-call-not-fortran.fir
A flang/test/Driver/Inputs/config-l.cfg
M flang/test/Driver/config-file.f90
M flang/test/Driver/dynamic-linker.f90
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Driver/isysroot.f90
A flang/test/Driver/mabi-loongarch.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
A flang/test/Driver/options-loongarch.f90
A flang/test/Driver/pp-fixed-form.f90
A flang/test/Driver/print-supported-cpus.f90
M flang/test/Driver/target-cpu-features.f90
A flang/test/Evaluate/bug115923.f90
M flang/test/Evaluate/fold-ieee.f90
M flang/test/Evaluate/folding09.f90
M flang/test/Evaluate/folding18.f90
M flang/test/Evaluate/int8.f90
M flang/test/Examples/omp-declarative-directive.f90
A flang/test/Fir/CUDA/cuda-abstract-result.mlir
M flang/test/Fir/CUDA/cuda-alloc-free.fir
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-data-transfer.fir
A flang/test/Fir/CUDA/cuda-device-context.mlir
M flang/test/Fir/CUDA/cuda-device-global.f90
A flang/test/Fir/CUDA/cuda-external-mangling.mlir
A flang/test/Fir/CUDA/cuda-global-addr.mlir
M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
A flang/test/Fir/CUDA/cuda-target-rewrite.mlir
M flang/test/Fir/arrayset.fir
M flang/test/Fir/arrexp.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/box-offset-codegen.fir
M flang/test/Fir/box.fir
M flang/test/Fir/boxproc-2.fir
A flang/test/Fir/boxproc-openmp.fir
M flang/test/Fir/boxproc.fir
M flang/test/Fir/commute.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/convert-to-llvm.fir
M flang/test/Fir/coordinateof.fir
M flang/test/Fir/embox.fir
M flang/test/Fir/field-index.fir
M flang/test/Fir/ignore-missing-type-descriptor.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
M flang/test/Fir/polymorphic.fir
A flang/test/Fir/struct-passing-loongarch64-byreg.fir
A flang/test/Fir/struct-passing-return-loongarch64-bystack.fir
M flang/test/Fir/struct-passing-x86-64-byval.fir
A flang/test/Fir/struct-return-aarch64.fir
A flang/test/Fir/struct-return-loongarch64-byreg.fir
M flang/test/Fir/target-rewrite-boxchar.fir
M flang/test/Fir/target-rewrite-complex-10-x86.fir
M flang/test/Fir/target-rewrite-complex16.fir
A flang/test/Fir/target-rewrite-integer-loongarch64.fir
M flang/test/Fir/target.fir
A flang/test/HLFIR/bufferize-workshare.fir
A flang/test/HLFIR/cshift-lowering.fir
A flang/test/HLFIR/element-codegen-issue-118922.fir
A flang/test/HLFIR/eval_in_mem-codegen.fir
A flang/test/HLFIR/eval_in_mem.fir
M flang/test/HLFIR/invalid.fir
M flang/test/HLFIR/minloc-elemental.fir
A flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
A flang/test/HLFIR/opt-bufferization-non-realloc-assignment.fir
M flang/test/HLFIR/order_assignments/where-scheduling.f90
A flang/test/HLFIR/simplify-hlfir-intrinsics-sum.fir
M flang/test/Integration/OpenMP/copyprivate.f90
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
A flang/test/Integration/OpenMP/workshare-array-array-assign.f90
A flang/test/Integration/OpenMP/workshare-axpy.f90
A flang/test/Integration/OpenMP/workshare-scalar-array-assign.f90
A flang/test/Integration/OpenMP/workshare-scalar-array-mul.f90
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
A flang/test/Lower/CUDA/cuda-return01.cuf
A flang/test/Lower/CUDA/cuda-return02.cuf
M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
M flang/test/Lower/HLFIR/array-ctor-character.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/assumed-rank-internal-proc.f90
A flang/test/Lower/HLFIR/calls-array-results.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
A flang/test/Lower/HLFIR/cshift.f90
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/HLFIR/maxloc.f90
M flang/test/Lower/HLFIR/maxval.f90
M flang/test/Lower/HLFIR/minloc.f90
M flang/test/Lower/HLFIR/minval.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/HLFIR/select-rank.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/where-nonelemental.f90
A flang/test/Lower/Intrinsics/ieee_rem.f90
M flang/test/Lower/Intrinsics/len_trim.f90
M flang/test/Lower/Intrinsics/system.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
A flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
A flang/test/Lower/OpenMP/Todo/atomic-compare.f90
A flang/test/Lower/OpenMP/Todo/defaultmap-clause.f90
A flang/test/Lower/OpenMP/Todo/depend-clause-depobj.f90
M flang/test/Lower/OpenMP/Todo/depend-clause-inoutset.f90
M flang/test/Lower/OpenMP/Todo/depend-clause-mutexinoutset.f90
A flang/test/Lower/OpenMP/Todo/flush-seq-cst.f90
R flang/test/Lower/OpenMP/Todo/loop-directive.f90
A flang/test/Lower/OpenMP/Todo/map-mapper.f90
A flang/test/Lower/OpenMP/Todo/omp-declare-mapper.f90
M flang/test/Lower/OpenMP/Todo/reduction-inscan.f90
M flang/test/Lower/OpenMP/Todo/reduction-modifiers.f90
A flang/test/Lower/OpenMP/Todo/scope-allocate.f90
A flang/test/Lower/OpenMP/Todo/scope-firstprivate.f90
R flang/test/Lower/OpenMP/Todo/task_detach.f90
R flang/test/Lower/OpenMP/Todo/task_mergeable.f90
M flang/test/Lower/OpenMP/Todo/task_untied.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/copyprivate.f90
M flang/test/Lower/OpenMP/copyprivate2.f90
A flang/test/Lower/OpenMP/declare-target-interface.f90
M flang/test/Lower/OpenMP/declare-target-link-tarop-cap.f90
A flang/test/Lower/OpenMP/delayed-privatization-default-init.f90
M flang/test/Lower/OpenMP/delayed-privatization-pointer.f90
A flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
M flang/test/Lower/OpenMP/derived-type-map.f90
A flang/test/Lower/OpenMP/generic-loop-rewriting.f90
A flang/test/Lower/OpenMP/loop-directive.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/task.f90
A flang/test/Lower/OpenMP/task_detach.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association.f90
M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
M flang/test/Lower/OpenMP/workshare.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/array-derived.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/array-expression-slice-1.f90
M flang/test/Lower/array-substring.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/attributes.f90
M flang/test/Lower/components.f90
A flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/explicit-interface-results.f90
M flang/test/Lower/forall/array-constructor.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/loops2.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/nsw.f90
M flang/test/Lower/vector-subscript-io.f90
M flang/test/Parser/OpenMP/affinity-clause.f90
M flang/test/Parser/OpenMP/allocators-unparse.f90
A flang/test/Parser/OpenMP/atomic-compare.f90
M flang/test/Parser/OpenMP/atomic-unparse.f90
A flang/test/Parser/OpenMP/bind-clause.f90
A flang/test/Parser/OpenMP/declare-mapper-unparse.f90
M flang/test/Parser/OpenMP/declare_target-device_type.f90
A flang/test/Parser/OpenMP/defaultmap-clause.f90
M flang/test/Parser/OpenMP/defaultmap-unparse.f90
M flang/test/Parser/OpenMP/depobj-construct.f90
M flang/test/Parser/OpenMP/from-clause.f90
M flang/test/Parser/OpenMP/if-clause-unparse.f90
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/OpenMP/in-reduction-clause.f90
M flang/test/Parser/OpenMP/lastprivate-clause.f90
M flang/test/Parser/OpenMP/map-modifiers.f90
M flang/test/Parser/OpenMP/order-clause01.f90
M flang/test/Parser/OpenMP/proc-bind.f90
M flang/test/Parser/OpenMP/reduction-modifier.f90
A flang/test/Parser/OpenMP/scan.f90
M flang/test/Parser/OpenMP/target-loop-unparse.f90
M flang/test/Parser/OpenMP/target-update-to-clause.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Parser/OpenMP/target_device_unparse.f90
M flang/test/Parser/OpenMP/taskloop.f90
M flang/test/Parser/cuf-sanity-common
A flang/test/Parser/decl-char-length.f90
A flang/test/Parser/recovery07.f90
A flang/test/Preprocessing/bug117297.F90
A flang/test/Preprocessing/not-an-exponent.F90
A flang/test/Preprocessing/pp046.F
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
A flang/test/Semantics/OpenMP/atomic-compare.f90
M flang/test/Semantics/OpenMP/atomic.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/combined-constructs.f90
A flang/test/Semantics/OpenMP/critical_within_default.f90
M flang/test/Semantics/OpenMP/declarative-directive01.f90
A flang/test/Semantics/OpenMP/declare-mapper-symbols.f90
A flang/test/Semantics/OpenMP/declare-mapper01.f90
A flang/test/Semantics/OpenMP/declare-mapper02.f90
A flang/test/Semantics/OpenMP/declare-mapper03.f90
A flang/test/Semantics/OpenMP/defaultmap-clause-v45.f90
A flang/test/Semantics/OpenMP/defaultmap-clause-v50.f90
M flang/test/Semantics/OpenMP/depend05.f90
M flang/test/Semantics/OpenMP/device-constructs.f90
M flang/test/Semantics/OpenMP/do05.f90
A flang/test/Semantics/OpenMP/do21.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/from-clause-v45.f90
M flang/test/Semantics/OpenMP/from-clause-v51.f90
M flang/test/Semantics/OpenMP/if-clause.f90
A flang/test/Semantics/OpenMP/linear-clause01.f90
A flang/test/Semantics/OpenMP/map-clause-symbols.f90
M flang/test/Semantics/OpenMP/map-clause.f90
M flang/test/Semantics/OpenMP/map-modifiers.f90
M flang/test/Semantics/OpenMP/nested-barrier.f90
M flang/test/Semantics/OpenMP/nested-master.f90
M flang/test/Semantics/OpenMP/nested-simd.f90
M flang/test/Semantics/OpenMP/nested-target.f90
M flang/test/Semantics/OpenMP/ordered-simd.f90
M flang/test/Semantics/OpenMP/reduction-modifiers.f90
M flang/test/Semantics/OpenMP/reduction04.f90
M flang/test/Semantics/OpenMP/reduction06.f90
M flang/test/Semantics/OpenMP/reduction12.f90
A flang/test/Semantics/OpenMP/reduction15.f90
A flang/test/Semantics/OpenMP/reduction16.f90
M flang/test/Semantics/OpenMP/resolve06.f90
A flang/test/Semantics/OpenMP/scan1.f90
A flang/test/Semantics/OpenMP/scan2.f90
M flang/test/Semantics/OpenMP/to-clause-v45.f90
M flang/test/Semantics/OpenMP/to-clause-v51.f90
M flang/test/Semantics/OpenMP/use_device_addr1.f90
M flang/test/Semantics/OpenMP/use_device_ptr1.f90
A flang/test/Semantics/bind-c17.f90
A flang/test/Semantics/bug115674.f90
M flang/test/Semantics/c_f_pointer.f90
M flang/test/Semantics/call14.f90
M flang/test/Semantics/call38.f90
M flang/test/Semantics/expr-errors06.f90
M flang/test/Semantics/io03.f90
M flang/test/Semantics/io04.f90
A flang/test/Semantics/pointer02.f90
M flang/test/Semantics/resolve58.f90
A flang/test/Semantics/smp-def02.f90
M flang/test/Semantics/test_symbols.py
M flang/test/Semantics/undef-result01.f90
A flang/test/Transforms/OpenMP/lower-workshare-alloca.mlir
A flang/test/Transforms/OpenMP/lower-workshare-binding.mlir
A flang/test/Transforms/OpenMP/lower-workshare-cleanup.mlir
A flang/test/Transforms/OpenMP/lower-workshare-copyprivate.mlir
A flang/test/Transforms/OpenMP/lower-workshare-correct-parallelize.mlir
A flang/test/Transforms/OpenMP/lower-workshare-nested.mlir
A flang/test/Transforms/OpenMP/lower-workshare-no-single.mlir
A flang/test/Transforms/OpenMP/lower-workshare-nowait.mlir
A flang/test/Transforms/OpenMP/lower-workshare-todo-cfg-dom.mlir
A flang/test/Transforms/OpenMP/lower-workshare-todo-cfg.mlir
A flang/test/Transforms/OpenMP/should-use-workshare-lowering.mlir
M flang/test/Transforms/constant-argument-globalisation.fir
A flang/test/Transforms/debug-class-type.fir
A flang/test/Transforms/function-attrs.fir
A flang/test/Transforms/generic-loop-rewriting-todo.mlir
A flang/test/Transforms/generic-loop-rewriting.mlir
M flang/test/Transforms/omp-map-info-finalization.fir
M flang/tools/bbc/bbc.cpp
M flang/tools/flang-driver/CMakeLists.txt
M flang/tools/flang-driver/fc1_main.cpp
M flang/tools/tco/tco.cpp
M flang/unittests/Evaluate/fp-testing.cpp
M flang/unittests/Evaluate/fp-testing.h
M flang/unittests/Optimizer/Builder/Runtime/AllocatableTest.cpp
M flang/unittests/Runtime/ArrayConstructor.cpp
M flang/unittests/Runtime/CMakeLists.txt
M flang/unittests/Runtime/CommandTest.cpp
M flang/unittests/Runtime/Complex.cpp
M flang/unittests/Runtime/ExternalIOTest.cpp
M flang/unittests/Runtime/ListInputTest.cpp
M flang/unittests/Runtime/LogicalFormatTest.cpp
M flang/unittests/Runtime/Namelist.cpp
M flang/unittests/Runtime/NumericalFormatTest.cpp
M flang/unittests/Runtime/RuntimeCrashTest.cpp
M libc/CMakeLists.txt
M libc/benchmarks/CMakeLists.txt
M libc/benchmarks/LibcBenchmark.h
M libc/benchmarks/MemorySizeDistributions.cpp
R libc/benchmarks/automemcpy/CMakeLists.txt
R libc/benchmarks/automemcpy/README.md
R libc/benchmarks/automemcpy/include/automemcpy/CodeGen.h
R libc/benchmarks/automemcpy/include/automemcpy/FunctionDescriptor.h
R libc/benchmarks/automemcpy/include/automemcpy/RandomFunctionGenerator.h
R libc/benchmarks/automemcpy/include/automemcpy/ResultAnalyzer.h
R libc/benchmarks/automemcpy/lib/CMakeLists.txt
R libc/benchmarks/automemcpy/lib/CodeGen.cpp
R libc/benchmarks/automemcpy/lib/CodeGenMain.cpp
R libc/benchmarks/automemcpy/lib/RandomFunctionGenerator.cpp
R libc/benchmarks/automemcpy/lib/ResultAnalyzer.cpp
R libc/benchmarks/automemcpy/lib/ResultAnalyzerMain.cpp
R libc/benchmarks/automemcpy/unittests/CMakeLists.txt
R libc/benchmarks/automemcpy/unittests/CodeGenTest.cpp
R libc/benchmarks/automemcpy/unittests/ResultAnalyzerTest.cpp
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
A libc/config/baremetal/aarch64/entrypoints.txt
A libc/config/baremetal/aarch64/headers.txt
R libc/config/baremetal/api.td
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
R libc/config/gpu/api.td
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
R libc/config/linux/api.td
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
R libc/config/public_api.td
M libc/config/windows/entrypoints.txt
A libc/config/windows/headers.txt
R libc/docs/complex.rst
R libc/docs/ctype.rst
R libc/docs/date_and_time.rst
M libc/docs/dev/header_generation.rst
M libc/docs/dev/source_tree_layout.rst
R libc/docs/fenv.rst
M libc/docs/gpu/building.rst
M libc/docs/gpu/rpc.rst
R libc/docs/header_gen_scheme.svg
A libc/docs/headers/assert.rst
A libc/docs/headers/complex.rst
A libc/docs/headers/ctype.rst
A libc/docs/headers/errno.rst
A libc/docs/headers/fenv.rst
A libc/docs/headers/float.rst
A libc/docs/headers/index.rst
A libc/docs/headers/inttypes.rst
A libc/docs/headers/locale.rst
A libc/docs/headers/math/index.rst
A libc/docs/headers/math/log.rst
A libc/docs/headers/math/stdfix.rst
A libc/docs/headers/search.rst
A libc/docs/headers/setjmp.rst
A libc/docs/headers/signal.rst
A libc/docs/headers/stdbit.rst
A libc/docs/headers/stdio.rst
A libc/docs/headers/stdlib.rst
A libc/docs/headers/string.rst
A libc/docs/headers/strings.rst
A libc/docs/headers/threads.rst
A libc/docs/headers/time.rst
A libc/docs/headers/uchar.rst
A libc/docs/headers/wchar.rst
A libc/docs/headers/wctype.rst
M libc/docs/index.rst
R libc/docs/libc_search.rst
R libc/docs/math/index.rst
R libc/docs/math/log.rst
R libc/docs/math/stdfix.rst
R libc/docs/setjmp.rst
R libc/docs/signal.rst
R libc/docs/stdbit.rst
R libc/docs/stdio.rst
R libc/docs/strings.rst
M libc/docs/talks.rst
R libc/docs/threads.rst
M libc/fuzzing/__support/CMakeLists.txt
A libc/fuzzing/__support/freelist_heap_fuzz.cpp
M libc/fuzzing/__support/hashtable_fuzz.cpp
M libc/fuzzing/math/Compare.h
M libc/fuzzing/string/CMakeLists.txt
M libc/fuzzing/string/bcmp_fuzz.cpp
M libc/hdr/CMakeLists.txt
M libc/hdr/fcntl_overlay.h
M libc/hdr/func/free.h
M libc/hdr/func/malloc.h
M libc/hdr/func/realloc.h
M libc/hdr/time_macros.h
M libc/hdr/types/CMakeLists.txt
M libc/hdr/types/clockid_t.h
M libc/hdr/types/struct_f_owner_ex.h
M libc/hdr/types/struct_flock.h
M libc/hdr/types/struct_flock64.h
A libc/hdrgen/CMakeLists.txt
A libc/hdrgen/class_implementation/classes/enumeration.py
A libc/hdrgen/class_implementation/classes/function.py
A libc/hdrgen/class_implementation/classes/macro.py
A libc/hdrgen/class_implementation/classes/object.py
A libc/hdrgen/class_implementation/classes/type.py
A libc/hdrgen/gpu_headers.py
A libc/hdrgen/header.py
A libc/hdrgen/tests/expected_output/test_header.h
A libc/hdrgen/tests/input/test_small.h.def
A libc/hdrgen/tests/input/test_small.yaml
A libc/hdrgen/tests/test_integration.py
A libc/hdrgen/yaml/arpa/inet.yaml
A libc/hdrgen/yaml/assert.yaml
A libc/hdrgen/yaml/ctype.yaml
A libc/hdrgen/yaml/dirent.yaml
A libc/hdrgen/yaml/dlfcn.yaml
A libc/hdrgen/yaml/elf.yaml
A libc/hdrgen/yaml/errno.yaml
A libc/hdrgen/yaml/fcntl.yaml
A libc/hdrgen/yaml/features.yaml
A libc/hdrgen/yaml/fenv.yaml
A libc/hdrgen/yaml/float.yaml
A libc/hdrgen/yaml/gpu/rpc.yaml
A libc/hdrgen/yaml/inttypes.yaml
A libc/hdrgen/yaml/limits.yaml
A libc/hdrgen/yaml/link.yaml
A libc/hdrgen/yaml/locale.yaml
A libc/hdrgen/yaml/malloc.yaml
A libc/hdrgen/yaml/math.yaml
A libc/hdrgen/yaml/pthread.yaml
A libc/hdrgen/yaml/sched.yaml
A libc/hdrgen/yaml/search.yaml
A libc/hdrgen/yaml/setjmp.yaml
A libc/hdrgen/yaml/signal.yaml
A libc/hdrgen/yaml/spawn.yaml
A libc/hdrgen/yaml/stdbit.yaml
A libc/hdrgen/yaml/stdckdint.yaml
A libc/hdrgen/yaml/stdfix.yaml
A libc/hdrgen/yaml/stdint.yaml
A libc/hdrgen/yaml/stdio.yaml
A libc/hdrgen/yaml/stdlib.yaml
A libc/hdrgen/yaml/string.yaml
A libc/hdrgen/yaml/strings.yaml
A libc/hdrgen/yaml/sys/auxv.yaml
A libc/hdrgen/yaml/sys/epoll.yaml
A libc/hdrgen/yaml/sys/ioctl.yaml
A libc/hdrgen/yaml/sys/mman.yaml
A libc/hdrgen/yaml/sys/prctl.yaml
A libc/hdrgen/yaml/sys/random.yaml
A libc/hdrgen/yaml/sys/resource.yaml
A libc/hdrgen/yaml/sys/select.yaml
A libc/hdrgen/yaml/sys/sendfile.yaml
A libc/hdrgen/yaml/sys/socket.yaml
A libc/hdrgen/yaml/sys/stat.yaml
A libc/hdrgen/yaml/sys/statvfs.yaml
A libc/hdrgen/yaml/sys/syscall.yaml
A libc/hdrgen/yaml/sys/time.yaml
A libc/hdrgen/yaml/sys/types.yaml
A libc/hdrgen/yaml/sys/utsname.yaml
A libc/hdrgen/yaml/sys/wait.yaml
A libc/hdrgen/yaml/termios.yaml
A libc/hdrgen/yaml/threads.yaml
A libc/hdrgen/yaml/time.yaml
A libc/hdrgen/yaml/uchar.yaml
A libc/hdrgen/yaml/unistd.yaml
A libc/hdrgen/yaml/wchar.yaml
A libc/hdrgen/yaml_functions_sorted.py
A libc/hdrgen/yaml_to_classes.py
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-macros/time-macros.h
A libc/include/llvm-libc-macros/windows/CMakeLists.txt
A libc/include/llvm-libc-macros/windows/time-macros-ext.h
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/cfloat128.h
R libc/include/llvm-libc-types/rpc_opcodes_t.h
M libc/include/pthread.h.def
R libc/newhdrgen/CMakeLists.txt
R libc/newhdrgen/class_implementation/classes/enumeration.py
R libc/newhdrgen/class_implementation/classes/function.py
R libc/newhdrgen/class_implementation/classes/macro.py
R libc/newhdrgen/class_implementation/classes/object.py
R libc/newhdrgen/class_implementation/classes/type.py
R libc/newhdrgen/gpu_headers.py
R libc/newhdrgen/header.py
R libc/newhdrgen/tests/expected_output/test_header.h
R libc/newhdrgen/tests/input/test_small.h.def
R libc/newhdrgen/tests/input/test_small.yaml
R libc/newhdrgen/tests/test_integration.py
R libc/newhdrgen/yaml/arpa/inet.yaml
R libc/newhdrgen/yaml/assert.yaml
R libc/newhdrgen/yaml/ctype.yaml
R libc/newhdrgen/yaml/dirent.yaml
R libc/newhdrgen/yaml/dlfcn.yaml
R libc/newhdrgen/yaml/elf.yaml
R libc/newhdrgen/yaml/errno.yaml
R libc/newhdrgen/yaml/fcntl.yaml
R libc/newhdrgen/yaml/features.yaml
R libc/newhdrgen/yaml/fenv.yaml
R libc/newhdrgen/yaml/float.yaml
R libc/newhdrgen/yaml/gpu/rpc.yaml
R libc/newhdrgen/yaml/inttypes.yaml
R libc/newhdrgen/yaml/limits.yaml
R libc/newhdrgen/yaml/link.yaml
R libc/newhdrgen/yaml/locale.yaml
R libc/newhdrgen/yaml/malloc.yaml
R libc/newhdrgen/yaml/math.yaml
R libc/newhdrgen/yaml/pthread.yaml
R libc/newhdrgen/yaml/sched.yaml
R libc/newhdrgen/yaml/search.yaml
R libc/newhdrgen/yaml/setjmp.yaml
R libc/newhdrgen/yaml/signal.yaml
R libc/newhdrgen/yaml/spawn.yaml
R libc/newhdrgen/yaml/stdbit.yaml
R libc/newhdrgen/yaml/stdckdint.yaml
R libc/newhdrgen/yaml/stdfix.yaml
R libc/newhdrgen/yaml/stdint.yaml
R libc/newhdrgen/yaml/stdio.yaml
R libc/newhdrgen/yaml/stdlib.yaml
R libc/newhdrgen/yaml/string.yaml
R libc/newhdrgen/yaml/strings.yaml
R libc/newhdrgen/yaml/sys/auxv.yaml
R libc/newhdrgen/yaml/sys/epoll.yaml
R libc/newhdrgen/yaml/sys/ioctl.yaml
R libc/newhdrgen/yaml/sys/mman.yaml
R libc/newhdrgen/yaml/sys/prctl.yaml
R libc/newhdrgen/yaml/sys/random.yaml
R libc/newhdrgen/yaml/sys/resource.yaml
R libc/newhdrgen/yaml/sys/select.yaml
R libc/newhdrgen/yaml/sys/sendfile.yaml
R libc/newhdrgen/yaml/sys/socket.yaml
R libc/newhdrgen/yaml/sys/stat.yaml
R libc/newhdrgen/yaml/sys/statvfs.yaml
R libc/newhdrgen/yaml/sys/syscall.yaml
R libc/newhdrgen/yaml/sys/time.yaml
R libc/newhdrgen/yaml/sys/types.yaml
R libc/newhdrgen/yaml/sys/utsname.yaml
R libc/newhdrgen/yaml/sys/wait.yaml
R libc/newhdrgen/yaml/termios.yaml
R libc/newhdrgen/yaml/threads.yaml
R libc/newhdrgen/yaml/time.yaml
R libc/newhdrgen/yaml/uchar.yaml
R libc/newhdrgen/yaml/unistd.yaml
R libc/newhdrgen/yaml/wchar.yaml
R libc/newhdrgen/yaml_functions_sorted.py
R libc/newhdrgen/yaml_to_classes.py
A libc/shared/rpc.h
A libc/shared/rpc_opcodes.h
A libc/shared/rpc_util.h
R libc/spec/bsd_ext.td
R libc/spec/gnu_ext.td
R libc/spec/gpu_ext.td
R libc/spec/linux.td
R libc/spec/llvm_libc_ext.td
R libc/spec/llvm_libc_stdfix_ext.td
R libc/spec/posix.td
R libc/spec/spec.td
R libc/spec/stdc.td
R libc/spec/stdc_ext.td
M libc/src/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/type_traits.h
A libc/src/__support/CPP/type_traits/is_copy_assignable.h
A libc/src/__support/CPP/type_traits/is_copy_constructible.h
A libc/src/__support/CPP/type_traits/is_move_assignable.h
A libc/src/__support/CPP/type_traits/is_move_constructible.h
M libc/src/__support/CPP/type_traits/is_trivially_copyable.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/HashTable/generic/bitmask_impl.inc
M libc/src/__support/OSUtil/gpu/exit.cpp
M libc/src/__support/OSUtil/gpu/io.cpp
M libc/src/__support/OSUtil/linux/exit.cpp
M libc/src/__support/RPC/CMakeLists.txt
R libc/src/__support/RPC/rpc.h
M libc/src/__support/RPC/rpc_client.cpp
M libc/src/__support/RPC/rpc_client.h
R libc/src/__support/RPC/rpc_util.h
M libc/src/__support/block.h
M libc/src/__support/common.h
M libc/src/__support/complex_type.h
M libc/src/__support/ctype_utils.h
R libc/src/__support/endian.h
A libc/src/__support/endian_internal.h
A libc/src/__support/freelist.cpp
M libc/src/__support/freelist.h
M libc/src/__support/freelist_heap.h
A libc/src/__support/freestore.h
A libc/src/__support/freetrie.cpp
A libc/src/__support/freetrie.h
M libc/src/__support/hash.h
M libc/src/__support/high_precision_decimal.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/macros/optimization.h
M libc/src/__support/macros/properties/os.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/rwlock.h
M libc/src/__support/time/CMakeLists.txt
A libc/src/__support/time/clock_gettime.h
A libc/src/__support/time/gpu/CMakeLists.txt
A libc/src/__support/time/gpu/clock_gettime.cpp
A libc/src/__support/time/gpu/time_utils.cpp
A libc/src/__support/time/gpu/time_utils.h
M libc/src/__support/time/linux/CMakeLists.txt
M libc/src/__support/time/linux/clock_conversion.h
A libc/src/__support/time/linux/clock_gettime.cpp
R libc/src/__support/time/linux/clock_gettime.h
A libc/src/__support/time/windows/CMakeLists.txt
A libc/src/__support/time/windows/clock_gettime.cpp
A libc/src/__support/time/windows/performance_counter.h
A libc/src/arpa/CMakeLists.txt
A libc/src/arpa/inet/CMakeLists.txt
A libc/src/arpa/inet/htonl.cpp
A libc/src/arpa/inet/htonl.h
A libc/src/arpa/inet/htons.cpp
A libc/src/arpa/inet/htons.h
A libc/src/arpa/inet/ntohl.cpp
A libc/src/arpa/inet/ntohl.h
A libc/src/arpa/inet/ntohs.cpp
A libc/src/arpa/inet/ntohs.h
M libc/src/complex/CMakeLists.txt
A libc/src/complex/conj.h
A libc/src/complex/conjf.h
A libc/src/complex/conjf128.h
A libc/src/complex/conjf16.h
A libc/src/complex/conjl.h
M libc/src/complex/generic/CMakeLists.txt
A libc/src/complex/generic/conj.cpp
A libc/src/complex/generic/conjf.cpp
A libc/src/complex/generic/conjf128.cpp
A libc/src/complex/generic/conjf16.cpp
A libc/src/complex/generic/conjl.cpp
M libc/src/ctype/isxdigit.cpp
M libc/src/ctype/isxdigit_l.cpp
M libc/src/ctype/toupper.cpp
M libc/src/ctype/toupper_l.cpp
M libc/src/gpu/rpc_host_call.cpp
M libc/src/math/CMakeLists.txt
M libc/src/math/docs/add_math_function.md
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/exp10m1f16.cpp
M libc/src/math/generic/inv_trigf_utils.h
M libc/src/math/generic/sincosf16_utils.h
A libc/src/math/generic/sinf16.cpp
M libc/src/math/generic/tanhf16.cpp
M libc/src/math/generic/tanpif16.cpp
A libc/src/math/sinf16.h
R libc/src/network/CMakeLists.txt
R libc/src/network/htonl.cpp
R libc/src/network/htonl.h
R libc/src/network/htons.cpp
R libc/src/network/htons.h
R libc/src/network/ntohl.cpp
R libc/src/network/ntohl.h
R libc/src/network/ntohs.cpp
R libc/src/network/ntohs.h
M libc/src/pthread/CMakeLists.txt
M libc/src/setjmp/riscv/CMakeLists.txt
M libc/src/setjmp/x86_64/CMakeLists.txt
M libc/src/signal/linux/CMakeLists.txt
M libc/src/stdfix/CMakeLists.txt
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/puts.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/rename.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/printf_core/fixed_converter.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdio/printf_core/float_inf_nan_converter.h
M libc/src/stdio/printf_core/int_converter.h
M libc/src/stdio/scanf_core/converter_utils.h
M libc/src/stdio/scanf_core/float_converter.cpp
M libc/src/stdio/scanf_core/int_converter.cpp
M libc/src/stdio/scanf_core/ptr_converter.cpp
M libc/src/stdlib/freelist_malloc.cpp
M libc/src/stdlib/gpu/abort.cpp
M libc/src/stdlib/gpu/system.cpp
M libc/src/string/CMakeLists.txt
R libc/src/string/bcmp.cpp
R libc/src/string/bcmp.h
R libc/src/string/bcopy.cpp
R libc/src/string/bcopy.h
R libc/src/string/bzero.cpp
R libc/src/string/bzero.h
R libc/src/string/index.cpp
R libc/src/string/index.h
M libc/src/string/memory_utils/op_generic.h
M libc/src/string/memory_utils/op_x86.h
M libc/src/string/memory_utils/utils.h
R libc/src/string/rindex.cpp
R libc/src/string/rindex.h
R libc/src/string/strcasecmp.cpp
R libc/src/string/strcasecmp.h
M libc/src/string/string_utils.h
R libc/src/string/strncasecmp.cpp
R libc/src/string/strncasecmp.h
A libc/src/strings/CMakeLists.txt
A libc/src/strings/bcmp.cpp
A libc/src/strings/bcmp.h
A libc/src/strings/bcopy.cpp
A libc/src/strings/bcopy.h
A libc/src/strings/bzero.cpp
A libc/src/strings/bzero.h
A libc/src/strings/index.cpp
A libc/src/strings/index.h
A libc/src/strings/rindex.cpp
A libc/src/strings/rindex.h
A libc/src/strings/strcasecmp.cpp
A libc/src/strings/strcasecmp.h
A libc/src/strings/strncasecmp.cpp
A libc/src/strings/strncasecmp.h
M libc/src/sys/socket/linux/recvfrom.cpp
M libc/src/sys/socket/recvfrom.h
M libc/src/threads/CMakeLists.txt
M libc/src/time/CMakeLists.txt
A libc/src/time/baremetal/CMakeLists.txt
A libc/src/time/baremetal/timespec_get.cpp
A libc/src/time/clock_getres.h
M libc/src/time/gpu/CMakeLists.txt
M libc/src/time/gpu/clock.cpp
M libc/src/time/gpu/clock_gettime.cpp
M libc/src/time/gpu/nanosleep.cpp
R libc/src/time/gpu/time_utils.cpp
R libc/src/time/gpu/time_utils.h
A libc/src/time/gpu/timespec_get.cpp
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
R libc/src/time/linux/time.cpp
A libc/src/time/linux/timespec_get.cpp
A libc/src/time/time.cpp
A libc/src/time/timespec_get.h
A libc/src/time/windows/CMakeLists.txt
A libc/src/time/windows/clock_getres.cpp
M libc/test/UnitTest/MemoryMatcher.cpp
M libc/test/integration/scudo/CMakeLists.txt
M libc/test/integration/startup/gpu/CMakeLists.txt
M libc/test/integration/startup/gpu/rpc_interface_test.cpp
A libc/test/integration/startup/gpu/rpc_lane_test.cpp
M libc/test/integration/startup/gpu/rpc_stream_test.cpp
M libc/test/integration/startup/gpu/rpc_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/atomic_test.cpp
M libc/test/src/__support/CPP/stringview_test.cpp
M libc/test/src/__support/HashTable/group_test.cpp
M libc/test/src/__support/HashTable/table_test.cpp
M libc/test/src/__support/block_test.cpp
A libc/test/src/__support/endian_internal_test.cpp
R libc/test/src/__support/endian_test.cpp
M libc/test/src/__support/freelist_heap_test.cpp
M libc/test/src/__support/freelist_malloc_test.cpp
M libc/test/src/__support/freelist_test.cpp
A libc/test/src/__support/freestore_test.cpp
A libc/test/src/__support/freetrie_test.cpp
M libc/test/src/__support/threads/linux/raw_mutex_test.cpp
A libc/test/src/arpa/CMakeLists.txt
A libc/test/src/arpa/inet/CMakeLists.txt
A libc/test/src/arpa/inet/htonl_test.cpp
A libc/test/src/arpa/inet/htons_test.cpp
A libc/test/src/arpa/inet/ntohl_test.cpp
A libc/test/src/arpa/inet/ntohs_test.cpp
M libc/test/src/complex/CImagTest.h
M libc/test/src/complex/CMakeLists.txt
M libc/test/src/complex/CRealTest.h
A libc/test/src/complex/ConjTest.h
A libc/test/src/complex/conj_test.cpp
A libc/test/src/complex/conjf128_test.cpp
A libc/test/src/complex/conjf16_test.cpp
A libc/test/src/complex/conjf_test.cpp
A libc/test/src/complex/conjl_test.cpp
M libc/test/src/ctype/isalnum_test.cpp
M libc/test/src/ctype/isalpha_test.cpp
M libc/test/src/ctype/isdigit_test.cpp
M libc/test/src/ctype/islower_test.cpp
M libc/test/src/ctype/isupper_test.cpp
M libc/test/src/ctype/isxdigit_test.cpp
M libc/test/src/ctype/tolower_test.cpp
M libc/test/src/ctype/toupper_test.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/sinf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/LdExpTest.h
A libc/test/src/math/smoke/sinf16_test.cpp
R libc/test/src/network/CMakeLists.txt
R libc/test/src/network/htonl_test.cpp
R libc/test/src/network/htons_test.cpp
R libc/test/src/network/ntohl_test.cpp
R libc/test/src/network/ntohs_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/string/CMakeLists.txt
R libc/test/src/string/bcmp_test.cpp
R libc/test/src/string/bcopy_test.cpp
R libc/test/src/string/bzero_test.cpp
R libc/test/src/string/index_test.cpp
R libc/test/src/string/rindex_test.cpp
R libc/test/src/string/strcasecmp_test.cpp
M libc/test/src/string/strcmp_test.cpp
R libc/test/src/string/strncasecmp_test.cpp
A libc/test/src/strings/CMakeLists.txt
A libc/test/src/strings/bcmp_test.cpp
A libc/test/src/strings/bcopy_test.cpp
A libc/test/src/strings/bzero_test.cpp
A libc/test/src/strings/index_test.cpp
A libc/test/src/strings/rindex_test.cpp
A libc/test/src/strings/strcasecmp_test.cpp
A libc/test/src/strings/strncasecmp_test.cpp
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/src/time/CMakeLists.txt
A libc/test/src/time/clock_getres_test.cpp
M libc/test/src/time/time_test.cpp
A libc/test/src/time/timespec_get_test.cpp
R libc/utils/HdrGen/CMakeLists.txt
R libc/utils/HdrGen/Command.cpp
R libc/utils/HdrGen/Command.h
R libc/utils/HdrGen/Generator.cpp
R libc/utils/HdrGen/Generator.h
R libc/utils/HdrGen/IncludeFileCommand.cpp
R libc/utils/HdrGen/IncludeFileCommand.h
R libc/utils/HdrGen/Main.cpp
R libc/utils/HdrGen/PrototypeTestGen/CMakeLists.txt
R libc/utils/HdrGen/PrototypeTestGen/PrototypeTestGen.cpp
R libc/utils/HdrGen/PublicAPICommand.cpp
R libc/utils/HdrGen/PublicAPICommand.h
R libc/utils/HdrGen/README.md
R libc/utils/LibcTableGenUtil/APIIndexer.cpp
R libc/utils/LibcTableGenUtil/APIIndexer.h
R libc/utils/LibcTableGenUtil/CMakeLists.txt
A libc/utils/docgen/assert.json
M libc/utils/docgen/docgen.py
A libc/utils/docgen/errno.json
A libc/utils/docgen/float.json
A libc/utils/docgen/inttypes.json
A libc/utils/docgen/locale.json
M libc/utils/docgen/setjmp.json
M libc/utils/docgen/signal.json
A libc/utils/docgen/stdlib.json
A libc/utils/docgen/string.json
A libc/utils/docgen/strings.json
M libc/utils/docgen/threads.json
A libc/utils/docgen/uchar.json
A libc/utils/docgen/wchar.json
A libc/utils/docgen/wctype.json
M libc/utils/gpu/loader/Loader.h
M libc/utils/gpu/loader/amdgpu/CMakeLists.txt
M libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
M libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
M libc/utils/gpu/server/CMakeLists.txt
R libc/utils/gpu/server/llvmlibc_rpc_server.h
M libc/utils/gpu/server/rpc_server.cpp
M libclc/cmake/modules/AddLibclc.cmake
M libcxx/CMakeLists.txt
A libcxx/Maintainers.md
A libcxx/docs/CodingGuidelines.rst
M libcxx/docs/Contributing.rst
M libcxx/docs/DesignDocs/ExtendedCXX03Support.rst
R libcxx/docs/DesignDocs/NodiscardPolicy.rst
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/TestingLibcxx.rst
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/copy.h
M libcxx/include/__algorithm/copy_move_common.h
M libcxx/include/__algorithm/find_end.h
M libcxx/include/__algorithm/ranges_copy.h
M libcxx/include/__algorithm/ranges_copy_n.h
M libcxx/include/__algorithm/ranges_set_difference.h
M libcxx/include/__algorithm/ranges_set_symmetric_difference.h
M libcxx/include/__algorithm/ranges_set_union.h
M libcxx/include/__algorithm/set_difference.h
M libcxx/include/__algorithm/set_symmetric_difference.h
M libcxx/include/__algorithm/set_union.h
M libcxx/include/__atomic/atomic.h
R libcxx/include/__atomic/atomic_base.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__atomic/contention_t.h
R libcxx/include/__atomic/cxx_atomic_impl.h
M libcxx/include/__atomic/fence.h
A libcxx/include/__atomic/support.h
A libcxx/include/__atomic/support/c11.h
A libcxx/include/__atomic/support/gcc.h
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/duration.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/hh_mm_ss.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__chrono/zoned_time.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__configuration/availability.h
M libcxx/include/__cxx03/__algorithm/adjacent_find.h
M libcxx/include/__cxx03/__algorithm/all_of.h
M libcxx/include/__cxx03/__algorithm/any_of.h
M libcxx/include/__cxx03/__algorithm/binary_search.h
M libcxx/include/__cxx03/__algorithm/clamp.h
M libcxx/include/__cxx03/__algorithm/comp.h
M libcxx/include/__cxx03/__algorithm/comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/copy.h
M libcxx/include/__cxx03/__algorithm/copy_backward.h
M libcxx/include/__cxx03/__algorithm/copy_if.h
M libcxx/include/__cxx03/__algorithm/copy_move_common.h
M libcxx/include/__cxx03/__algorithm/copy_n.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/count_if.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/fill.h
M libcxx/include/__cxx03/__algorithm/fill_n.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
M libcxx/include/__cxx03/__algorithm/find_first_of.h
M libcxx/include/__cxx03/__algorithm/find_if.h
M libcxx/include/__cxx03/__algorithm/find_if_not.h
M libcxx/include/__cxx03/__algorithm/find_segment_if.h
M libcxx/include/__cxx03/__algorithm/fold.h
M libcxx/include/__cxx03/__algorithm/for_each.h
M libcxx/include/__cxx03/__algorithm/for_each_n.h
M libcxx/include/__cxx03/__algorithm/for_each_segment.h
M libcxx/include/__cxx03/__algorithm/generate.h
M libcxx/include/__cxx03/__algorithm/generate_n.h
M libcxx/include/__cxx03/__algorithm/half_positive.h
M libcxx/include/__cxx03/__algorithm/in_found_result.h
M libcxx/include/__cxx03/__algorithm/in_fun_result.h
M libcxx/include/__cxx03/__algorithm/in_in_out_result.h
M libcxx/include/__cxx03/__algorithm/in_in_result.h
M libcxx/include/__cxx03/__algorithm/in_out_out_result.h
M libcxx/include/__cxx03/__algorithm/in_out_result.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/inplace_merge.h
M libcxx/include/__cxx03/__algorithm/is_heap.h
M libcxx/include/__cxx03/__algorithm/is_heap_until.h
M libcxx/include/__cxx03/__algorithm/is_partitioned.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/is_sorted.h
M libcxx/include/__cxx03/__algorithm/is_sorted_until.h
M libcxx/include/__cxx03/__algorithm/iter_swap.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
M libcxx/include/__cxx03/__algorithm/lexicographical_compare.h
M libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_heap.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/max_element.h
M libcxx/include/__cxx03/__algorithm/merge.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
M libcxx/include/__cxx03/__algorithm/min_max_result.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/mismatch.h
M libcxx/include/__cxx03/__algorithm/move.h
M libcxx/include/__cxx03/__algorithm/move_backward.h
M libcxx/include/__cxx03/__algorithm/next_permutation.h
M libcxx/include/__cxx03/__algorithm/none_of.h
M libcxx/include/__cxx03/__algorithm/nth_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
M libcxx/include/__cxx03/__algorithm/partition.h
M libcxx/include/__cxx03/__algorithm/partition_copy.h
M libcxx/include/__cxx03/__algorithm/partition_point.h
M libcxx/include/__cxx03/__algorithm/pop_heap.h
M libcxx/include/__cxx03/__algorithm/prev_permutation.h
M libcxx/include/__cxx03/__algorithm/pstl.h
M libcxx/include/__cxx03/__algorithm/push_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
M libcxx/include/__cxx03/__algorithm/ranges_all_of.h
M libcxx/include/__cxx03/__algorithm/ranges_any_of.h
M libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
M libcxx/include/__cxx03/__algorithm/ranges_clamp.h
M libcxx/include/__cxx03/__algorithm/ranges_contains.h
M libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
M libcxx/include/__cxx03/__algorithm/ranges_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
M libcxx/include/__cxx03/__algorithm/ranges_count.h
M libcxx/include/__cxx03/__algorithm/ranges_count_if.h
M libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
M libcxx/include/__cxx03/__algorithm/ranges_equal.h
M libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
M libcxx/include/__cxx03/__algorithm/ranges_fill.h
M libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
M libcxx/include/__cxx03/__algorithm/ranges_find.h
M libcxx/include/__cxx03/__algorithm/ranges_find_end.h
M libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
M libcxx/include/__cxx03/__algorithm/ranges_find_if.h
M libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
M libcxx/include/__cxx03/__algorithm/ranges_find_last.h
M libcxx/include/__cxx03/__algorithm/ranges_for_each.h
M libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
M libcxx/include/__cxx03/__algorithm/ranges_generate.h
M libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
M libcxx/include/__cxx03/__algorithm/ranges_includes.h
M libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
M libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
M libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
M libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
M libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
M libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
M libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
M libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
M libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_max.h
M libcxx/include/__cxx03/__algorithm/ranges_max_element.h
M libcxx/include/__cxx03/__algorithm/ranges_merge.h
M libcxx/include/__cxx03/__algorithm/ranges_min.h
M libcxx/include/__cxx03/__algorithm/ranges_min_element.h
M libcxx/include/__cxx03/__algorithm/ranges_minmax.h
M libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
M libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
M libcxx/include/__cxx03/__algorithm/ranges_move.h
M libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
M libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_none_of.h
M libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
M libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_partition.h
M libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
M libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
M libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_remove.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
M libcxx/include/__cxx03/__algorithm/ranges_replace.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
M libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
M libcxx/include/__cxx03/__algorithm/ranges_reverse.h
M libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_rotate.h
M libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_sample.h
M libcxx/include/__cxx03/__algorithm/ranges_search.h
M libcxx/include/__cxx03/__algorithm/ranges_search_n.h
M libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
M libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
M libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
M libcxx/include/__cxx03/__algorithm/ranges_set_union.h
M libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
M libcxx/include/__cxx03/__algorithm/ranges_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
M libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
M libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
M libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
M libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
M libcxx/include/__cxx03/__algorithm/ranges_transform.h
M libcxx/include/__cxx03/__algorithm/ranges_unique.h
M libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
M libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
M libcxx/include/__cxx03/__algorithm/remove.h
M libcxx/include/__cxx03/__algorithm/remove_copy.h
M libcxx/include/__cxx03/__algorithm/remove_copy_if.h
M libcxx/include/__cxx03/__algorithm/remove_if.h
M libcxx/include/__cxx03/__algorithm/replace.h
M libcxx/include/__cxx03/__algorithm/replace_copy.h
M libcxx/include/__cxx03/__algorithm/replace_copy_if.h
M libcxx/include/__cxx03/__algorithm/replace_if.h
M libcxx/include/__cxx03/__algorithm/reverse.h
M libcxx/include/__cxx03/__algorithm/reverse_copy.h
M libcxx/include/__cxx03/__algorithm/rotate.h
M libcxx/include/__cxx03/__algorithm/rotate_copy.h
M libcxx/include/__cxx03/__algorithm/sample.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/search_n.h
M libcxx/include/__cxx03/__algorithm/set_difference.h
M libcxx/include/__cxx03/__algorithm/set_intersection.h
M libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h
M libcxx/include/__cxx03/__algorithm/set_union.h
M libcxx/include/__cxx03/__algorithm/shift_left.h
M libcxx/include/__cxx03/__algorithm/shift_right.h
M libcxx/include/__cxx03/__algorithm/shuffle.h
M libcxx/include/__cxx03/__algorithm/sift_down.h
M libcxx/include/__cxx03/__algorithm/simd_utils.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/sort_heap.h
M libcxx/include/__cxx03/__algorithm/stable_partition.h
M libcxx/include/__cxx03/__algorithm/stable_sort.h
M libcxx/include/__cxx03/__algorithm/swap_ranges.h
M libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/transform.h
M libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h
M libcxx/include/__cxx03/__algorithm/unique.h
M libcxx/include/__cxx03/__algorithm/unique_copy.h
M libcxx/include/__cxx03/__algorithm/unwrap_iter.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
M libcxx/include/__cxx03/__assert
M libcxx/include/__cxx03/__atomic/aliases.h
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/atomic_base.h
M libcxx/include/__cxx03/__atomic/atomic_flag.h
M libcxx/include/__cxx03/__atomic/atomic_init.h
M libcxx/include/__cxx03/__atomic/atomic_lock_free.h
M libcxx/include/__cxx03/__atomic/atomic_ref.h
M libcxx/include/__cxx03/__atomic/atomic_sync.h
M libcxx/include/__cxx03/__atomic/check_memory_order.h
M libcxx/include/__cxx03/__atomic/contention_t.h
M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
M libcxx/include/__cxx03/__atomic/fence.h
M libcxx/include/__cxx03/__atomic/is_always_lock_free.h
M libcxx/include/__cxx03/__atomic/kill_dependency.h
M libcxx/include/__cxx03/__atomic/memory_order.h
M libcxx/include/__cxx03/__atomic/to_gcc_order.h
M libcxx/include/__cxx03/__bit/bit_cast.h
M libcxx/include/__cxx03/__bit/bit_ceil.h
M libcxx/include/__cxx03/__bit/bit_floor.h
M libcxx/include/__cxx03/__bit/bit_log2.h
M libcxx/include/__cxx03/__bit/bit_width.h
M libcxx/include/__cxx03/__bit/blsr.h
M libcxx/include/__cxx03/__bit/byteswap.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
M libcxx/include/__cxx03/__bit/endian.h
M libcxx/include/__cxx03/__bit/has_single_bit.h
M libcxx/include/__cxx03/__bit/invert_if.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
M libcxx/include/__cxx03/__charconv/chars_format.h
M libcxx/include/__cxx03/__charconv/from_chars_integral.h
M libcxx/include/__cxx03/__charconv/from_chars_result.h
M libcxx/include/__cxx03/__charconv/tables.h
M libcxx/include/__cxx03/__charconv/to_chars.h
M libcxx/include/__cxx03/__charconv/to_chars_base_10.h
M libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
M libcxx/include/__cxx03/__charconv/to_chars_integral.h
M libcxx/include/__cxx03/__charconv/to_chars_result.h
M libcxx/include/__cxx03/__charconv/traits.h
M libcxx/include/__cxx03/__chrono/calendar.h
M libcxx/include/__cxx03/__chrono/concepts.h
M libcxx/include/__cxx03/__chrono/convert_to_timespec.h
M libcxx/include/__cxx03/__chrono/convert_to_tm.h
M libcxx/include/__cxx03/__chrono/day.h
M libcxx/include/__cxx03/__chrono/duration.h
M libcxx/include/__cxx03/__chrono/exception.h
M libcxx/include/__cxx03/__chrono/file_clock.h
M libcxx/include/__cxx03/__chrono/formatter.h
M libcxx/include/__cxx03/__chrono/hh_mm_ss.h
M libcxx/include/__cxx03/__chrono/high_resolution_clock.h
M libcxx/include/__cxx03/__chrono/leap_second.h
M libcxx/include/__cxx03/__chrono/literals.h
M libcxx/include/__cxx03/__chrono/local_info.h
M libcxx/include/__cxx03/__chrono/month.h
M libcxx/include/__cxx03/__chrono/month_weekday.h
M libcxx/include/__cxx03/__chrono/monthday.h
M libcxx/include/__cxx03/__chrono/ostream.h
M libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
M libcxx/include/__cxx03/__chrono/statically_widen.h
M libcxx/include/__cxx03/__chrono/steady_clock.h
M libcxx/include/__cxx03/__chrono/sys_info.h
M libcxx/include/__cxx03/__chrono/system_clock.h
M libcxx/include/__cxx03/__chrono/time_point.h
M libcxx/include/__cxx03/__chrono/time_zone.h
M libcxx/include/__cxx03/__chrono/time_zone_link.h
M libcxx/include/__cxx03/__chrono/tzdb.h
M libcxx/include/__cxx03/__chrono/tzdb_list.h
M libcxx/include/__cxx03/__chrono/weekday.h
M libcxx/include/__cxx03/__chrono/year.h
M libcxx/include/__cxx03/__chrono/year_month.h
M libcxx/include/__cxx03/__chrono/year_month_day.h
M libcxx/include/__cxx03/__chrono/year_month_weekday.h
M libcxx/include/__cxx03/__chrono/zoned_time.h
M libcxx/include/__cxx03/__compare/common_comparison_category.h
M libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
M libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
M libcxx/include/__cxx03/__compare/compare_three_way.h
M libcxx/include/__cxx03/__compare/compare_three_way_result.h
M libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
M libcxx/include/__cxx03/__compare/is_eq.h
M libcxx/include/__cxx03/__compare/ordering.h
M libcxx/include/__cxx03/__compare/partial_order.h
M libcxx/include/__cxx03/__compare/strong_order.h
M libcxx/include/__cxx03/__compare/synth_three_way.h
M libcxx/include/__cxx03/__compare/three_way_comparable.h
M libcxx/include/__cxx03/__compare/weak_order.h
M libcxx/include/__cxx03/__concepts/arithmetic.h
M libcxx/include/__cxx03/__concepts/assignable.h
M libcxx/include/__cxx03/__concepts/boolean_testable.h
M libcxx/include/__cxx03/__concepts/class_or_enum.h
M libcxx/include/__cxx03/__concepts/common_reference_with.h
M libcxx/include/__cxx03/__concepts/common_with.h
M libcxx/include/__cxx03/__concepts/constructible.h
M libcxx/include/__cxx03/__concepts/convertible_to.h
M libcxx/include/__cxx03/__concepts/copyable.h
M libcxx/include/__cxx03/__concepts/derived_from.h
M libcxx/include/__cxx03/__concepts/destructible.h
M libcxx/include/__cxx03/__concepts/different_from.h
M libcxx/include/__cxx03/__concepts/equality_comparable.h
M libcxx/include/__cxx03/__concepts/invocable.h
M libcxx/include/__cxx03/__concepts/movable.h
M libcxx/include/__cxx03/__concepts/predicate.h
M libcxx/include/__cxx03/__concepts/regular.h
M libcxx/include/__cxx03/__concepts/relation.h
M libcxx/include/__cxx03/__concepts/same_as.h
M libcxx/include/__cxx03/__concepts/semiregular.h
M libcxx/include/__cxx03/__concepts/swappable.h
M libcxx/include/__cxx03/__concepts/totally_ordered.h
M libcxx/include/__cxx03/__condition_variable/condition_variable.h
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__config_site.in
M libcxx/include/__cxx03/__configuration/abi.h
M libcxx/include/__cxx03/__configuration/availability.h
M libcxx/include/__cxx03/__configuration/compiler.h
M libcxx/include/__cxx03/__configuration/language.h
M libcxx/include/__cxx03/__configuration/platform.h
M libcxx/include/__cxx03/__coroutine/coroutine_handle.h
M libcxx/include/__cxx03/__coroutine/coroutine_traits.h
M libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
M libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
M libcxx/include/__cxx03/__debug_utils/randomize_range.h
M libcxx/include/__cxx03/__debug_utils/sanitizers.h
M libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h
M libcxx/include/__cxx03/__exception/exception.h
M libcxx/include/__cxx03/__exception/exception_ptr.h
M libcxx/include/__cxx03/__exception/nested_exception.h
M libcxx/include/__cxx03/__exception/operations.h
M libcxx/include/__cxx03/__exception/terminate.h
M libcxx/include/__cxx03/__expected/bad_expected_access.h
M libcxx/include/__cxx03/__expected/expected.h
M libcxx/include/__cxx03/__expected/unexpect.h
M libcxx/include/__cxx03/__expected/unexpected.h
M libcxx/include/__cxx03/__filesystem/copy_options.h
M libcxx/include/__cxx03/__filesystem/directory_entry.h
M libcxx/include/__cxx03/__filesystem/directory_iterator.h
M libcxx/include/__cxx03/__filesystem/directory_options.h
M libcxx/include/__cxx03/__filesystem/file_status.h
M libcxx/include/__cxx03/__filesystem/file_time_type.h
M libcxx/include/__cxx03/__filesystem/file_type.h
M libcxx/include/__cxx03/__filesystem/filesystem_error.h
M libcxx/include/__cxx03/__filesystem/operations.h
M libcxx/include/__cxx03/__filesystem/path.h
M libcxx/include/__cxx03/__filesystem/path_iterator.h
M libcxx/include/__cxx03/__filesystem/perm_options.h
M libcxx/include/__cxx03/__filesystem/perms.h
M libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
M libcxx/include/__cxx03/__filesystem/space_info.h
M libcxx/include/__cxx03/__filesystem/u8path.h
M libcxx/include/__cxx03/__format/buffer.h
M libcxx/include/__cxx03/__format/concepts.h
M libcxx/include/__cxx03/__format/container_adaptor.h
M libcxx/include/__cxx03/__format/enable_insertable.h
M libcxx/include/__cxx03/__format/escaped_output_table.h
M libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
M libcxx/include/__cxx03/__format/format_arg.h
M libcxx/include/__cxx03/__format/format_arg_store.h
M libcxx/include/__cxx03/__format/format_args.h
M libcxx/include/__cxx03/__format/format_context.h
M libcxx/include/__cxx03/__format/format_error.h
M libcxx/include/__cxx03/__format/format_functions.h
M libcxx/include/__cxx03/__format/format_parse_context.h
M libcxx/include/__cxx03/__format/format_string.h
M libcxx/include/__cxx03/__format/format_to_n_result.h
M libcxx/include/__cxx03/__format/formatter.h
M libcxx/include/__cxx03/__format/formatter_bool.h
M libcxx/include/__cxx03/__format/formatter_char.h
M libcxx/include/__cxx03/__format/formatter_floating_point.h
M libcxx/include/__cxx03/__format/formatter_integer.h
M libcxx/include/__cxx03/__format/formatter_integral.h
M libcxx/include/__cxx03/__format/formatter_output.h
M libcxx/include/__cxx03/__format/formatter_pointer.h
M libcxx/include/__cxx03/__format/formatter_string.h
M libcxx/include/__cxx03/__format/formatter_tuple.h
M libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
M libcxx/include/__cxx03/__format/parser_std_format_spec.h
M libcxx/include/__cxx03/__format/range_default_formatter.h
M libcxx/include/__cxx03/__format/range_formatter.h
M libcxx/include/__cxx03/__format/unicode.h
M libcxx/include/__cxx03/__format/width_estimation_table.h
M libcxx/include/__cxx03/__format/write_escaped.h
M libcxx/include/__cxx03/__functional/binary_function.h
M libcxx/include/__cxx03/__functional/binary_negate.h
M libcxx/include/__cxx03/__functional/bind.h
M libcxx/include/__cxx03/__functional/bind_back.h
M libcxx/include/__cxx03/__functional/bind_front.h
M libcxx/include/__cxx03/__functional/binder1st.h
M libcxx/include/__cxx03/__functional/binder2nd.h
M libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
M libcxx/include/__cxx03/__functional/compose.h
M libcxx/include/__cxx03/__functional/default_searcher.h
M libcxx/include/__cxx03/__functional/function.h
M libcxx/include/__cxx03/__functional/hash.h
M libcxx/include/__cxx03/__functional/identity.h
M libcxx/include/__cxx03/__functional/invoke.h
M libcxx/include/__cxx03/__functional/is_transparent.h
M libcxx/include/__cxx03/__functional/mem_fn.h
M libcxx/include/__cxx03/__functional/mem_fun_ref.h
M libcxx/include/__cxx03/__functional/not_fn.h
M libcxx/include/__cxx03/__functional/operations.h
M libcxx/include/__cxx03/__functional/perfect_forward.h
M libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
M libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
M libcxx/include/__cxx03/__functional/ranges_operations.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/unary_function.h
M libcxx/include/__cxx03/__functional/unary_negate.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
M libcxx/include/__cxx03/__fwd/array.h
M libcxx/include/__cxx03/__fwd/bit_reference.h
M libcxx/include/__cxx03/__fwd/complex.h
M libcxx/include/__cxx03/__fwd/deque.h
M libcxx/include/__cxx03/__fwd/format.h
M libcxx/include/__cxx03/__fwd/fstream.h
M libcxx/include/__cxx03/__fwd/functional.h
M libcxx/include/__cxx03/__fwd/ios.h
M libcxx/include/__cxx03/__fwd/istream.h
M libcxx/include/__cxx03/__fwd/mdspan.h
M libcxx/include/__cxx03/__fwd/memory.h
M libcxx/include/__cxx03/__fwd/memory_resource.h
M libcxx/include/__cxx03/__fwd/ostream.h
M libcxx/include/__cxx03/__fwd/pair.h
M libcxx/include/__cxx03/__fwd/queue.h
M libcxx/include/__cxx03/__fwd/span.h
M libcxx/include/__cxx03/__fwd/sstream.h
M libcxx/include/__cxx03/__fwd/stack.h
M libcxx/include/__cxx03/__fwd/streambuf.h
M libcxx/include/__cxx03/__fwd/string.h
M libcxx/include/__cxx03/__fwd/string_view.h
M libcxx/include/__cxx03/__fwd/subrange.h
M libcxx/include/__cxx03/__fwd/tuple.h
M libcxx/include/__cxx03/__fwd/vector.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__ios/fpos.h
M libcxx/include/__cxx03/__iterator/access.h
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/aliasing_iterator.h
M libcxx/include/__cxx03/__iterator/back_insert_iterator.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
M libcxx/include/__cxx03/__iterator/common_iterator.h
M libcxx/include/__cxx03/__iterator/concepts.h
Log Message:
-----------
Merge branch 'main' into users/fmayer/spr/apply-alignment-size-in-linker-rather-than-ir
Compare: https://github.com/llvm/llvm-project/compare/f75881982bdc...6812a6a3954d
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