[all-commits] [llvm/llvm-project] 758444: [AMDGPU] Promote uniform ops to I32 in DAGISel (#1...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Thu Sep 19 23:45:50 PDT 2024
Branch: refs/heads/users/MaskRay/spr/parallel-ensure-getthreadindex0-for-sequential-tasks
Home: https://github.com/llvm/llvm-project
Commit: 758444ca3e7163a1504eeced3383af861d01d761
https://github.com/llvm/llvm-project/commit/758444ca3e7163a1504eeced3383af861d01d761
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-i16-to-i32.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/bug-sdag-emitcopyfromreg.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-select.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/AMDGPU/load-local-i8.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/select-i1.ll
M llvm/test/CodeGen/AMDGPU/select-vectors.ll
M llvm/test/CodeGen/AMDGPU/setcc-opt.ll
M llvm/test/CodeGen/AMDGPU/sign_extend.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
M llvm/test/CodeGen/AMDGPU/trunc-store.ll
M llvm/test/CodeGen/AMDGPU/uaddo.ll
M llvm/test/CodeGen/AMDGPU/usubo.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
Log Message:
-----------
[AMDGPU] Promote uniform ops to I32 in DAGISel (#106383)
Promote uniform binops, selects and setcc between 2 and 16 bits to 32
bits in DAGISel
Solves #64591
Commit: 904f58e6b9418dab53719c7817e9216b95981a49
https://github.com/llvm/llvm-project/commit/904f58e6b9418dab53719c7817e9216b95981a49
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/test/AST/ByteCode/codegen.c
Log Message:
-----------
[clang][bytecode] Use field descriptor in IntPointer::atOffset (#109238)
We're otherwise still pointing to the old type, but with the new offset.
Commit: da1a222337681c1823e9d6215451f392131ad8d1
https://github.com/llvm/llvm-project/commit/da1a222337681c1823e9d6215451f392131ad8d1
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
Log Message:
-----------
[AMDGPU] Regenerate load-constant-i1 test
Fix failure caused by #106383
Commit: 4e3781607cd12eb337298ee6d16ebecde4ce5741
https://github.com/llvm/llvm-project/commit/4e3781607cd12eb337298ee6d16ebecde4ce5741
Author: David Green <david.green at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
A llvm/test/CodeGen/Thumb2/mve-scmp.ll
A llvm/test/CodeGen/Thumb2/mve-ucmp.ll
Log Message:
-----------
[ARM][MVE] Add vector tests for ucmp/scmp. NFC
Commit: dc6876fc9890f556ed1692141643c73b1542ee5b
https://github.com/llvm/llvm-project/commit/dc6876fc9890f556ed1692141643c73b1542ee5b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Log Message:
-----------
[ValueTracking] Use isSafeToSpeculativelyExecuteWithVariableReplaced() in more places (#109149)
This replaces some uses of isSafeToSpeculativelyExecute() with
isSafeToSpeculativelyExecuteWithVariableReplaced(), in cases where we
are guarding against operand changes rather plain speculation.
I believe that this is NFC with the current implementation of the
function (as it only does something different from loads), but this
makes us more defensive against future generalizations.
Commit: c18be32185ca10e55bdef0f2d43629ccfb7e89eb
https://github.com/llvm/llvm-project/commit/c18be32185ca10e55bdef0f2d43629ccfb7e89eb
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/fp_trunc.h
A compiler-rt/lib/builtins/truncxfbf2.c
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
Reland "[X86][BF16] Add libcall for F80 -> BF16 (#109116)" (#109143)
This reverts commit ababfee78714313a0cad87591b819f0944b90d09.
Add X86 FP80 check.
Commit: 4ec4ac15ed47ccb52d79e01c038865817d0cedf6
https://github.com/llvm/llvm-project/commit/4ec4ac15ed47ccb52d79e01c038865817d0cedf6
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-values-phi.ll
M llvm/test/Transforms/LoopUnroll/X86/runtime-unroll-addrec-cost.ll
Log Message:
-----------
[SCEVExpander] Fix addrec cost model (#106704)
The current isHighCostExpansion cost model for addrecs computes the cost
for some kind of polynomial expansion that does not appear to have any
relation to addrec expansion whatsoever.
A literal expansion of an affine addrec is a phi and add (plus the
expansion of start and step). For a non-affine addrec, we get another
phi+add for each additional addrec nested in the step recurrence.
This partially `fixes` https://github.com/llvm/llvm-project/issues/53205
(the runtime unroll test case in this PR).
Commit: 4c50112ba1fb6b3847decebd6f1e374c61950be9
https://github.com/llvm/llvm-project/commit/4c50112ba1fb6b3847decebd6f1e374c61950be9
Author: David Green <david.green at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/addp-shuffle.ll
Log Message:
-----------
[AArch64] Add patterns for 64bit vector addp
This extends the existing patterns for addp to 64bit outputs with a single
input. Whilst the general pattern is similar to the 128bit patterns
(add(uzp1(extract_lo, extract_hi), uzp2(extract_lo, extract_hi))), at the late
stage other optimzations have happened to turn the first uzp1 into trunc and
the second into extract(uzp2) with undef.
Fixes #109108
Commit: 7183771834d9035ffbedd8f1ff9233b16722b986
https://github.com/llvm/llvm-project/commit/7183771834d9035ffbedd8f1ff9233b16722b986
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/InitUndef.cpp
M llvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll
M llvm/test/CodeGen/Thumb2/mve-intrinsics/vcaddq.ll
Log Message:
-----------
[InitUndef] Also handle inline asm (#108951)
InitUndef should also handle early-clobber / undef conflicts in inline
asm operands. Do this by iterating over all_defs() instead of defs().
The newly added ARM test was generating an "unpredictable STXP instruction,
status is also a source" error prior to this change.
Fixes https://github.com/llvm/llvm-project/issues/106380.
Commit: edc71e22c004d3b3dfc535f7917ea0b47a282ac8
https://github.com/llvm/llvm-project/commit/edc71e22c004d3b3dfc535f7917ea0b47a282ac8
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
Log Message:
-----------
[RISCV][TTI] Add instruction cost for vp.load/store. (#109245)
This patch makes the instruction cost of vp.load/store same as their
non-vp counterpart.
Commit: 0a3b6af768c95f8d8260aa28adbccabd60f7e9e5
https://github.com/llvm/llvm-project/commit/0a3b6af768c95f8d8260aa28adbccabd60f7e9e5
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Linux/odr_c_test.c
Log Message:
-----------
[ASan][test] Skip Linux/odr_c_test.c on SPARC (#109111)
When ASan testing is enabled on SPARC as per PR #107405, the
```
AddressSanitizer-sparc-linux :: TestCases/Linux/odr_c_test.c
```
test `FAIL`s on Linux/sparc64:
```
+ projects/compiler-rt/test/asan/SPARCLinuxConfig/TestCases/Linux/Output/odr_c_test.c.tmp
+ count 0
Expected 0 lines, got 13.
AddressSanitizer:DEADLYSIGNAL
=================================================================
==4165420==ERROR: AddressSanitizer: BUS on unknown address (pc 0x7012d5b4 bp 0xffa3b938 sp 0xffa3b8d0 T0)
==4165420==The signal is caused by a READ memory access.
==4165420==Hint: this fault was caused by a dereference of a high value address (see register values below). Disassemble the provided pc to learn which register was used.
```
The test relies on an unaligned access, which cannot work on a
strict-alignment target like SPARC.
Thus this patch skips the test.
Tested on `sparc64-unknown-linux-gnu`.
Commit: 752e10379c2ffb4f6eebf490f1fab7eb769dfbf6
https://github.com/llvm/llvm-project/commit/752e10379c2ffb4f6eebf490f1fab7eb769dfbf6
Author: Kristóf Umann <dkszelethus at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
A clang/test/Analysis/cstring-uninitread-notes.c
Log Message:
-----------
[analyzer] Explicitly register NoStoreFuncVisitor from alpha.unix.cst… (#108373)
…ring.UninitRead
This is a drastic simplification of #106982. If you read that patch,
this is the same thing with all BugReporterVisitors.cpp and
SValBuilder.cpp changes removed! (since all replies came regarding
changed to those files, I felt the new PR was justified)
The patch was inspired by a pretty poor bug report on FFMpeg:
![image](https://github.com/user-attachments/assets/8f4e03d8-45a4-4ea2-a63d-3ab78d097be9)
In this bug report, block is uninitialized, hence the bug report that it
should not have been passed to memcpy. The confusing part is in line 93,
where block was passed as a non-const pointer to seq_unpack_rle_block,
which was obviously meant to initialize block. As developers, we know
that clang likely didn't skip this function and found a path of
execution on which this initialization failed, but NoStoreFuncVisitor
failed to attach the usual "returning without writing to block" message.
I fixed this by instead of tracking the entire array, I tracked the
actual element which was found to be uninitialized (Remember, we
heuristically only check if the first and last-to-access element is
initialized, not the entire array). This is how the bug report looks
now, with 'seq_unpack_rle_block' having notes describing the path of
execution and lack of a value change:
![image](https://github.com/user-attachments/assets/8de5d101-052e-4ecb-9cd9-7c29724333d2)
![image](https://github.com/user-attachments/assets/8bf52a95-62de-44e7-aef8-03a46a3fa08e)
Since NoStoreFuncVisitor was a TU-local class, I moved it back to
BugReporterVisitors.h, and registered it manually in CStringChecker.cpp.
This was done because we don't have a good trackRegionValue() function,
only a trackExpressionValue() function. We have an expression for the
array, but not for its first (or last-to-access) element, so I only had
a MemRegion on hand.
Commit: 30cdf1e959d2e4dee1c871ff37470dcdb7e8d099
https://github.com/llvm/llvm-project/commit/30cdf1e959d2e4dee1c871ff37470dcdb7e8d099
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll
Log Message:
-----------
[SimplifyCFG] Pass context instruction to isSafeToSpeculativelyExecute() (#109132)
Pass speculation target and assumption cache to
isSafeToSpeculativelyExecute() calls.
This allows speculating based on dereferenceable/align assumptions, but
the primary motivation here is to avoid regressions from planned changes
to fix https://github.com/llvm/llvm-project/issues/108854.
Commit: 959448fbd6bc6f74fb3f9655b1387d0e8a272ab8
https://github.com/llvm/llvm-project/commit/959448fbd6bc6f74fb3f9655b1387d0e8a272ab8
Author: yonghong-song <yhs at fb.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/test/Analysis/LazyCallGraph/remove-dead-function-spurious-ref-edge.ll
M llvm/test/BugPoint/remove_arguments_test.ll
M llvm/test/CodeGen/AArch64/arg_promotion.ll
M llvm/test/CodeGen/AMDGPU/internalize.ll
M llvm/test/ThinLTO/X86/memprof-aliased-location1.ll
M llvm/test/ThinLTO/X86/memprof-aliased-location2.ll
M llvm/test/ThinLTO/X86/memprof-basic.ll
M llvm/test/ThinLTO/X86/memprof-duplicate-context-ids.ll
M llvm/test/ThinLTO/X86/memprof-funcassigncloning.ll
M llvm/test/ThinLTO/X86/memprof-indirectcall.ll
M llvm/test/ThinLTO/X86/memprof-inlined.ll
M llvm/test/Transforms/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
M llvm/test/Transforms/ArgumentPromotion/BPF/argpromotion.ll
M llvm/test/Transforms/ArgumentPromotion/X86/attributes.ll
M llvm/test/Transforms/ArgumentPromotion/X86/min-legal-vector-width.ll
M llvm/test/Transforms/ArgumentPromotion/X86/thiscall.ll
M llvm/test/Transforms/ArgumentPromotion/actual-arguments.ll
M llvm/test/Transforms/ArgumentPromotion/aggregate-promote-dead-gep.ll
M llvm/test/Transforms/ArgumentPromotion/aggregate-promote.ll
M llvm/test/Transforms/ArgumentPromotion/align.ll
M llvm/test/Transforms/ArgumentPromotion/allocsize.ll
M llvm/test/Transforms/ArgumentPromotion/attrs.ll
M llvm/test/Transforms/ArgumentPromotion/basictest.ll
M llvm/test/Transforms/ArgumentPromotion/bitcasts.ll
M llvm/test/Transforms/ArgumentPromotion/byval-2.ll
M llvm/test/Transforms/ArgumentPromotion/byval-with-padding.ll
M llvm/test/Transforms/ArgumentPromotion/byval.ll
M llvm/test/Transforms/ArgumentPromotion/chained.ll
M llvm/test/Transforms/ArgumentPromotion/control-flow2.ll
M llvm/test/Transforms/ArgumentPromotion/crash.ll
M llvm/test/Transforms/ArgumentPromotion/dbg.ll
M llvm/test/Transforms/ArgumentPromotion/fp80.ll
M llvm/test/Transforms/ArgumentPromotion/inalloca.ll
M llvm/test/Transforms/ArgumentPromotion/invalidation.ll
M llvm/test/Transforms/ArgumentPromotion/load-alignment-value-overflows-addrspace-size.ll
M llvm/test/Transforms/ArgumentPromotion/max-elements-limit.ll
M llvm/test/Transforms/ArgumentPromotion/metadata.ll
M llvm/test/Transforms/ArgumentPromotion/min-legal-vector-width.ll
M llvm/test/Transforms/ArgumentPromotion/nonzero-address-spaces.ll
M llvm/test/Transforms/ArgumentPromotion/opaque-ptr.ll
M llvm/test/Transforms/ArgumentPromotion/pr27568.ll
M llvm/test/Transforms/ArgumentPromotion/pr32917.ll
M llvm/test/Transforms/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
M llvm/test/Transforms/ArgumentPromotion/profile.ll
M llvm/test/Transforms/ArgumentPromotion/propagate-remove-dead-args.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/aggregate-promote-recursive.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/argpromotion-recursion-pr1259.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/recursion-mixed-calls.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/recursion-non-zero-offset.ll
M llvm/test/Transforms/ArgumentPromotion/reserve-tbaa.ll
M llvm/test/Transforms/ArgumentPromotion/sret.ll
M llvm/test/Transforms/ArgumentPromotion/store-into-inself.ll
M llvm/test/Transforms/ArgumentPromotion/unused-argument.ll
M llvm/test/Transforms/Attributor/reduced/clear_cached_analysis_for_deleted_functions.ll
M llvm/test/Transforms/DeadArgElim/2007-02-07-FuncRename.ll
M llvm/test/Transforms/DeadArgElim/2007-12-20-ParamAttrs.ll
M llvm/test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
M llvm/test/Transforms/DeadArgElim/aggregates.ll
M llvm/test/Transforms/DeadArgElim/call_profile.ll
M llvm/test/Transforms/DeadArgElim/comdat.ll
M llvm/test/Transforms/DeadArgElim/dbginfo-update-dbgval-local.ll
M llvm/test/Transforms/DeadArgElim/dbginfo.ll
M llvm/test/Transforms/DeadArgElim/deadretval.ll
M llvm/test/Transforms/DeadArgElim/fct_ptr.ll
M llvm/test/Transforms/DeadArgElim/func_metadata.ll
M llvm/test/Transforms/DeadArgElim/funclet.ll
M llvm/test/Transforms/DeadArgElim/keepalive.ll
M llvm/test/Transforms/DeadArgElim/nonzero-address-spaces.ll
M llvm/test/Transforms/DeadArgElim/returned.ll
M llvm/test/Transforms/DeadArgElim/variadic_safety.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
M llvm/test/Transforms/FunctionSpecialization/global-var-constants.ll
M llvm/test/Transforms/FunctionSpecialization/non-argument-tracked.ll
M llvm/test/Transforms/FunctionSpecialization/specialization-order.ll
M llvm/test/Transforms/PhaseOrdering/dae-dce.ll
M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion.ll
M llvm/test/Transforms/SCCP/recursion.ll
Log Message:
-----------
[Transforms][IPO] Add func suffix in ArgumentPromotion and DeadArgume… (#105742)
…ntElimination
ArgumentPromotion and DeadArgumentElimination passes could change
function signatures but the function name remains the same as before the
transformation. This makes it hard for tracing with bpf programs where
user tends to use function signature in the source. See discussion [1]
for details.
This patch added suffix to functions whose signatures are changed. The
suffix lets users know that function signature has changed and they need
to impact the IR or binary to find modified signature before tracing
those functions.
The suffix for ArgumentPromotion is ".argprom" and the suffixes for
DeadArgumentElimination are ".argelim" and ".retelim". The suffix also
gives user hints about what kind of transformation has been done.
With this patch, I built a recent linux kernel with full LTO enabled. I
got 4 functions with only argpromotion like
```
set_track_update.argelim.argprom
pmd_trans_huge_lock.argprom
...
```
I got 1058 functions with only deadargelim like
```
process_bit0.argelim
pci_io_ecs_init.argelim
...
```
I got 3 functions with both argpromotion and deadargelim
```
set_track_update.argelim.argprom
zero_pud_populate.argelim.argprom
zero_pmd_populate.argelim.argprom
```
[1] https://github.com/llvm/llvm-project/issues/104678
Commit: 60a8b2b1d0842e257e2add6fb1b27cf45699b641
https://github.com/llvm/llvm-project/commit/60a8b2b1d0842e257e2add6fb1b27cf45699b641
Author: Aditi Medhane <Aditi.Medhane at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/phi-vgpr-input-moveimm.mir
M llvm/test/CodeGen/AMDGPU/wqm.mir
A llvm/test/MachineVerifier/AMDGPU/fix-illegal-vector-copies.mir
Log Message:
-----------
[AMDGPU] Add MachineVerifier check to detect illegal copies from vector register to SGPR (#105494)
Addition of a check in the MachineVerifier to detect and report illegal
vector registers to SGPR copies in the AMDGPU backend, ensuring correct
code generation.
We can enforce this check only after SIFixSGPRCopies pass.
This is half-fix in the pipeline with the help of isSSA MachineFuction
property, the check is happening for passes after phi-node-elimination.
Commit: e762d4dac762a3fc27c6e251086b6645d7543bb2
https://github.com/llvm/llvm-project/commit/e762d4dac762a3fc27c6e251086b6645d7543bb2
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
M llvm/test/Transforms/LoopVectorize/control-flow.ll
M llvm/test/Transforms/LoopVectorize/remarks-multi-exit-loops.ll
A llvm/test/Transforms/LoopVectorize/simple_early_exit.ll
Log Message:
-----------
[LoopVectorize] Teach LoopVectorizationLegality about more early exits (#107004)
This patch is split off from PR #88385 and concerns only the code
related to the legality of vectorising early exit loops. It is the first
step in adding support for vectorisation of a simple class of loops that
typically involves searching for something, i.e.
for (int i = 0; i < n; i++) {
if (p[i] == val)
return i;
}
return n;
or
for (int i = 0; i < n; i++) {
if (p1[i] != p2[i])
return i;
}
return n;
In this initial commit LoopVectorizationLegality will only consider
early exit loops legal for vectorising if they follow these criteria:
1. There are no stores in the loop.
2. The loop must have only one early exit like those shown in the above
example. I have referred to such exits as speculative early exits, to
distinguish from existing support for early exits where the
exit-not-taken count is known exactly at compile time.
3. The early exit block dominates the latch block.
4. The latch block must have an exact exit count.
5. There are no loads after the early exit block.
6. The loop must not contain reductions or recurrences. I don't see
anything fundamental blocking vectorisation of such loops, but I just
haven't done the work to support them yet.
7. We must be able to prove at compile-time that loops will not contain
faulting loads.
Tests have been added here:
Transforms/LoopVectorize/AArch64/simple_early_exit.ll
Commit: 57777a5066a6b872f7576a81f021d18899595e38
https://github.com/llvm/llvm-project/commit/57777a5066a6b872f7576a81f021d18899595e38
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
Log Message:
-----------
[LoopVectorize] Silence unused variable warning
Commit: bca507387ae1945137214ec7fb80b709927ee6e8
https://github.com/llvm/llvm-project/commit/bca507387ae1945137214ec7fb80b709927ee6e8
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lldb/source/Target/VerboseTrapFrameRecognizer.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-callback-user-leaf.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-callback.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-max-depth.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-nested.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl.cpp
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-callback-user-leaf.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-callback.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-max-depth.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-nested.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl.test
Log Message:
-----------
[lldb][FrameRecognizer] Display the first non-std frame on verbose_trap (#108825)
This attempts to improve user-experience when LLDB stops on a
verbose_trap. Currently if a `__builtin_verbose_trap` triggers, we
display the first frame above the call to the verbose_trap. So in the
newly added test case, we would've previously stopped here:
```
(lldb) run
Process 28095 launched: '/Users/michaelbuch/a.out' (arm64)
Process 28095 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = Bounds error: out-of-bounds access
frame #1: 0x0000000100003f5c a.out`std::__1::vector<int>::operator[](this=0x000000016fdfebef size=0, (null)=10) at verbose_trap.cpp:6:9
3 template <typename T>
4 struct vector {
5 void operator[](unsigned) {
-> 6 __builtin_verbose_trap("Bounds error", "out-of-bounds access");
7 }
8 };
```
After this patch, we would stop in the first non-`std` frame:
```
(lldb) run
Process 27843 launched: '/Users/michaelbuch/a.out' (arm64)
Process 27843 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = Bounds error: out-of-bounds access
frame #2: 0x0000000100003f44 a.out`g() at verbose_trap.cpp:14:5
11
12 void g() {
13 std::vector<int> v;
-> 14 v[10];
15 }
16
```
rdar://134490328
Commit: d4536bf5c9d5fa3afae4e6cbb34f9bd0859ab2ea
https://github.com/llvm/llvm-project/commit/d4536bf5c9d5fa3afae4e6cbb34f9bd0859ab2ea
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/simple_early_exit.ll
Log Message:
-----------
Fix test issue introduced by e762d4dac762a3fc27c6e251086b6645d7543bb2 (#109254)
Commit: bb5e66e31b2a5dbb2930728ff94281fd805f2d14
https://github.com/llvm/llvm-project/commit/bb5e66e31b2a5dbb2930728ff94281fd805f2d14
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
A clang-tools-extra/include-cleaner/test/tool-ignores-warnings.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
Log Message:
-----------
[include-cleaner] Suppress all clang warnings (#109099)
This patch disables all clang warnings when running include-cleaner, as
users aren't interested in other findings and in-development code might
have them temporarily. This ensures tool can keep working even in
presence of such issues.
Commit: 3d5e8e4693a51cd3ba336cec0c1a17fe389828a7
https://github.com/llvm/llvm-project/commit/3d5e8e4693a51cd3ba336cec0c1a17fe389828a7
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/ptrauth-call.ll
Log Message:
-----------
[PAC][CodeGen] Do not emit trivial 'mov xN, xN' on tail call (#109100)
Under some conditions, a trivial `mov xN xN` instruction was emitted on
tail calls. Consider the following code:
```
class Test {
public:
virtual void f() {}
};
void call_f(Test *t) {
t->f();
}
```
Correponding assembly:
```
_Z6call_fP4Test:
ldr x16, [x0]
mov x17, x0
movk x17, #6503, lsl #48
autda x16, x17
ldr x1, [x16]
=====> mov x16, x16
movk x16, #54167, lsl #48
braa x1, x16
```
This patch makes such movs being omitted.
Co-authored-by: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Commit: d267daa9eb517b2e040a59121c15dba59223ebba
https://github.com/llvm/llvm-project/commit/d267daa9eb517b2e040a59121c15dba59223ebba
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/weak.cpp
M clang/test/SemaCXX/weak-init.cpp
Log Message:
-----------
[clang][bytecode] Diagnose loads from weak variables (#109256)
Commit: f3250858780b37a188875c87e57133f1192b2e60
https://github.com/llvm/llvm-project/commit/f3250858780b37a188875c87e57133f1192b2e60
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][vector] Relax strides check for 1-element vector load/stores (#108998)
Single elememst vector load/stores are equivalent to scalar load/stores,
so they don't need memref to be contigious.
Commit: 256100489de2d01d21ddd9720aad3993a83864c2
https://github.com/llvm/llvm-project/commit/256100489de2d01d21ddd9720aad3993a83864c2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-19 (Thu, 19 Sep 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/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Rename isDefinedOutside[Vector]Regions -> [Loop] (NFC)
Clarify name of helper, split off from
https://github.com/llvm/llvm-project/pull/95842/files#r1765556732.
Commit: f1ff3a279f3320d8e0d4abbc1a8357bb51de25a2
https://github.com/llvm/llvm-project/commit/f1ff3a279f3320d8e0d4abbc1a8357bb51de25a2
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Log Message:
-----------
[InstCombine] Rename TTI member for clarity (NFC)
There is already a comment on the member and documentation in the
InstCombine contributor guide, but also rename it to make add
an additional speed bump.
Commit: becc02ce93cd14f07f444fff6f7433c1ecf13664
https://github.com/llvm/llvm-project/commit/becc02ce93cd14f07f444fff6f7433c1ecf13664
Author: Yonghong Song <yonghong.song at linux.dev>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/test/Analysis/LazyCallGraph/remove-dead-function-spurious-ref-edge.ll
M llvm/test/BugPoint/remove_arguments_test.ll
M llvm/test/CodeGen/AArch64/arg_promotion.ll
M llvm/test/CodeGen/AMDGPU/internalize.ll
M llvm/test/ThinLTO/X86/memprof-aliased-location1.ll
M llvm/test/ThinLTO/X86/memprof-aliased-location2.ll
M llvm/test/ThinLTO/X86/memprof-basic.ll
M llvm/test/ThinLTO/X86/memprof-duplicate-context-ids.ll
M llvm/test/ThinLTO/X86/memprof-funcassigncloning.ll
M llvm/test/ThinLTO/X86/memprof-indirectcall.ll
M llvm/test/ThinLTO/X86/memprof-inlined.ll
M llvm/test/Transforms/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
M llvm/test/Transforms/ArgumentPromotion/BPF/argpromotion.ll
M llvm/test/Transforms/ArgumentPromotion/X86/attributes.ll
M llvm/test/Transforms/ArgumentPromotion/X86/min-legal-vector-width.ll
M llvm/test/Transforms/ArgumentPromotion/X86/thiscall.ll
M llvm/test/Transforms/ArgumentPromotion/actual-arguments.ll
M llvm/test/Transforms/ArgumentPromotion/aggregate-promote-dead-gep.ll
M llvm/test/Transforms/ArgumentPromotion/aggregate-promote.ll
M llvm/test/Transforms/ArgumentPromotion/align.ll
M llvm/test/Transforms/ArgumentPromotion/allocsize.ll
M llvm/test/Transforms/ArgumentPromotion/attrs.ll
M llvm/test/Transforms/ArgumentPromotion/basictest.ll
M llvm/test/Transforms/ArgumentPromotion/bitcasts.ll
M llvm/test/Transforms/ArgumentPromotion/byval-2.ll
M llvm/test/Transforms/ArgumentPromotion/byval-with-padding.ll
M llvm/test/Transforms/ArgumentPromotion/byval.ll
M llvm/test/Transforms/ArgumentPromotion/chained.ll
M llvm/test/Transforms/ArgumentPromotion/control-flow2.ll
M llvm/test/Transforms/ArgumentPromotion/crash.ll
M llvm/test/Transforms/ArgumentPromotion/dbg.ll
M llvm/test/Transforms/ArgumentPromotion/fp80.ll
M llvm/test/Transforms/ArgumentPromotion/inalloca.ll
M llvm/test/Transforms/ArgumentPromotion/invalidation.ll
M llvm/test/Transforms/ArgumentPromotion/load-alignment-value-overflows-addrspace-size.ll
M llvm/test/Transforms/ArgumentPromotion/max-elements-limit.ll
M llvm/test/Transforms/ArgumentPromotion/metadata.ll
M llvm/test/Transforms/ArgumentPromotion/min-legal-vector-width.ll
M llvm/test/Transforms/ArgumentPromotion/nonzero-address-spaces.ll
M llvm/test/Transforms/ArgumentPromotion/opaque-ptr.ll
M llvm/test/Transforms/ArgumentPromotion/pr27568.ll
M llvm/test/Transforms/ArgumentPromotion/pr32917.ll
M llvm/test/Transforms/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
M llvm/test/Transforms/ArgumentPromotion/profile.ll
M llvm/test/Transforms/ArgumentPromotion/propagate-remove-dead-args.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/aggregate-promote-recursive.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/argpromotion-recursion-pr1259.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/recursion-mixed-calls.ll
M llvm/test/Transforms/ArgumentPromotion/recursion/recursion-non-zero-offset.ll
M llvm/test/Transforms/ArgumentPromotion/reserve-tbaa.ll
M llvm/test/Transforms/ArgumentPromotion/sret.ll
M llvm/test/Transforms/ArgumentPromotion/store-into-inself.ll
M llvm/test/Transforms/ArgumentPromotion/unused-argument.ll
M llvm/test/Transforms/Attributor/reduced/clear_cached_analysis_for_deleted_functions.ll
M llvm/test/Transforms/DeadArgElim/2007-02-07-FuncRename.ll
M llvm/test/Transforms/DeadArgElim/2007-12-20-ParamAttrs.ll
M llvm/test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
M llvm/test/Transforms/DeadArgElim/aggregates.ll
M llvm/test/Transforms/DeadArgElim/call_profile.ll
M llvm/test/Transforms/DeadArgElim/comdat.ll
M llvm/test/Transforms/DeadArgElim/dbginfo-update-dbgval-local.ll
M llvm/test/Transforms/DeadArgElim/dbginfo.ll
M llvm/test/Transforms/DeadArgElim/deadretval.ll
M llvm/test/Transforms/DeadArgElim/fct_ptr.ll
M llvm/test/Transforms/DeadArgElim/func_metadata.ll
M llvm/test/Transforms/DeadArgElim/funclet.ll
M llvm/test/Transforms/DeadArgElim/keepalive.ll
M llvm/test/Transforms/DeadArgElim/nonzero-address-spaces.ll
M llvm/test/Transforms/DeadArgElim/returned.ll
M llvm/test/Transforms/DeadArgElim/variadic_safety.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
M llvm/test/Transforms/FunctionSpecialization/global-var-constants.ll
M llvm/test/Transforms/FunctionSpecialization/non-argument-tracked.ll
M llvm/test/Transforms/FunctionSpecialization/specialization-order.ll
M llvm/test/Transforms/PhaseOrdering/dae-dce.ll
M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion.ll
M llvm/test/Transforms/SCCP/recursion.ll
Log Message:
-----------
Revert "[Transforms][IPO] Add func suffix in ArgumentPromotion and DeadArgume… (#105742)"
This reverts commit 959448fbd6bc6f74fb3f9655b1387d0e8a272ab8.
Reverting because multiple test failures e.g.
https://lab.llvm.org/buildbot/#/builders/187/builds/1290
https://lab.llvm.org/buildbot/#/builders/153/builds/9389
and maybe a few others.
Commit: 04ccbe6e70cf11e846da3fbc800832c6e56b573f
https://github.com/llvm/llvm-project/commit/04ccbe6e70cf11e846da3fbc800832c6e56b573f
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
Fix typos in interception_win.cpp
Commit: baf9b7da81025c1e3b0704d7ecf667e06f95642b
https://github.com/llvm/llvm-project/commit/baf9b7da81025c1e3b0704d7ecf667e06f95642b
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/Headers/vecintrin.h
A clang/test/CodeGen/SystemZ/builtins-systemz-i128.c
Log Message:
-----------
[SystemZ] Fix codegen for _[u]128 intrinsics
PR #74625 introduced a regression in the code generated for the
following set of intrinsic:
vec_add_u128, vec_addc_u128, vec_adde_u128, vec_addec_u128
vec_sub_u128, vec_subc_u128, vec_sube_u128, vec_subec_u128
vec_sum_u128, vec_msum_u128
vec_gfmsum_128, vec_gfmsum_accum_128
This is because the new code incorrectly assumed that a cast
from "unsigned __int128" to "vector unsigned char" would simply
be a bitcast re-interpretation; instead, this cast actually
truncates the __int128 to char and splats the result.
Fixed by adding an intermediate cast via a single-element
128-bit integer vector.
Fixes: https://github.com/llvm/llvm-project/issues/109113
Commit: 912e821ab3d415dc8421f53738ebabcc7f1dac2d
https://github.com/llvm/llvm-project/commit/912e821ab3d415dc8421f53738ebabcc7f1dac2d
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lld/COFF/MapFile.cpp
A lld/test/COFF/export-imp.test
Log Message:
-----------
[LLD][COFF] Process all live import symbols in MapFile's getSymbols() (#109117)
The current logic assumes that the import file is pulled by object
files, and the loop for import files only needs to handle cases where
the `__imp_` symbol is implicitly pulled by an import thunk. This is
fragile, as the symbol may also be pulled through other means, such as
the -export argument in tests. Additionally, this logic is insufficient
for ARM64EC, which exposes multiple symbols through an import file, and
referencing any one of them causes all of them to be defined.
With this change, import symbols are added to `syms` more often, but we
ensure that output symbols remain unique later in the process
Commit: 61ed5387c8dcc473f690b12c891741847d7145dd
https://github.com/llvm/llvm-project/commit/61ed5387c8dcc473f690b12c891741847d7145dd
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Log Message:
-----------
[gn] port c18be32185ca
Commit: 0013f94b24d18ee5c4535763b7d64ccdf4d6fa9e
https://github.com/llvm/llvm-project/commit/0013f94b24d18ee5c4535763b7d64ccdf4d6fa9e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/BuiltinsSystemZ.def
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/BuiltinsX86.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/altivec.h
M clang/lib/Headers/avx512bitalgintrin.h
M clang/lib/Headers/avx512vlbitalgintrin.h
M clang/lib/Headers/avx512vpopcntdqintrin.h
M clang/lib/Headers/avx512vpopcntdqvlintrin.h
M clang/lib/Headers/vecintrin.h
M clang/lib/Headers/wasm_simd128.h
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
M clang/test/CodeGen/X86/avx512bitalg-builtins.c
M clang/test/CodeGen/X86/avx512vlbitalg-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
M clang/test/CodeGen/builtins-wasm.c
Log Message:
-----------
[clang][powerpc][wasm][systemz][x86] Replace target vector popcount intrinsics with __builtin_elementwise_popcount (#109160)
Now that we have the C/C++ `__builtin_elementwise_popcount` intrinsic (#108121) - remove custom target intrinsics that just immediately map to Intrinsic::ctpop and use the generic intrinsic directly.
Commit: 486f790d294d1bc3bdaeb4377889c4b03f0b1bca
https://github.com/llvm/llvm-project/commit/486f790d294d1bc3bdaeb4377889c4b03f0b1bca
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lld/COFF/Chunks.h
M lld/COFF/InputFiles.cpp
M lld/COFF/MapFile.cpp
M lld/test/COFF/arm64ec-import.test
Log Message:
-----------
[LLD][COFF] Process all ARM64EC import symbols in MapFile's getSymbols (#109118)
Commit: 3e24dd42dded01a431070c3dda486eed2640b0c7
https://github.com/llvm/llvm-project/commit/3e24dd42dded01a431070c3dda486eed2640b0c7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
M llvm/utils/TableGen/Common/DAGISelMatcher.h
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFC] Rename variables to conform to LLVM coding standards (#109166)
Rename `indent` to `Indent` and `o` to `OS`.
Rename `Indentation` to `Indent`.
Remove unused argument from `emitPredicateMatch`.
Change `Indent` argument to `emitBinaryParser` to by value.
Commit: 96ac627238dc515efdd61e5ddeda78cd17014fa5
https://github.com/llvm/llvm-project/commit/96ac627238dc515efdd61e5ddeda78cd17014fa5
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[mlir][vector][nfc] Update vector load/store doc wrt unit strides. (#109267)
Follow up to https://github.com/llvm/llvm-project/pull/108998.
Non-contiguous strides are allowed now for 1-element vector load/stores.
Commit: 94c024adedcb53059c29d7c2d62982053b60e86a
https://github.com/llvm/llvm-project/commit/94c024adedcb53059c29d7c2d62982053b60e86a
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M flang/lib/Lower/ConvertCall.cpp
M flang/test/Lower/HLFIR/elemental-array-ops.f90
A flang/test/Lower/HLFIR/elemental-user-procedure-stacksave.f90
Log Message:
-----------
[flang][lowering] delay stack save/restor emission in elemental calls (#109142)
stack save/restore emitted for character elemental function result
allocation inside hlfir.elemental in lowering created memory bugs
because result memory is actually still used after the stack restore
when lowering the elemental into a loop where the result element is
copied into the array result storage.
Instead of adding special handling for stack save/restore in lowering,
just avoid emitting those since the stack reclaim pass is able to emit
them in the generated loop. Not having those stack save/restore will
also help optimizations that want to elide the temporary allocation for
the element result when that is possible.
Commit: ed8f78827895050442f544edef2933a60d4a7935
https://github.com/llvm/llvm-project/commit/ed8f78827895050442f544edef2933a60d4a7935
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang-tools-extra/CMakeLists.txt
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/SemanticSelection.cpp
A clang-tools-extra/clangd/support/Bracket.cpp
A clang-tools-extra/clangd/support/Bracket.h
M clang-tools-extra/clangd/support/CMakeLists.txt
A clang-tools-extra/clangd/support/DirectiveTree.cpp
A clang-tools-extra/clangd/support/DirectiveTree.h
A clang-tools-extra/clangd/support/Lex.cpp
A clang-tools-extra/clangd/support/Token.cpp
A clang-tools-extra/clangd/support/Token.h
M clang-tools-extra/docs/ReleaseNotes.rst
R clang-tools-extra/pseudo/CMakeLists.txt
R clang-tools-extra/pseudo/DesignNotes.md
R clang-tools-extra/pseudo/Disambiguation.md
R clang-tools-extra/pseudo/README.md
R clang-tools-extra/pseudo/benchmarks/Benchmark.cpp
R clang-tools-extra/pseudo/benchmarks/CMakeLists.txt
R clang-tools-extra/pseudo/fuzzer/CMakeLists.txt
R clang-tools-extra/pseudo/fuzzer/Fuzzer.cpp
R clang-tools-extra/pseudo/fuzzer/Main.cpp
R clang-tools-extra/pseudo/gen/CMakeLists.txt
R clang-tools-extra/pseudo/gen/Main.cpp
R clang-tools-extra/pseudo/include/CMakeLists.txt
R clang-tools-extra/pseudo/include/clang-pseudo/Bracket.h
R clang-tools-extra/pseudo/include/clang-pseudo/DirectiveTree.h
R clang-tools-extra/pseudo/include/clang-pseudo/Disambiguate.h
R clang-tools-extra/pseudo/include/clang-pseudo/Forest.h
R clang-tools-extra/pseudo/include/clang-pseudo/GLR.h
R clang-tools-extra/pseudo/include/clang-pseudo/Language.h
R clang-tools-extra/pseudo/include/clang-pseudo/Token.h
R clang-tools-extra/pseudo/include/clang-pseudo/cli/CLI.h
R clang-tools-extra/pseudo/include/clang-pseudo/cxx/CXX.h
R clang-tools-extra/pseudo/include/clang-pseudo/grammar/Grammar.h
R clang-tools-extra/pseudo/include/clang-pseudo/grammar/LRGraph.h
R clang-tools-extra/pseudo/include/clang-pseudo/grammar/LRTable.h
R clang-tools-extra/pseudo/lib/Bracket.cpp
R clang-tools-extra/pseudo/lib/CMakeLists.txt
R clang-tools-extra/pseudo/lib/DirectiveTree.cpp
R clang-tools-extra/pseudo/lib/Disambiguate.cpp
R clang-tools-extra/pseudo/lib/Forest.cpp
R clang-tools-extra/pseudo/lib/GLR.cpp
R clang-tools-extra/pseudo/lib/Lex.cpp
R clang-tools-extra/pseudo/lib/Token.cpp
R clang-tools-extra/pseudo/lib/cli/CLI.cpp
R clang-tools-extra/pseudo/lib/cli/CMakeLists.txt
R clang-tools-extra/pseudo/lib/cxx/CMakeLists.txt
R clang-tools-extra/pseudo/lib/cxx/CXX.cpp
R clang-tools-extra/pseudo/lib/cxx/cxx.bnf
R clang-tools-extra/pseudo/lib/grammar/CMakeLists.txt
R clang-tools-extra/pseudo/lib/grammar/Grammar.cpp
R clang-tools-extra/pseudo/lib/grammar/GrammarBNF.cpp
R clang-tools-extra/pseudo/lib/grammar/LRGraph.cpp
R clang-tools-extra/pseudo/lib/grammar/LRTable.cpp
R clang-tools-extra/pseudo/lib/grammar/LRTableBuild.cpp
R clang-tools-extra/pseudo/test/.clang-format
R clang-tools-extra/pseudo/test/CMakeLists.txt
R clang-tools-extra/pseudo/test/Unit/lit.cfg.py
R clang-tools-extra/pseudo/test/Unit/lit.site.cfg.py.in
R clang-tools-extra/pseudo/test/check-cxx-bnf.test
R clang-tools-extra/pseudo/test/crash/backslashes.c
R clang-tools-extra/pseudo/test/cxx/capture-list.cpp
R clang-tools-extra/pseudo/test/cxx/contextual-keywords.cpp
R clang-tools-extra/pseudo/test/cxx/dangling-else.cpp
R clang-tools-extra/pseudo/test/cxx/decl-specfier-seq.cpp
R clang-tools-extra/pseudo/test/cxx/declarator-function.cpp
R clang-tools-extra/pseudo/test/cxx/declarator-var.cpp
R clang-tools-extra/pseudo/test/cxx/declator-member-function.cpp
R clang-tools-extra/pseudo/test/cxx/empty-member-declaration.cpp
R clang-tools-extra/pseudo/test/cxx/empty-member-spec.cpp
R clang-tools-extra/pseudo/test/cxx/keyword.cpp
R clang-tools-extra/pseudo/test/cxx/literals.cpp
R clang-tools-extra/pseudo/test/cxx/mixed-designator.cpp
R clang-tools-extra/pseudo/test/cxx/nested-name-specifier.cpp
R clang-tools-extra/pseudo/test/cxx/parameter-decl-clause.cpp
R clang-tools-extra/pseudo/test/cxx/predefined-identifier.cpp
R clang-tools-extra/pseudo/test/cxx/recovery-func-parameters.cpp
R clang-tools-extra/pseudo/test/cxx/recovery-init-list.cpp
R clang-tools-extra/pseudo/test/cxx/structured-binding.cpp
R clang-tools-extra/pseudo/test/cxx/template-empty-type-parameter.cpp
R clang-tools-extra/pseudo/test/cxx/unsized-array.cpp
R clang-tools-extra/pseudo/test/fuzzer.cpp
R clang-tools-extra/pseudo/test/glr-variant-start.cpp
R clang-tools-extra/pseudo/test/glr.cpp
R clang-tools-extra/pseudo/test/html-forest.c
R clang-tools-extra/pseudo/test/lex.c
R clang-tools-extra/pseudo/test/lit.cfg.py
R clang-tools-extra/pseudo/test/lit.local.cfg
R clang-tools-extra/pseudo/test/lit.site.cfg.py.in
R clang-tools-extra/pseudo/test/lr-build-basic.test
R clang-tools-extra/pseudo/test/lr-build-conflicts.test
R clang-tools-extra/pseudo/test/strip-directives.c
R clang-tools-extra/pseudo/tool/CMakeLists.txt
R clang-tools-extra/pseudo/tool/ClangPseudo.cpp
R clang-tools-extra/pseudo/tool/HTMLForest.cpp
R clang-tools-extra/pseudo/tool/HTMLForest.css
R clang-tools-extra/pseudo/tool/HTMLForest.html
R clang-tools-extra/pseudo/tool/HTMLForest.js
R clang-tools-extra/pseudo/unittests/BracketTest.cpp
R clang-tools-extra/pseudo/unittests/CMakeLists.txt
R clang-tools-extra/pseudo/unittests/CXXTest.cpp
R clang-tools-extra/pseudo/unittests/DirectiveTreeTest.cpp
R clang-tools-extra/pseudo/unittests/DisambiguateTest.cpp
R clang-tools-extra/pseudo/unittests/ForestTest.cpp
R clang-tools-extra/pseudo/unittests/GLRTest.cpp
R clang-tools-extra/pseudo/unittests/GrammarTest.cpp
R clang-tools-extra/pseudo/unittests/LRTableTest.cpp
R clang-tools-extra/pseudo/unittests/TokenTest.cpp
M clang/docs/ClangFormattedStatus.rst
M clang/docs/tools/clang-formatted-files.txt
Log Message:
-----------
Remove clang-pseudo (#109154)
The functionality is incomplete and the authors have since shifted gears
to other work, so this is effectively unmaintained.
The original design document for clang-pseudo can be found at:
https://docs.google.com/document/d/1eGkTOsFja63wsv8v0vd5JdoTonj-NlN3ujGF0T7xDbM/edit
in case anyone wishes to pick this project back up again in the future.
Original RFC: https://discourse.llvm.org/t/removing-pseudo-parser/71131/
Commit: 0518b79f2bf682b3e1732c9f2f79cbc65b4c5f75
https://github.com/llvm/llvm-project/commit/0518b79f2bf682b3e1732c9f2f79cbc65b4c5f75
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
Log Message:
-----------
[LLVM][TableGen] Change DAGISelEmitter to use const RecordKeeper (#109175)
Change DAGISelEmitter to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: bc3dfe7bdd7ce6cd1e495d46c173b4f12518b3c1
https://github.com/llvm/llvm-project/commit/bc3dfe7bdd7ce6cd1e495d46c173b4f12518b3c1
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/TableGen/TableGen.cpp
Log Message:
-----------
[LLVM][TableGen] Change PrintEnums to use const RecordKeeper (#109200)
Change PrintEnums to use const RecordKeeper.
This is a part of effort to have better const correctness in TableGen
backends:
https://discourse.llvm.org/t/psa-planned-changes-to-tablegen-getallderiveddefinitions-api-potential-downstream-breakages/81089
Commit: e0458a24a1d026d1666f82d671e579d5fdce0027
https://github.com/llvm/llvm-project/commit/e0458a24a1d026d1666f82d671e579d5fdce0027
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
A llvm/test/TableGen/intrinsic-duplicate-name.td
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
Log Message:
-----------
[LLVM][TableGen] Add error check for duplicate intrinsic names (#109226)
Check for duplicate intrinsic names in the intrinsic emitter backend and
issue a fatal error if we find one.
Commit: dd599e92a6e5a1abc55ac694799102410c0d18c0
https://github.com/llvm/llvm-project/commit/dd599e92a6e5a1abc55ac694799102410c0d18c0
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Util/assume-builder.ll
Log Message:
-----------
[ValueTracking] Support assume in entry block without DT (#109264)
isValidAssumeForContext() handles a couple of trivial cases even if no
dominator tree is available. This adds one more for the case where there
is an assume in the entry block, and a use in some other block. The
entry block always dominates all blocks.
As having context instruction but not having DT is fairly rare, there is
not much impact. Only test change is in assume-builder.ll, where less
redundant assumes are generated. I've found having this special case is
useful for an upcoming change though.
Commit: a6ab19b1d400707c6e6cb6074ae52e22ac7885dd
https://github.com/llvm/llvm-project/commit/a6ab19b1d400707c6e6cb6074ae52e22ac7885dd
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/indirect_calls.py
Log Message:
-----------
fix(llvm/**.py): fix comparison to True/False (#94040)
from PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):
> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.
Co-authored-by: Eisuke Kawashima <e-kwsm at users.noreply.github.com>
Commit: 0ee10e9466603f9e55e6044b5070f65b8182dae1
https://github.com/llvm/llvm-project/commit/0ee10e9466603f9e55e6044b5070f65b8182dae1
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
A llvm/lib/Target/RISCV/RISCVZacasABIFix.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
Log Message:
-----------
[RISCV] Add additional fence for amocas when required by recent ABI change (#101023)
A recent atomics ABI change / fix requires that for the "A6C" and A6S"
atomics ABIs (i.e. both of those supported by LLVM currently), an
additional fence is inserted for an atomic_compare_exchange with seq_cst
failure ordering.
<https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/445>
This isn't trivial to support through the hooks used by AtomicExpandPass
because that pass assumes that when fences are inserted, the original
atomics ordering information can be removed from the instruction. Rather
than try to change and complicate that API, this patch implements the
needed fence insertion through a small special purpose pass.
Commit: 4e6ec0bf6d488e9a38ac03cc85077ca38169c532
https://github.com/llvm/llvm-project/commit/4e6ec0bf6d488e9a38ac03cc85077ca38169c532
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Replace redundant !Preds.empty() check with assert. (NFCI)
If there are no predicates, the predicated counts should not be
different to the non-predicated ones.
Commit: b49a6b2a9d9f02da49476865334348f480cc1d4d
https://github.com/llvm/llvm-project/commit/b49a6b2a9d9f02da49476865334348f480cc1d4d
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
Log Message:
-----------
[AArch64] Consider histcnt smaller than i32 in the cost model (#108521)
This PR updates the AArch64 cost model to consider the cheaper cost of
<i32 histograms to reflect the improvements from
https://github.com/llvm/llvm-project/pull/101017 and
https://github.com/llvm/llvm-project/pull/103037
Work by Max Beck-Jones (@DevM-uk)
---------
Co-authored-by: DevM-uk <max.beck-jones at arm.com>
Commit: f7714342ae0cc714e5e926dfc621e68306936acd
https://github.com/llvm/llvm-project/commit/f7714342ae0cc714e5e926dfc621e68306936acd
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
Log Message:
-----------
[AArch64][NEON][SVE] Lower mixed sign/zero extended partial reductions to usdot (#107566)
This PR adds lowering for partial reductions of a mix of sign/zero
extended inputs to the usdot intrinsic.
Commit: 1f8e6624e5052d56244b28fef3eb64bd0408f75d
https://github.com/llvm/llvm-project/commit/1f8e6624e5052d56244b28fef3eb64bd0408f75d
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb/DWARF] Downgrade the "parent of variable is not CU" error (#108806)
This can legitimately happen for static function-local variables with a
non-manual dwarf index. According to the DWARF spec, these variables
should be (and are) included in the compiler generated indexes, but they
are ignored by our manual index. Encountering them does not indicate any
sort of error.
The error message is particularly annoying due to a combination of the
fact that we don't cache negative hits (so we print it every time we
encounter it), VSCode's aggresive tab completion (which attempts a
lookup after every keypress) and the fact that some low-level libraries
(e.g. tcmalloc) have several local variables called "v". The result is a
console full of error messages everytime you type "v ".
We already have tests (e.g. find-basic-variable.cpp), which check that
these variables are not included in the result (and by extension, that
their presence does not crash lldb). It would be possible to extend it
to make sure it does *not* print this error message, but it doesn't seem
like it would be particularly useful.
Commit: 4caf7ccd7fae677115922c3626480dc41627fe37
https://github.com/llvm/llvm-project/commit/4caf7ccd7fae677115922c3626480dc41627fe37
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang-tools-extra/clangd/support/CMakeLists.txt
Log Message:
-----------
Fix issues clang-pseudo removal issues found post-commit
This amends ed8f78827895050442f544edef2933a60d4a7935 and hopefully
resolves the issues found by:
https://lab.llvm.org/buildbot/#/builders/76/builds/2973
https://lab.llvm.org/buildbot/#/builders/145/builds/1921
Commit: aa5eff9ee32d20dcc20d59bb0cc65b4830fecaf6
https://github.com/llvm/llvm-project/commit/aa5eff9ee32d20dcc20d59bb0cc65b4830fecaf6
Author: Nico Weber <thakis at chromium.org>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/gen/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/include/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/cli/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/cxx/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/grammar/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/test/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/test/clang_pseudo_lit_site_cfg_files.gni
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/tool/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/unittests/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/llvm-lit/BUILD.gn
Log Message:
-----------
[gn] port ed8f78827895 (rm clang-pseudo)
Commit: 9886788a8a500a1b429a6db64397c849b112251c
https://github.com/llvm/llvm-project/commit/9886788a8a500a1b429a6db64397c849b112251c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
A llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning-execution-mode.s
A llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[llvm-exegesis] Add support for pinning benchmarking process to a CPU (#85168)
This patch adds in support for pinning a benchmarking process to a
specific CPU (in the subprocess benchmarking mode on Linux). This is
intended to be used in environments where a certain set of CPUs is
isolated from the scheduler using something like cgroups and thus should
present less potential for noise than normal. This also opens up the
door for doing multithreaded benchmarking as we can now pin benchmarking
processes to specific CPUs that we know won't interfere with each other.
Commit: 887224d17754b63b408737153a28a504dd3733b7
https://github.com/llvm/llvm-project/commit/887224d17754b63b408737153a28a504dd3733b7
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port 0ee10e946660
Commit: 4d459dfa41e1e7436d3eaa3c27c67a8e36f68b8b
https://github.com/llvm/llvm-project/commit/4d459dfa41e1e7436d3eaa3c27c67a8e36f68b8b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clangd/support/BUILD.gn
Log Message:
-----------
[gn build] Port ed8f78827895
Commit: 2d26fc8c6c5015b77dc725695c1d957f412e4141
https://github.com/llvm/llvm-project/commit/2d26fc8c6c5015b77dc725695c1d957f412e4141
Author: Ryan Prichard <rprichard at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libcxx/include/atomic
M libcxx/include/stdatomic.h
A libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
R libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
R libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.compile.pass.cpp
Log Message:
-----------
[libc++] Enable C++ stdatomic.h for all C++ versions (#95498)
This extension is motivated by Android's use of libc++, where
<stdatomic.h> has redirected to <atomic> for many years, long before it
was standardized in C++23.
When libc++'s stdatomic.h is included in C translation units, delegate
to the next stdatomic.h, which could come from Clang or libc.
Commit: 3bd8f4e0a05f2eecc2029ff05d21f19e74b6eb67
https://github.com/llvm/llvm-project/commit/3bd8f4e0a05f2eecc2029ff05d21f19e74b6eb67
Author: Charlie Barto <Charles.Barto at microsoft.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
[sanitizer][asan][msvc] Teach GetInstructionSize about many instructions that appear in MSVC generated code. (#69490)
MSVC can sometimes generate instructions in function prologues that asan
previously didn't know the size of. This teaches asan those sizes. This isn't
super useful for using ASAN with non-msvc compilers, but it does stand alone.
>From https://reviews.llvm.org/D151008
Commit: b1b436c108101f31b27eedb3a9591b7a02e0bc6e
https://github.com/llvm/llvm-project/commit/b1b436c108101f31b27eedb3a9591b7a02e0bc6e
Author: Samuel Tebbs <samuel.tebbs at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Log Message:
-----------
[AArch64] Fix build error from extra !
This fixes a build failure caused by https://github.com/llvm/llvm-project/pull/108521
Commit: 02a1d311bde4a90cffa661215c81f9fef1bc7967
https://github.com/llvm/llvm-project/commit/02a1d311bde4a90cffa661215c81f9fef1bc7967
Author: David Green <david.green at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/build-vector-two-dup.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-uniform-cases.ll
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/load-insert-undef.ll
M llvm/test/CodeGen/AArch64/load-insert-zero.ll
M llvm/test/CodeGen/AArch64/merge-scoped-aa-store.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
Log Message:
-----------
[AArch64] Extend and rewrite load zero and load undef patterns (#108185)
The ldr instructions implicitly zero any upper lanes, so we can use them
for insert(zerovec, load, 0) patterns. Likewise insert(undef, load, 0)
or scalar_to_reg can reuse the scalar loads as the top bits are undef.
This patch makes sure there are patterns for each type and for each of
the normal, unaligned, roW and roX addressing modes.
Commit: 5e3d48a68096a0017a0fa4bb89f2d48767c8a7e4
https://github.com/llvm/llvm-project/commit/5e3d48a68096a0017a0fa4bb89f2d48767c8a7e4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
R llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning-execution-mode.s
R llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.h
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
Revert "[llvm-exegesis] Add support for pinning benchmarking process to a CPU (#85168)"
This reverts commit 9886788a8a500a1b429a6db64397c849b112251c.
This was breaking builds on ppc64 and AIX. Pulling so I have time to
investigate.
Commit: 698be40a5121590d9b72850edcec6b55fdeab942
https://github.com/llvm/llvm-project/commit/698be40a5121590d9b72850edcec6b55fdeab942
Author: Jakub Mazurkiewicz <mazkuba3 at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23Papers.csv
Log Message:
-----------
[libc++] Follow-up to "Poison Pills are Too Toxic" (#88383)
Update the LLVM 19 release notes and the C++23 status
to mention that we implemented this as a DR in C++20.
Commit: e8182029516dae445f21db304953aa5f10880d2d
https://github.com/llvm/llvm-project/commit/e8182029516dae445f21db304953aa5f10880d2d
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/docs/DebuggingCoroutines.rst
M clang/tools/include-mapping/gen_std.py
M clang/utils/check_cfc/obj_diff.py
M clang/utils/module-deps-to-rsp.py
Log Message:
-----------
[clang] Fix python comparison to None (#94014)
from PEP8
(https://peps.python.org/pep-0008/#programming-recommendations):
> Comparisons to singletons like None should always be done with is or
is not, never the equality operators.
Co-authored-by: Eisuke Kawashima <e-kwsm at users.noreply.github.com>
Commit: c4744e49f60ea3bce5a38d4917bcde8eb8abb7e1
https://github.com/llvm/llvm-project/commit/c4744e49f60ea3bce5a38d4917bcde8eb8abb7e1
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
M llvm/test/Transforms/LoopStrengthReduce/ARM/illegal-addr-modes.ll
Log Message:
-----------
[LSR] Regenerate test checks (NFC)
Commit: 5fa742eeed0821baf864d23f237ff1b481e1ae11
https://github.com/llvm/llvm-project/commit/5fa742eeed0821baf864d23f237ff1b481e1ae11
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-strings.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/nolint.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/nolintnextline.cpp
Log Message:
-----------
[clang-tidy][NFC] add qutation mark for C++ classes in warning message (#109068)
As discussion in
https://github.com/llvm/llvm-project/pull/108555#discussion_r1761841192,
split quotation mark change in a new NFC PR.
It is more readable to use `'std::array'` than `std::array<>`
Commit: 9ca62c5302633d0220de30f2b2a21d87dee64ac0
https://github.com/llvm/llvm-project/commit/9ca62c5302633d0220de30f2b2a21d87dee64ac0
Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
A clang/test/Analysis/z3-unarysymexpr.c
Log Message:
-----------
[analyzer] Indicate UnarySymExpr is not supported by Z3 (#108900)
Random testing found that the Z3 wrapper does not support UnarySymExpr,
which was added recently and not included in the original Z3 wrapper.
For now, just avoid submitting expressions to Z3 to avoid compiler
crashes.
Some crash context ...
clang -cc1 -analyze -analyzer-checker=core z3-unarysymexpr.c
-analyzer-constraints=z3
Unsupported expression to reason about!
UNREACHABLE executed at
clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h:297!
Stack dump:
3. <root>/clang/test/Analysis/z3-unarysymexpr.c:13:7: Error evaluating
branch #0 <addr> llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) #1
<addr> llvm::sys::RunSignalHandlers() #8 <addr>
clang::ento::SimpleConstraintManager::assumeAux(
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>,
clang::ento::NonLoc, bool) #9 <addr>
clang::ento::SimpleConstraintManager::assume(
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>,
clang::ento::NonLoc, bool)
Co-authored-by: einvbri <vince.a.bridgers at ericsson.com>
Commit: 14120227a34365e829d05c1413033d235d7d272c
https://github.com/llvm/llvm-project/commit/14120227a34365e829d05c1413033d235d7d272c
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/SystemZ/systemz-abi.cpp
M llvm/docs/LangRef.rst
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/TargetCallingConv.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
A llvm/test/CodeGen/SystemZ/args-14.ll
A llvm/test/CodeGen/SystemZ/args-15.ll
A llvm/test/CodeGen/SystemZ/args-16.ll
A llvm/test/CodeGen/SystemZ/args-17.ll
A llvm/test/CodeGen/SystemZ/args-18.ll
A llvm/test/CodeGen/SystemZ/args-19.ll
A llvm/test/CodeGen/SystemZ/args-20.ll
A llvm/test/CodeGen/SystemZ/args-21.ll
M llvm/tools/llc/llc.cpp
Log Message:
-----------
Target ABI: improve call parameters extensions handling (#100757)
For the purpose of verifying proper arguments extensions per the target's ABI,
introduce the NoExt attribute that may be used by a target when neither sign-
or zeroextension is required (e.g. with a struct in register). The purpose of
doing so is to be able to verify that there is always one of these attributes
present and by this detecting cases where sign/zero extension is actually
missing.
As a first step, this patch has the verification step done for the SystemZ
backend only, but left off by default until all known issues have been
addressed.
Other targets/front-ends can now also add NoExt attribute where needed and do
this check in the backend.
Commit: e03f427196ec67a8a5cfbdd658f9eabe9bce83ce
https://github.com/llvm/llvm-project/commit/e03f427196ec67a8a5cfbdd658f9eabe9bce83ce
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/ADT/TinyPtrVector.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/LiveRangeEdit.h
M llvm/include/llvm/CodeGen/MachineTraceMetrics.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfCorrelator.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/ImplicitNullChecks.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SplitKit.cpp
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp
M llvm/lib/Frontend/OpenMP/OMP.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/MDBuilder.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Object/BuildID.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Option/ArgList.cpp
M llvm/lib/Support/YAMLParser.cpp
M llvm/lib/TableGen/Parser.cpp
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
M llvm/unittests/tools/llvm-mca/MCATestBase.h
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[LLVM] Use {} instead of std::nullopt to initialize empty ArrayRef (#109133)
It is almost always simpler to use {} instead of std::nullopt to
initialize an empty ArrayRef. This patch changes all occurrences I could
find in LLVM itself. In future the ArrayRef(std::nullopt_t) constructor
could be deprecated or removed.
Commit: b55d4a39a932e407192a8038ef542586fd92e786
https://github.com/llvm/llvm-project/commit/b55d4a39a932e407192a8038ef542586fd92e786
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M compiler-rt/lib/builtins/truncxfbf2.c
Log Message:
-----------
[compiler-rt] Fix a warning
This patch fixes:
compiler-rt/lib/builtins/truncxfbf2.c:16:7: error: ISO C requires a
translation unit to contain at least one declaration
[-Werror,-Wempty-translation-unit]
Commit: 72b04b9f16cd63657431a97f349f539d6d5d5a21
https://github.com/llvm/llvm-project/commit/72b04b9f16cd63657431a97f349f539d6d5d5a21
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-19 (Thu, 19 Sep 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:9857:21: error:
unused variable 'Flags' [-Werror,-Wunused-variable]
Commit: 72fd35b85ba6fbdf316b3d3e21f845b022ac7b64
https://github.com/llvm/llvm-project/commit/72fd35b85ba6fbdf316b3d3e21f845b022ac7b64
Author: macurtis-amd <macurtis at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Log Message:
-----------
[Attributor] Report change when updating ReachesReturn (#108965)
Commit: 157adcccc59cbadd6f579418eac9e7dafa38ceec
https://github.com/llvm/llvm-project/commit/157adcccc59cbadd6f579418eac9e7dafa38ceec
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
Log Message:
-----------
[GSYM] Avoid repeated hash lookups (NFC) (#109241)
Commit: 2d7d74d990bf7a7211910e05a15d506c63295c53
https://github.com/llvm/llvm-project/commit/2d7d74d990bf7a7211910e05a15d506c63295c53
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
Log Message:
-----------
[LiveDebugValues] Avoid repeated hash lookups (NFC) (#109242)
Commit: e73d45361216f37faee22b86ccb07730feafa3a2
https://github.com/llvm/llvm-project/commit/e73d45361216f37faee22b86ccb07730feafa3a2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
Log Message:
-----------
[SPIRV] Avoid repeated hash lookups (NFC) (#109243)
Commit: ddd5741521ed50468f06adcacc8ea41256356224
https://github.com/llvm/llvm-project/commit/ddd5741521ed50468f06adcacc8ea41256356224
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
Log Message:
-----------
[Transforms] Avoid repeated hash lookups (NFC) (#109244)
Commit: beb2ae734830107d28543d172ab43ecc63bb59df
https://github.com/llvm/llvm-project/commit/beb2ae734830107d28543d172ab43ecc63bb59df
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Refactor and clean up edge removal (#109188)
Add helper for removing an edge from the graph, and for checking if an
edge has been removed from the graph, and then update code to use those
consistently for removal and during edge iteration, respectively. Also
fix a couple of places that were incorrectly iterating over edge lists
that could in theory be updated during the iteration.
Commit: 1f8a3286e065b8cb82628db0d335b3e82b9373fd
https://github.com/llvm/llvm-project/commit/1f8a3286e065b8cb82628db0d335b3e82b9373fd
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationServerTest.cpp
Log Message:
-----------
[lldb] Only send "posix" error codes through the gdb-remote protocol
The other side has no way of telling which namespace do these codes
belong to, so mashing them all together is not very helpful.
I'm mainly doing this to simplify some code in a pending patch
<https://github.com/llvm/llvm-project/pull/106774/files#r1752628604>,
and I've picked the posix error category semi-randomly. If we wanted to
be serious about assigning meaning to these error codes, we should
create a special error category for "gdb errors".
Commit: 104b249c236578d298384416c495ff7310b97f4d
https://github.com/llvm/llvm-project/commit/104b249c236578d298384416c495ff7310b97f4d
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lldb/include/lldb/Utility/Status.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Utility/Status.cpp
M lldb/unittests/Utility/StatusTest.cpp
Log Message:
-----------
[lldb] Change the implementation of Status to store an llvm::Error (NFC) (#106774)
(based on a conversation I had with @labath yesterday in
https://github.com/llvm/llvm-project/pull/106442)
Most APIs that currently vend a Status would be better served by
returning llvm::Expected<> instead. If possibles APIs should be
refactored to avoid Status. The only legitimate long-term uses of Status
are objects that need to store an error for a long time (which should be
questioned as a design decision, too).
This patch makes the transition to llvm::Error easier by making the
places that cannot switch to llvm::Error explicit: They are marked with
a call to Status::clone(). Every other API can and should be refactored
to use llvm::Expected. In the end Status should only be used in very few
places.
Whenever an unchecked Error is dropped by Status it logs this to the
verbose API channel.
Implementation notes:
This patch introduces two new kinds of error_category as well as new
llvm::Error types. Here is the mapping of lldb::ErrorType to
llvm::Errors:
```
(eErrorTypeInvalid)
eErrorTypeGeneric llvm::StringError
eErrorTypePOSIX llvm::ECError
eErrorTypeMachKernel MachKernelError
eErrorTypeExpression llvm::ErrorList<ExpressionError>
eErrorTypeWin32 Win32Error
```
Relanding with built-in cloning support for llvm::ECError.
Commit: 74c0ab6f3925f5a9461bde1a7ca4d4dbc369b07e
https://github.com/llvm/llvm-project/commit/74c0ab6f3925f5a9461bde1a7ca4d4dbc369b07e
Author: vporpo <vporpodas at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement NoCFIValue (#109046)
This patch implements sandboxir::NoCFIValue mirroring llvm::NoCFIValue.
Commit: 8a34f6dba14e49332ff63abfa6a8aa3ca560fc50
https://github.com/llvm/llvm-project/commit/8a34f6dba14e49332ff63abfa6a8aa3ca560fc50
Author: Pavel Skripkin <paskripkin at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/test/Instrumentation/AddressSanitizer/instrument_global.ll
Log Message:
-----------
[ASAN] Do not consider alignment during object size calculations (#109120)
It was found that ASAN logic optimizes away out-of-bound access
instrumentation for over-aligned arrays. See #108287 for complete code
examples.
Fix it by not considering alignment during object size calculation,
since out-of-bounds access for over-aligned object is still UB and
should be reported by ASAN.
Closes: #108287
Commit: bcd65ba6129bea92485432fdd09874bc3fc6671e
https://github.com/llvm/llvm-project/commit/bcd65ba6129bea92485432fdd09874bc3fc6671e
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][Vector] Verify that masked ops implement MaskableOpInterface (#108123)
This PR fixes a bug in `MaskOp::verifier` that allowed `vector.mask` to
mask operations that did not implement the MaskableOpInterface.
Commit: 91fd3e764ba49315320328233ae94013f90c7414
https://github.com/llvm/llvm-project/commit/91fd3e764ba49315320328233ae94013f90c7414
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
Log Message:
-----------
[LLVM][TableGen] Speed up sorting of intrinsics (#109230)
Speed up sorting of intrinsics by using the TargetPrefix to only
discriminate beteween target dependent vs target independent intrinsics
where target independent ones need to be sorted before target dependent
ones. When comparing two target dependent intrinsics, the Name already
includes `llvm.<TargetPrefix>` as a prefix, so no need to needlessly
compare it separately.
Commit: 7586aea9edd324a6d2806e5cb879456a978f61e0
https://github.com/llvm/llvm-project/commit/7586aea9edd324a6d2806e5cb879456a978f61e0
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
M clang/test/ParserHLSL/hlsl_contained_type_attr.hlsl
M clang/test/ParserHLSL/hlsl_is_rov_attr.hlsl
M clang/test/ParserHLSL/hlsl_raw_buffer_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
Log Message:
-----------
[HLSL][NFC] Update resource attribute tests (#108919)
- split resource attribute checks to multiple lines
- use @LINE expressions to match line numbers
Commit: 0265981b6ec0f46fc372897fef7f945d8f4625c2
https://github.com/llvm/llvm-project/commit/0265981b6ec0f46fc372897fef7f945d8f4625c2
Author: Charlie Barto <chbarto at microsoft.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M compiler-rt/lib/asan/asan_malloc_win_thunk.cpp
M compiler-rt/lib/asan/asan_win_common_runtime_thunk.cpp
M compiler-rt/lib/asan/asan_win_common_runtime_thunk.h
M compiler-rt/lib/asan/asan_win_static_runtime_thunk.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win_interception.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win_interception.h
M compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.cpp
M compiler-rt/test/asan/TestCases/Posix/strndup_oob_test2.cpp
Log Message:
-----------
[sanitizers] convert some errant CRLF line endings to LF (#108454)
(nfc)
https://github.com/llvm/llvm-project/pull/107899 Added some files with
CRLF line endings. Mixed line endings are somewhat gross, so I've
converted them all to unix.
Commit: cead9044a995910306e2e64b426fcc8042d7e0ef
https://github.com/llvm/llvm-project/commit/cead9044a995910306e2e64b426fcc8042d7e0ef
Author: Martin Storsjö <martin at martin.st>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang-scan-deps] Don't inspect Args[0] as an option (#109050)
Since a26ec542371652e1d774696e90016fd5b0b1c191, we expand the executable
name to an absolute path, if it isn't already one, if found in path.
This broke a couple tests in some environments; when the clang workdir
resides in a path under e.g. /opt. Tests that only use a tool name like
"clang-cl" would get expanded to the absolute path in the build tree.
The loop for finding the last "-o" like option for clang-cl command
lines would inspect all arguments, including Args[0] which is the
executable name itself. As an /opt path matches Arg.starts_with("/o"),
this would get detected as an object file output name in cases where
there was no other explicit output argument.
Thus, this fixes those tests in workdirs under e.g. /opt.
Commit: f009f72df5285acab0ebb600636653d7db72a552
https://github.com/llvm/llvm-project/commit/f009f72df5285acab0ebb600636653d7db72a552
Author: Michael Jones <michaelrj at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libc/config/baremetal/config.json
M libc/config/config.json
M libc/config/gpu/config.json
M libc/docs/configure.rst
M libc/docs/dev/printf_behavior.rst
M libc/src/__support/StringUtil/error_to_string.cpp
M libc/src/__support/StringUtil/error_to_string.h
M libc/src/__support/StringUtil/tables/linux_extension_errors.h
M libc/src/__support/StringUtil/tables/linux_platform_errors.h
M libc/src/__support/StringUtil/tables/minimal_platform_errors.h
M libc/src/__support/StringUtil/tables/posix_errors.h
M libc/src/__support/StringUtil/tables/stdc_errors.h
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/converter_atlas.h
M libc/src/stdio/printf_core/parser.h
A libc/src/stdio/printf_core/strerror_converter.h
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/sprintf_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Add printf strerror conversion (%m) (#105891)
This patch adds the %m conversion to printf, which prints the
strerror(errno). Explanation of why is below, this patch also updates
the docs, tests, and build system to accomodate this.
The standard for syslog in posix specifies it uses the same format as
printf, but adds %m which prints the error message string for the
current value of errno. For ease of implementation, it's standard
practice for libc implementers to just add %m to printf instead of
creating a separate parser for syslog.
Commit: e58427828939eadf7e169a0e5476919a5746a82e
https://github.com/llvm/llvm-project/commit/e58427828939eadf7e169a0e5476919a5746a82e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/vector-freeze.ll
Log Message:
-----------
[LV] Update tests to avoid loop invariant instructions.
Update some tests with loop invariant instructions so the instructions
cannot be hoisted out.
This preserves the original test intention after
https://github.com/llvm/llvm-project/pull/107894.
Commit: 0fa258c8d93c2f8de66518868a8e2a645b90afbe
https://github.com/llvm/llvm-project/commit/0fa258c8d93c2f8de66518868a8e2a645b90afbe
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-512.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-512.ll
Log Message:
-----------
[X86] Implement certain 16-bit vector shifts via 32-bit shifts
x86 vector ISAs are non-orthogonal in a number of ways. For example,
AVX2 has vpsravd but it does not have vpsravw. However, we can simulate
it via vpsrlvd and some SWAR-style masking.
Another example is 8-bit shifts: we can use vpsllvd to simulate the
missing "vpsllvb" if shift amounts can be shared for a single lane.
Existing code generation would use a variety of techniques including
vpmulhuw which is higher latency and often has more rigid port
requirements than simple bitwise operations.
Commit: 14c76321a27943455dfa041e5e84121c61c8162d
https://github.com/llvm/llvm-project/commit/14c76321a27943455dfa041e5e84121c61c8162d
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
Log Message:
-----------
[clang-tidy][readability-container-contains] Use hasOperands when possible (#109178)
Simplifies two cases and matches two new cases previously missing,
`container.end() [!=]= container.find(...)`.
Commit: d57525294a6f9318db6aeda46bf77d004b836b43
https://github.com/llvm/llvm-project/commit/d57525294a6f9318db6aeda46bf77d004b836b43
Author: Tyler Nowicki <tyler.nowicki at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroShape.h
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
Log Message:
-----------
[Coroutines] Refactor CoroShape::buildFrom for future use by ABI objects (#108623)
* Refactor buildFrom to separate the analysis, abi related operations,
cleaning and invalidating.
* In a follow-up PR the code in initABI will be moved to an ABI object
init method.
* In a follow-up PR the OptimizeFrame flag will also be removed from the
Shape and instead will be passed directly to buildCoroutineFrame
(although it would be nice to find another way to trigger this
optimization). This is the only thing that Shape cannot determine from
the Function/Coroutine, but it is only needed within
buildCoroutineFrame.
See RFC for more info:
https://discourse.llvm.org/t/rfc-abi-objects-for-coroutines/81057
Commit: e45f9aa7fa5c6e3ef808f5ff5d80a09fc999b9bc
https://github.com/llvm/llvm-project/commit/e45f9aa7fa5c6e3ef808f5ff5d80a09fc999b9bc
Author: Franklin <fenglei4518 at hotmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Processors.td
A llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
M llvm/test/CodeGen/AArch64/cpus.ll
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-basic-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-mte-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-sve-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-writeback.s
M llvm/unittests/Target/AArch64/AArch64SVESchedPseudoTest.cpp
Log Message:
-----------
[AArch64] Initial sched model for Neoverse N3 (#106371)
References:
* Arm Neoverse N3 Software Optimization Guide
* Arm A64 Instruction Set for A-profile architecture
Commit: f3f3883f4b9d15770a5ce49956ed4425c71ad69f
https://github.com/llvm/llvm-project/commit/f3f3883f4b9d15770a5ce49956ed4425c71ad69f
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Fix crash reported in https://github.com/llvm/llvm-project/issues/109313
Change edc71e22c004d3b3dfc535f7917ea0b47a282ac8 had tried to handle the case
where an instruction wasn't available, but had used a dyn_cast instead of
a dyn_cast_or_null. Switch instead to an explicit null check, and a cast.
Commit: edf3b277a5f2ebe144827ed47463c22743cac5f9
https://github.com/llvm/llvm-project/commit/edf3b277a5f2ebe144827ed47463c22743cac5f9
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang-tools-extra/clangd/FS.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/support/ThreadsafeFS.cpp
M clang-tools-extra/clangd/unittests/ClangdTests.cpp
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/unittests/Driver/DistroTest.cpp
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Frontend/PCHPreambleTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M lldb/unittests/Host/FileSystemTest.cpp
M lldb/unittests/Utility/MockSymlinkFileSystem.h
M llvm/include/llvm/Support/AutoConvert.h
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/FileCollector.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
[SystemZ][z/OS] Propagate IsText parameter to open text files as text (#107906)
This patch adds an IsText parameter to the following functions
openFileForRead, getBufferForFile, getBufferForFileImpl and determines
whether a file is text by querying the file tag on z/OS. The default is
set to OF_Text instead of OF_None, this change in value does not affect
any other platforms other than z/OS.
Commit: 010c0d36e1c8e25212dbbb7ed03dd6eb58b48f45
https://github.com/llvm/llvm-project/commit/010c0d36e1c8e25212dbbb7ed03dd6eb58b48f45
Author: Michael Jones <michaelrj at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libc/utils/gpu/server/CMakeLists.txt
Log Message:
-----------
[libc][AMDGPU] Disable %m in RPC server (#109317)
The RPC server directly includes the printf code, but doesn't support
errno, so the %m conversion needs to be disabled there as well. This
patch does that.
Commit: 8242bd116d547cbebe0102cda1c4421ee4865407
https://github.com/llvm/llvm-project/commit/8242bd116d547cbebe0102cda1c4421ee4865407
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
A llvm/test/Transforms/EarlyCSE/materialize-align-assumptions.ll
Log Message:
-----------
[EarlyCSE] Add tests showing loss of alignment info for ptr loads.
Precommit tests for https://github.com/llvm/llvm-project/pull/109131.
Commit: ccfe7d4b20819a0bf8552b81b60593b76b89e65c
https://github.com/llvm/llvm-project/commit/ccfe7d4b20819a0bf8552b81b60593b76b89e65c
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
Log Message:
-----------
[GlobalIsel] Cleanup G_EXTRACT_VECTOR_ELT combines (#109047)
Reduce duplicated build vector patterns by exploiting variadic args.
Make index parameter const to improve hit rate.
Use `getIConstantFromReg` to retrieve immediate because they are not
fallible anymore.
Improve extraction from build vector and shuffle vector.
Commit: d1335fb86466221b0499db5fc8f158f1f64d9542
https://github.com/llvm/llvm-project/commit/d1335fb86466221b0499db5fc8f158f1f64d9542
Author: Prabhuk <prabhukr at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
A clang/lib/Driver/ToolChains/UEFI.cpp
A clang/lib/Driver/ToolChains/UEFI.h
A clang/test/CodeGen/X86/uefi-data-layout.c
A clang/test/Driver/uefi-constructed-args.c
M clang/unittests/Driver/ToolChainTest.cpp
Log Message:
-----------
[Driver] Add toolchain for X86_64 UEFI target (#76838)
Introduce changes necessary for UEFI X86_64 target Clang driver.
Addressed the review comments originally suggested in Phabricator.
Differential Revision: https://reviews.llvm.org/D159541
Commit: 315ba7740663208f8bc45a7e4f145dc1df79500c
https://github.com/llvm/llvm-project/commit/315ba7740663208f8bc45a7e4f145dc1df79500c
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-scalable.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir
Log Message:
-----------
[mlir][linalg] Vectorisation of tensor.extract - dynamic shapes (#100582)
This PR removes the assumption that reading from a dynamic tensor is
always a gather load:
```mlir
%extracted = tensor.extract %src[%c79, %3] : tensor<?x?xf32>
```
That assumption was originally introduced to simplify the implementation
and to reduce the number of cases to consider. Now that the
vectorisation of `tensor.extract` has been around for > 1 year and has
been quite stable, we can safely relax it.
This is a relatively small change - rather than using the parent linalg
Op to infer the target output shape (not possible with dynamic shapes),
the vectorizer will use the (previously constructed) output vector
shape instead.
As expected, the following test required updating (`vector.gather` ->
`vector.transfer_read`):
*
@masked_dynamic_vectorize_nd_tensor_extract_with_affine_apply_contiguous
Similar test for scalable vectors is also added.
Commit: 42eb19a2603f391cfc85815637accd04322bcc1c
https://github.com/llvm/llvm-project/commit/42eb19a2603f391cfc85815637accd04322bcc1c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
Log Message:
-----------
[gn build] Port d1335fb86466
Commit: 96ba9d372de522e836859d143f0cdab557277975
https://github.com/llvm/llvm-project/commit/96ba9d372de522e836859d143f0cdab557277975
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Only consider recipes in loop region in planContainsSimp. (NFCI)
Limit checks in planContainsAdditionalSimplifications to recipes in the
vector loop region.
Preparation for https://github.com/llvm/llvm-project/pull/107894.
Commit: 3b3accb598ec87a6a30b0e18ded06071030bb78f
https://github.com/llvm/llvm-project/commit/3b3accb598ec87a6a30b0e18ded06071030bb78f
Author: Abhina Sreeskantharajan <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
M llvm/lib/Support/FileCollector.cpp
Log Message:
-----------
[SystemZ][z/OS] Propagate IsText flag continuation
Commit: dd8b266efa6fbfb4aaff9f6ec95d7a361c10f1b8
https://github.com/llvm/llvm-project/commit/dd8b266efa6fbfb4aaff9f6ec95d7a361c10f1b8
Author: Richard Smith <richard at metafoo.co.uk>
Date: 2024-09-19 (Thu, 19 Sep 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:
-----------
[demangle] Represent a char array initializer as a string literal. (#109021)
This improves the demangling for non-type template arguments that
contain string literals. Previously we'd produce
char [4]{(char)65, (char)66, (char)67}
(which isn't valid C or C++), and now we produce `"ABC"`.
The new demangling is always shorter, even when using an escape sequence
for every character, and much more readable when the char array contains
text.
Commit: 283c2c8800de4991730be20c327f94fc72ff21a2
https://github.com/llvm/llvm-project/commit/283c2c8800de4991730be20c327f94fc72ff21a2
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/test/TableGen/directive1.td
M llvm/test/TableGen/directive2.td
M llvm/utils/TableGen/DirectiveEmitter.cpp
Log Message:
-----------
[TableGen] Add explicit symbol visibility macros to code generated (#107873)
Update llvm's TableGen to emit new explicit symbol visibility macros I
added in https://github.com/llvm/llvm-project/pull/96630 to the function
declarations it creates
The generated functions need to be exported from llvm's shared library
for Clang and some OpenMP tests. @compnerd
Commit: 434c9c50f99b1ad4e551c64af93287869389b087
https://github.com/llvm/llvm-project/commit/434c9c50f99b1ad4e551c64af93287869389b087
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M flang/runtime/CUDA/CMakeLists.txt
M flang/runtime/CUDA/allocatable.cpp
Log Message:
-----------
[flang][cuf][NFC] Clean up unused header and library (#109326)
These were part of a previous attempt and are not needed anymore.
Commit: ac664697c54cf2ffa9ebef0215f734bcca3b718f
https://github.com/llvm/llvm-project/commit/ac664697c54cf2ffa9ebef0215f734bcca3b718f
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
M clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
Log Message:
-----------
[clang] Tidy uses of raw_string_ostream (NFC)
As specified in the docs,
1) raw_string_ostream is always unbuffered and
2) the underlying buffer may be used directly
( 65b13610a5226b84889b923bae884ba395ad084d for further reference )
* Don't call raw_string_ostream::flush(), which is essentially a no-op.
* Avoid unneeded calls to raw_string_ostream::str(), to avoid excess indirection.
Commit: 3191587666aa3d1e53966bc8876614c7197fac4f
https://github.com/llvm/llvm-project/commit/3191587666aa3d1e53966bc8876614c7197fac4f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
Log Message:
-----------
[Coroutines] Fix a warning
This patch fixes:
llvm/lib/Transforms/Coroutines/Coroutines.cpp:475:3: error: default
label in switch which covers all enumeration values
[-Werror,-Wcovered-switch-default]
Commit: 02d34d800b94937c42fb7cff2db2b2836d918ac6
https://github.com/llvm/llvm-project/commit/02d34d800b94937c42fb7cff2db2b2836d918ac6
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
A mlir/include/mlir/Conversion/VectorToXeGPU/VectorToXeGPU.h
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/VectorToXeGPU/CMakeLists.txt
A mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
A mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
A mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir
Log Message:
-----------
[mlir][vector][xegpu] Vector to XeGPU conversion pass (#107419)
Add pass for Vector to XeGPU dialect conversion and initial conversion
patterns for vector.transfer_read|write operations.
Commit: d7c69c20a799509ffab8b22920c92c6428485f45
https://github.com/llvm/llvm-project/commit/d7c69c20a799509ffab8b22920c92c6428485f45
Author: David Pagan <dave.pagan at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
R clang/test/OpenMP/error_unsupport_feature.c
A clang/test/OpenMP/scope_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[clang][OpenMP] Add codegen for scope directive (#109197)
Added codegen for scope directive, enabled allocate and firstprivate
clauses, and added scope directive LIT test.
Testing
- LIT tests (including new scope test).
- OpenMP scope example test from 5.2 OpenMP API examples document.
- Three executable scope tests from OpenMP_VV/sollve_vv suite.
Commit: 1335a11176f99cc54f423fe173708bd2373b59f7
https://github.com/llvm/llvm-project/commit/1335a11176f99cc54f423fe173708bd2373b59f7
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[mlir][vector][nfc] Clean-up VectorOps.{h|cpp} (#109316)
Commit: 21026073e3b0583caf0c81564c4d7ebf002fe67b
https://github.com/llvm/llvm-project/commit/21026073e3b0583caf0c81564c4d7ebf002fe67b
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h
Log Message:
-----------
[lldb/Interpreter] Add requirements to Scripted Interface abstract methods (#109063)
This patch adds new requirements to the Scripted Interface abstract
method checker to check the minimum number of argument for abstract
methods.
This check is done when creating the interface object so the object is
not created if the user implementation doesn't match the abstract method
requirement.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 0347c1122625e3f8a0a2b602b2ef02fa334a13e1
https://github.com/llvm/llvm-project/commit/0347c1122625e3f8a0a2b602b2ef02fa334a13e1
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/allocator_common.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
Log Message:
-----------
[scudo] Remove unused field in BatchGroup (#109322)
Also fix the logic while determining the size of BatchClass and update
some legacy comments.
Commit: c3fe727181818d3efdd2ce96598bfe6a2d3ffb83
https://github.com/llvm/llvm-project/commit/c3fe727181818d3efdd2ce96598bfe6a2d3ffb83
Author: Evan Wilde <etceterawilde at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/CodeGen/CMakeLists.txt
Log Message:
-----------
Add missing deps edge: CodeGenAction.cpp.o -> GenVT.inc (#109306)
CodeGenAction.cpp.o depends on generating GenVT.inc before trying to
compile it through the following header chain:
```
GenVT.inc
MachineValueType.h
LowLevelType.h
MachineMemOperand.h
MachineInstr.h
MachineBasicBlock.h
MachineFunctionPass.h
MachineOptimizationRemarkEmitter.h
CodeGenAction.cpp
```
There is a dependency edge through LLVMCodeGenTypes, but that edge is
applied to the clangCodeGen link step, not the compile step of the files
that make up clangCodeGen. Usually the compile and link are close enough
in the build that GenVT.inc is scheduled early enough that it exists by
the time we're compiling CodeGenAction.cpp.o, but on machines with high
core counts, it seems to be more prevalent that the scheduling works out
just right to expose the missing edge. I've only been able to reproduce
this on machines with at least 64 cores (but even then it was not
reliable).
Additionally, llvm-tblgen depends on GenVT.inc, so to see the missing
dependency edge, one must be using a pre-built tablegen binary.
Adding the missing dependency edge to ensure that GenVT.inc is generated
before trying to compile CodeGenAction.cpp.o.
Found by inspecting the dependency graph generated from Ninja with:
```sh
cmake -G 'Ninja' \
...
-DLLVM_TABLEGEN=<path to native tblegen> \
-DCLANG_TABLEGEN=<path to native clang tblgen> \
-DLLVM_ENABLE_PROJECTS=clang \
...
ninja -t graph \
tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CodeGenAction.cpp.o | dot -Tpdf > CodeGenAction.pdf
```
Commit: f6b4c34d4f96ca705409f76b9bb48de7d2bec9bd
https://github.com/llvm/llvm-project/commit/f6b4c34d4f96ca705409f76b9bb48de7d2bec9bd
Author: Michael Jones <michaelrj at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libc/config/linux/api.td
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/socklen_t.h
A libc/hdr/types/ssize_t.h
A libc/hdr/types/struct_msghdr.h
A libc/hdr/types/struct_sockaddr.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_iovec.h
A libc/include/llvm-libc-types/struct_msghdr.h
M libc/newhdrgen/yaml/sys/socket.yaml
M libc/spec/posix.td
M libc/src/sys/socket/CMakeLists.txt
R libc/src/sys/socket/bind.h
M libc/src/sys/socket/linux/CMakeLists.txt
R libc/src/sys/socket/linux/bind.cpp
A libc/src/sys/socket/linux/recv.cpp
A libc/src/sys/socket/linux/recvfrom.cpp
A libc/src/sys/socket/linux/recvmsg.cpp
A libc/src/sys/socket/linux/send.cpp
A libc/src/sys/socket/linux/sendmsg.cpp
A libc/src/sys/socket/linux/sendto.cpp
A libc/src/sys/socket/linux/socketpair.cpp
A libc/src/sys/socket/recv.h
A libc/src/sys/socket/recvfrom.h
A libc/src/sys/socket/recvmsg.h
A libc/src/sys/socket/send.h
A libc/src/sys/socket/sendmsg.h
A libc/src/sys/socket/sendto.h
A libc/src/sys/socket/socketpair.h
M libc/test/src/sys/socket/linux/CMakeLists.txt
R libc/test/src/sys/socket/linux/bind_test.cpp
A libc/test/src/sys/socket/linux/send_recv_test.cpp
A libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
A libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
A libc/test/src/sys/socket/linux/socketpair_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
A utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel
Log Message:
-----------
[libc] Add functions to send/recv messages (#106467)
This patch adds the necessary functions to send and receive messages
over a socket. Those functions are: recv, recvfrom, recvmsg, send,
sendto, sendmsg, and socketpair for testing.
Commit: 221f15fc145d46289781206f241ae564cd9510f0
https://github.com/llvm/llvm-project/commit/221f15fc145d46289781206f241ae564cd9510f0
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/unittests/Driver/CMakeLists.txt
Log Message:
-----------
[Clang] - Add libclangSerialization to clang driver unittests (#109329)
This PR is a fix for issue
[#109328](https://github.com/llvm/llvm-project/issues/109328).
libclangSerializaton.so is needed for building clang driver unittests
after
https://github.com/llvm/llvm-project/pull/76838 was merged. Needed for
builds with `BUILD_SHARED_LIBS=ON`
Commit: 36293eea68cae03a71389fb2e91dbc2cc0b43b4b
https://github.com/llvm/llvm-project/commit/36293eea68cae03a71389fb2e91dbc2cc0b43b4b
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
[NFC][ELF] Rename some ELFWriter methods (#109332)
More consistent casing + more accurate names.
Commit: 13dd2fd1e0ad428331ccbb65871574f9c1e3546f
https://github.com/llvm/llvm-project/commit/13dd2fd1e0ad428331ccbb65871574f9c1e3546f
Author: Michael Jones <michaelrj at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/llvm-libc-types/struct_sockaddr.h
M libc/src/sys/socket/CMakeLists.txt
A libc/src/sys/socket/bind.h
M libc/src/sys/socket/linux/CMakeLists.txt
A libc/src/sys/socket/linux/bind.cpp
M libc/test/src/sys/socket/linux/CMakeLists.txt
A libc/test/src/sys/socket/linux/bind_test.cpp
Log Message:
-----------
[libc] Put bind back, fix gcc build (#109341)
Fixes #106467.
Bind was accidentally removed while trying to clean up functions that
didn't end up being needed. The GCC issue was just a warning treated as
an error.
Commit: 079f31c11fda00fe30e10f90fff72fa396470174
https://github.com/llvm/llvm-project/commit/079f31c11fda00fe30e10f90fff72fa396470174
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
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] Move the rest of Zfa FLI instruction handling to lowerConstantFP. (#109217)
We already moved the fneg case. This moves the rest so we can drop the
custom isel.
Commit: 7db641af13670aa1f1ecd3106eda3ce447afd752
https://github.com/llvm/llvm-project/commit/7db641af13670aa1f1ecd3106eda3ce447afd752
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/include/clang/AST/StmtDataCollectors.td
M clang/lib/AST/DataCollection.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/Tooling/CommonOptionsParser.cpp
M clang/lib/Tooling/Core/Replacement.cpp
M clang/lib/Tooling/Refactoring/AtomicChange.cpp
M clang/lib/Tooling/Transformer/Stencil.cpp
M clang/unittests/Basic/SarifTest.cpp
M clang/unittests/Frontend/TextDiagnosticTest.cpp
Log Message:
-----------
[clang] Don't call raw_string_ostream::flush() (NFC)
Don't call raw_string_ostream::flush(), which is essentially a no-op.
As specified in the docs, raw_string_ostream is always unbuffered
Commit: d2df2e41cae1413050935d6d27094569c29c473f
https://github.com/llvm/llvm-project/commit/d2df2e41cae1413050935d6d27094569c29c473f
Author: Prabhuk <prabhukr at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
R clang/lib/Driver/ToolChains/UEFI.cpp
R clang/lib/Driver/ToolChains/UEFI.h
R clang/test/CodeGen/X86/uefi-data-layout.c
R clang/test/Driver/uefi-constructed-args.c
M clang/unittests/Driver/ToolChainTest.cpp
Log Message:
-----------
Revert "[Driver] Add toolchain for X86_64 UEFI target" (#109340)
Reverts llvm/llvm-project#76838
Appears to be causing failures in MAC builders. First reverting the
patch and will investigate after.
Commit: e2983e5ad3eecc2f614844e8580f08a675e53292
https://github.com/llvm/llvm-project/commit/e2983e5ad3eecc2f614844e8580f08a675e53292
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
Log Message:
-----------
[gn build] Port d2df2e41cae1
Commit: 0f488a0b7d3da3c736e9242e5dd110ba0322e45a
https://github.com/llvm/llvm-project/commit/0f488a0b7d3da3c736e9242e5dd110ba0322e45a
Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/Attributes.td
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/test/Bitcode/attributes.ll
M llvm/test/Bitcode/compatibility.ll
A llvm/test/Verifier/rtsan-attrs.ll
Log Message:
-----------
[LLVM][rtsan] Add `sanitize_realtime_unsafe` attribute (#106754)
Commit: fc51c7f0cc1abf1679100d71d103fe5d943f580b
https://github.com/llvm/llvm-project/commit/fc51c7f0cc1abf1679100d71d103fe5d943f580b
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M flang/include/flang/Common/float128.h
M flang/include/flang/Runtime/cpp-type.h
M flang/include/flang/Runtime/matmul-instances.inc
M flang/include/flang/Runtime/numeric.h
M flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/include/flang/Runtime/transformational.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/runtime/Float128Math/acos.cpp
M flang/runtime/Float128Math/acosh.cpp
M flang/runtime/Float128Math/asin.cpp
M flang/runtime/Float128Math/asinh.cpp
M flang/runtime/Float128Math/atan.cpp
M flang/runtime/Float128Math/atan2.cpp
M flang/runtime/Float128Math/atanh.cpp
M flang/runtime/Float128Math/ceil.cpp
M flang/runtime/Float128Math/complex-math.c
M flang/runtime/Float128Math/complex-math.h
M flang/runtime/Float128Math/cos.cpp
M flang/runtime/Float128Math/cosh.cpp
M flang/runtime/Float128Math/erf.cpp
M flang/runtime/Float128Math/erfc.cpp
M flang/runtime/Float128Math/exp.cpp
M flang/runtime/Float128Math/exponent.cpp
M flang/runtime/Float128Math/floor.cpp
M flang/runtime/Float128Math/fma.cpp
M flang/runtime/Float128Math/fraction.cpp
M flang/runtime/Float128Math/hypot.cpp
M flang/runtime/Float128Math/j0.cpp
M flang/runtime/Float128Math/j1.cpp
M flang/runtime/Float128Math/jn.cpp
M flang/runtime/Float128Math/lgamma.cpp
M flang/runtime/Float128Math/llround.cpp
M flang/runtime/Float128Math/log.cpp
M flang/runtime/Float128Math/log10.cpp
M flang/runtime/Float128Math/lround.cpp
M flang/runtime/Float128Math/math-entries.h
M flang/runtime/Float128Math/mod-real.cpp
M flang/runtime/Float128Math/modulo-real.cpp
M flang/runtime/Float128Math/nearest.cpp
M flang/runtime/Float128Math/norm2.cpp
M flang/runtime/Float128Math/pow.cpp
M flang/runtime/Float128Math/random.cpp
M flang/runtime/Float128Math/round.cpp
M flang/runtime/Float128Math/rrspacing.cpp
M flang/runtime/Float128Math/scale.cpp
M flang/runtime/Float128Math/set-exponent.cpp
M flang/runtime/Float128Math/sin.cpp
M flang/runtime/Float128Math/sinh.cpp
M flang/runtime/Float128Math/spacing.cpp
M flang/runtime/Float128Math/sqrt.cpp
M flang/runtime/Float128Math/tan.cpp
M flang/runtime/Float128Math/tanh.cpp
M flang/runtime/Float128Math/tgamma.cpp
M flang/runtime/Float128Math/trunc.cpp
M flang/runtime/Float128Math/y0.cpp
M flang/runtime/Float128Math/y1.cpp
M flang/runtime/Float128Math/yn.cpp
M flang/runtime/complex-powi.cpp
M flang/runtime/complex-reduction.c
M flang/runtime/complex-reduction.h
M flang/runtime/dot-product.cpp
M flang/runtime/extrema.cpp
M flang/runtime/numeric-templates.h
M flang/runtime/numeric.cpp
M flang/runtime/product.cpp
M flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/sum.cpp
M flang/runtime/transformational.cpp
M flang/unittests/Runtime/Numeric.cpp
M flang/unittests/Runtime/Reduction.cpp
M flang/unittests/Runtime/Transformational.cpp
Log Message:
-----------
[flang][runtime] Disable LDBL_MANT_DIG == 113 for the offload builds. (#109339)
When compiling on aarch64 some `LDBL_MANT_DIG == 113` entries
end up trying to use `complex<long double>` for which there are
no certain specializations in `libcudacxx`. This change-set
includes a clean-up for `LDBL_MANT_DIG == 113` usage, which is replaced
with `HAS_LDBL128` that is set in `float128.h`.
Commit: 8c02f7053a1cf0bac14e38f14d40f08db71cae10
https://github.com/llvm/llvm-project/commit/8c02f7053a1cf0bac14e38f14d40f08db71cae10
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add VectorToXeGPU deps (#109348)
For 02d34d800b94937c42fb7cff2db2b2836d918ac6
Commit: b847076f55ba34374163fc8eca188fdf164a2a34
https://github.com/llvm/llvm-project/commit/b847076f55ba34374163fc8eca188fdf164a2a34
Author: anbbna <117081688+anbbna at users.noreply.github.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
A llvm/test/CodeGen/Mips/xor-and.ll
Log Message:
-----------
[Mips] Add test file for 'xor' and 'and' instructions (#106679)
Part of #99783
This test is meant to reflect the oncoming change as this test shows the
unoptimized result with unnecessary SLLs.
Commit: 72cacf1d992ea843522246976c91ca20b6e832f7
https://github.com/llvm/llvm-project/commit/72cacf1d992ea843522246976c91ca20b6e832f7
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/test/CodeGen/Mips/2008-07-06-fadd64.ll
Log Message:
-----------
[MIPS] Fix -msingle-float doesn't work with double on O32 (#107543)
Skip the following function 'CustomLowerNode' when the operand had done
`SoftenFloatResult`.
Fix #93052
Commit: d5b7050d0a00e93b633ea1c5a03d2c1b4dbfaa77
https://github.com/llvm/llvm-project/commit/d5b7050d0a00e93b633ea1c5a03d2c1b4dbfaa77
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M flang/include/flang/Tools/TargetSetup.h
Log Message:
-----------
[flang] Fixed aarch64 buildbots after #109339.
Commit: 76883932014bcce2efb57be062f901de26317707
https://github.com/llvm/llvm-project/commit/76883932014bcce2efb57be062f901de26317707
Author: vporpo <vporpodas at google.com>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrInterval.h
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrIntervalTest.cpp
Log Message:
-----------
[SandboxVec] Simple Instruction Interval class (#108882)
An InstrInterval is a range of instructions in a block. The class will
eventually have an API for set operations, like union, intersection etc.
Commit: 594efd262519fb7508cfb44c7c65b608af1394cd
https://github.com/llvm/llvm-project/commit/594efd262519fb7508cfb44c7c65b608af1394cd
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn
Log Message:
-----------
[gn build] Port 76883932014b
Commit: b3533a156da92262eb19429d8c12f53e87f5ccec
https://github.com/llvm/llvm-project/commit/b3533a156da92262eb19429d8c12f53e87f5ccec
Author: Tarun Prabhu <tarun at lanl.gov>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
A flang/test/Driver/frecord-command-line.f90
A flang/test/Lower/record-command-line.f90
M flang/tools/bbc/CMakeLists.txt
M flang/tools/bbc/bbc.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/Import/commandline.ll
A mlir/test/Target/LLVMIR/commandline.mlir
Log Message:
-----------
[clang][flang][mlir] Support -frecord-command-line option (#102975)
Add support for the -frecord-command-line option that will produce the
llvm.commandline metadata which will eventually be saved in the object
file. This behavior is also supported in clang. Some refactoring of the
code in flang to handle these command line options was carried out. The
corresponding -grecord-command-line option which saves the command line
in the debug information has not yet been enabled for flang.
Commit: 72a218056d68b7aa65ab3eda56837117bb59f11a
https://github.com/llvm/llvm-project/commit/72a218056d68b7aa65ab3eda56837117bb59f11a
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[llvm][Triple] Add `Environment` members and parsing for glibc/musl parity. (#107664)
This adds support for:
* `muslabin32` (MIPS N32)
* `muslabi64` (MIPS N64)
* `muslf32` (LoongArch ILP32F/LP64F)
* `muslsf` (LoongArch ILP32S/LP64S)
As we start adding glibc/musl cross-compilation support for these
targets in Zig, it would make our life easier if LLVM recognized these
triples. I'm hoping this'll be uncontroversial since the same has
already been done for `musleabi`, `musleabihf`, and `muslx32`.
I intentionally left out a musl equivalent of `gnuf64` (LoongArch
ILP32D/LP64D); my understanding is that Loongson ultimately settled on
simply `gnu` for this much more common case, so there doesn't *seem* to
be a particularly compelling reason to add a `muslf64` that's basically
deprecated on arrival.
Note: I don't have commit access.
Commit: e90a73255b4cfb3f8abc369251c8035b837e0042
https://github.com/llvm/llvm-project/commit/e90a73255b4cfb3f8abc369251c8035b837e0042
Author: csstormq <swust_xiaoqiangxu at 163.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M mlir/docs/Dialects/Affine.md
Log Message:
-----------
[mlir][docs] Fix incorrect operation name(NFC) (#109261)
Commit: 6b8edc9f7933d59ababd34ff040fab3d16cb3e3b
https://github.com/llvm/llvm-project/commit/6b8edc9f7933d59ababd34ff040fab3d16cb3e3b
Author: csstormq <swust_xiaoqiangxu at 163.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M mlir/docs/Tutorials/UnderstandingTheIRStructure.md
M mlir/test/IR/print-ir-nesting.mlir
Log Message:
-----------
[mlir] Fix disagreement between document and test(NFC) (#109257)
Commit: f41f6ea1f33c4f5e7c94f3d155e44292d1809c50
https://github.com/llvm/llvm-project/commit/f41f6ea1f33c4f5e7c94f3d155e44292d1809c50
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-09-20 (Fri, 20 Sep 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/fmodules-embed-all-files.cpp
Log Message:
-----------
[C++20] [Modules] Offer -fmodules-embed-all-files option (#107194)
See
https://discourse.llvm.org/t/rfc-modules-should-we-embed-sources-to-the-bmi/81029
for details.
Close https://github.com/llvm/llvm-project/issues/72383
Commit: 32ce2432bbf795c7484c0ab8070fd81e4acab4a7
https://github.com/llvm/llvm-project/commit/32ce2432bbf795c7484c0ab8070fd81e4acab4a7
Author: Fangrui Song <i at maskray.me>
Date: 2024-09-19 (Thu, 19 Sep 2024)
Changed paths:
M clang-tools-extra/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
M clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/FS.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/SemanticSelection.cpp
A clang-tools-extra/clangd/support/Bracket.cpp
A clang-tools-extra/clangd/support/Bracket.h
M clang-tools-extra/clangd/support/CMakeLists.txt
A clang-tools-extra/clangd/support/DirectiveTree.cpp
A clang-tools-extra/clangd/support/DirectiveTree.h
A clang-tools-extra/clangd/support/Lex.cpp
M clang-tools-extra/clangd/support/ThreadsafeFS.cpp
A clang-tools-extra/clangd/support/Token.cpp
A clang-tools-extra/clangd/support/Token.h
M clang-tools-extra/clangd/unittests/ClangdTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
A clang-tools-extra/include-cleaner/test/tool-ignores-warnings.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
R clang-tools-extra/pseudo/CMakeLists.txt
R clang-tools-extra/pseudo/DesignNotes.md
R clang-tools-extra/pseudo/Disambiguation.md
R clang-tools-extra/pseudo/README.md
R clang-tools-extra/pseudo/benchmarks/Benchmark.cpp
R clang-tools-extra/pseudo/benchmarks/CMakeLists.txt
R clang-tools-extra/pseudo/fuzzer/CMakeLists.txt
R clang-tools-extra/pseudo/fuzzer/Fuzzer.cpp
R clang-tools-extra/pseudo/fuzzer/Main.cpp
R clang-tools-extra/pseudo/gen/CMakeLists.txt
R clang-tools-extra/pseudo/gen/Main.cpp
R clang-tools-extra/pseudo/include/CMakeLists.txt
R clang-tools-extra/pseudo/include/clang-pseudo/Bracket.h
R clang-tools-extra/pseudo/include/clang-pseudo/DirectiveTree.h
R clang-tools-extra/pseudo/include/clang-pseudo/Disambiguate.h
R clang-tools-extra/pseudo/include/clang-pseudo/Forest.h
R clang-tools-extra/pseudo/include/clang-pseudo/GLR.h
R clang-tools-extra/pseudo/include/clang-pseudo/Language.h
R clang-tools-extra/pseudo/include/clang-pseudo/Token.h
R clang-tools-extra/pseudo/include/clang-pseudo/cli/CLI.h
R clang-tools-extra/pseudo/include/clang-pseudo/cxx/CXX.h
R clang-tools-extra/pseudo/include/clang-pseudo/grammar/Grammar.h
R clang-tools-extra/pseudo/include/clang-pseudo/grammar/LRGraph.h
R clang-tools-extra/pseudo/include/clang-pseudo/grammar/LRTable.h
R clang-tools-extra/pseudo/lib/Bracket.cpp
R clang-tools-extra/pseudo/lib/CMakeLists.txt
R clang-tools-extra/pseudo/lib/DirectiveTree.cpp
R clang-tools-extra/pseudo/lib/Disambiguate.cpp
R clang-tools-extra/pseudo/lib/Forest.cpp
R clang-tools-extra/pseudo/lib/GLR.cpp
R clang-tools-extra/pseudo/lib/Lex.cpp
R clang-tools-extra/pseudo/lib/Token.cpp
R clang-tools-extra/pseudo/lib/cli/CLI.cpp
R clang-tools-extra/pseudo/lib/cli/CMakeLists.txt
R clang-tools-extra/pseudo/lib/cxx/CMakeLists.txt
R clang-tools-extra/pseudo/lib/cxx/CXX.cpp
R clang-tools-extra/pseudo/lib/cxx/cxx.bnf
R clang-tools-extra/pseudo/lib/grammar/CMakeLists.txt
R clang-tools-extra/pseudo/lib/grammar/Grammar.cpp
R clang-tools-extra/pseudo/lib/grammar/GrammarBNF.cpp
R clang-tools-extra/pseudo/lib/grammar/LRGraph.cpp
R clang-tools-extra/pseudo/lib/grammar/LRTable.cpp
R clang-tools-extra/pseudo/lib/grammar/LRTableBuild.cpp
R clang-tools-extra/pseudo/test/.clang-format
R clang-tools-extra/pseudo/test/CMakeLists.txt
R clang-tools-extra/pseudo/test/Unit/lit.cfg.py
R clang-tools-extra/pseudo/test/Unit/lit.site.cfg.py.in
R clang-tools-extra/pseudo/test/check-cxx-bnf.test
R clang-tools-extra/pseudo/test/crash/backslashes.c
R clang-tools-extra/pseudo/test/cxx/capture-list.cpp
R clang-tools-extra/pseudo/test/cxx/contextual-keywords.cpp
R clang-tools-extra/pseudo/test/cxx/dangling-else.cpp
R clang-tools-extra/pseudo/test/cxx/decl-specfier-seq.cpp
R clang-tools-extra/pseudo/test/cxx/declarator-function.cpp
R clang-tools-extra/pseudo/test/cxx/declarator-var.cpp
R clang-tools-extra/pseudo/test/cxx/declator-member-function.cpp
R clang-tools-extra/pseudo/test/cxx/empty-member-declaration.cpp
R clang-tools-extra/pseudo/test/cxx/empty-member-spec.cpp
R clang-tools-extra/pseudo/test/cxx/keyword.cpp
R clang-tools-extra/pseudo/test/cxx/literals.cpp
R clang-tools-extra/pseudo/test/cxx/mixed-designator.cpp
R clang-tools-extra/pseudo/test/cxx/nested-name-specifier.cpp
R clang-tools-extra/pseudo/test/cxx/parameter-decl-clause.cpp
R clang-tools-extra/pseudo/test/cxx/predefined-identifier.cpp
R clang-tools-extra/pseudo/test/cxx/recovery-func-parameters.cpp
R clang-tools-extra/pseudo/test/cxx/recovery-init-list.cpp
R clang-tools-extra/pseudo/test/cxx/structured-binding.cpp
R clang-tools-extra/pseudo/test/cxx/template-empty-type-parameter.cpp
R clang-tools-extra/pseudo/test/cxx/unsized-array.cpp
R clang-tools-extra/pseudo/test/fuzzer.cpp
R clang-tools-extra/pseudo/test/glr-variant-start.cpp
R clang-tools-extra/pseudo/test/glr.cpp
R clang-tools-extra/pseudo/test/html-forest.c
R clang-tools-extra/pseudo/test/lex.c
R clang-tools-extra/pseudo/test/lit.cfg.py
R clang-tools-extra/pseudo/test/lit.local.cfg
R clang-tools-extra/pseudo/test/lit.site.cfg.py.in
R clang-tools-extra/pseudo/test/lr-build-basic.test
R clang-tools-extra/pseudo/test/lr-build-conflicts.test
R clang-tools-extra/pseudo/test/strip-directives.c
R clang-tools-extra/pseudo/tool/CMakeLists.txt
R clang-tools-extra/pseudo/tool/ClangPseudo.cpp
R clang-tools-extra/pseudo/tool/HTMLForest.cpp
R clang-tools-extra/pseudo/tool/HTMLForest.css
R clang-tools-extra/pseudo/tool/HTMLForest.html
R clang-tools-extra/pseudo/tool/HTMLForest.js
R clang-tools-extra/pseudo/unittests/BracketTest.cpp
R clang-tools-extra/pseudo/unittests/CMakeLists.txt
R clang-tools-extra/pseudo/unittests/CXXTest.cpp
R clang-tools-extra/pseudo/unittests/DirectiveTreeTest.cpp
R clang-tools-extra/pseudo/unittests/DisambiguateTest.cpp
R clang-tools-extra/pseudo/unittests/ForestTest.cpp
R clang-tools-extra/pseudo/unittests/GLRTest.cpp
R clang-tools-extra/pseudo/unittests/GrammarTest.cpp
R clang-tools-extra/pseudo/unittests/LRTableTest.cpp
R clang-tools-extra/pseudo/unittests/TokenTest.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-strings.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-contains.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/nolint.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/nolintbeginend.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/nolintnextline.cpp
M clang/docs/ClangFormattedStatus.rst
M clang/docs/DebuggingCoroutines.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang/AST/StmtDataCollectors.td
M clang/include/clang/Basic/BuiltinsPPC.def
M clang/include/clang/Basic/BuiltinsSystemZ.def
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/DataCollection.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
M clang/lib/Headers/altivec.h
M clang/lib/Headers/avx512bitalgintrin.h
M clang/lib/Headers/avx512vlbitalgintrin.h
M clang/lib/Headers/avx512vpopcntdqintrin.h
M clang/lib/Headers/avx512vpopcntdqvlintrin.h
M clang/lib/Headers/vecintrin.h
M clang/lib/Headers/wasm_simd128.h
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
M clang/lib/Tooling/CommonOptionsParser.cpp
M clang/lib/Tooling/Core/Replacement.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/Refactoring/AtomicChange.cpp
M clang/lib/Tooling/Transformer/Stencil.cpp
M clang/test/AST/ByteCode/codegen.c
M clang/test/AST/ByteCode/weak.cpp
M clang/test/AST/HLSL/RWBuffer-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffer-AST.hlsl
A clang/test/Analysis/cstring-uninitread-notes.c
A clang/test/Analysis/z3-unarysymexpr.c
A clang/test/CodeGen/SystemZ/builtins-systemz-i128.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/SystemZ/systemz-abi.cpp
M clang/test/CodeGen/X86/avx512bitalg-builtins.c
M clang/test/CodeGen/X86/avx512vlbitalg-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdq-builtins.c
M clang/test/CodeGen/X86/avx512vpopcntdqvl-builtins.c
M clang/test/CodeGen/builtins-wasm.c
A clang/test/Driver/fmodules-embed-all-files.cpp
R clang/test/OpenMP/error_unsupport_feature.c
A clang/test/OpenMP/scope_codegen.cpp
M clang/test/ParserHLSL/hlsl_contained_type_attr.hlsl
M clang/test/ParserHLSL/hlsl_is_rov_attr.hlsl
M clang/test/ParserHLSL/hlsl_raw_buffer_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/SemaCXX/weak-init.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/include-mapping/gen_std.py
M clang/unittests/Basic/SarifTest.cpp
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Driver/DistroTest.cpp
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Frontend/PCHPreambleTest.cpp
M clang/unittests/Frontend/TextDiagnosticTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/utils/check_cfc/obj_diff.py
M clang/utils/module-deps-to-rsp.py
M compiler-rt/lib/asan/asan_malloc_win_thunk.cpp
M compiler-rt/lib/asan/asan_win_common_runtime_thunk.cpp
M compiler-rt/lib/asan/asan_win_common_runtime_thunk.h
M compiler-rt/lib/asan/asan_win_static_runtime_thunk.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/fp_trunc.h
A compiler-rt/lib/builtins/truncxfbf2.c
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win_interception.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_win_interception.h
M compiler-rt/lib/sanitizer_common/sanitizer_win_thunk_interception.cpp
M compiler-rt/lib/scudo/standalone/allocator_common.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/test/asan/TestCases/Linux/odr_c_test.c
M compiler-rt/test/asan/TestCases/Posix/strndup_oob_test2.cpp
M flang/include/flang/Common/float128.h
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/include/flang/Runtime/cpp-type.h
M flang/include/flang/Runtime/matmul-instances.inc
M flang/include/flang/Runtime/numeric.h
M flang/include/flang/Runtime/reduce.h
M flang/include/flang/Runtime/reduction.h
M flang/include/flang/Runtime/transformational.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
M flang/runtime/CUDA/CMakeLists.txt
M flang/runtime/CUDA/allocatable.cpp
M flang/runtime/Float128Math/acos.cpp
M flang/runtime/Float128Math/acosh.cpp
M flang/runtime/Float128Math/asin.cpp
M flang/runtime/Float128Math/asinh.cpp
M flang/runtime/Float128Math/atan.cpp
M flang/runtime/Float128Math/atan2.cpp
M flang/runtime/Float128Math/atanh.cpp
M flang/runtime/Float128Math/ceil.cpp
M flang/runtime/Float128Math/complex-math.c
M flang/runtime/Float128Math/complex-math.h
M flang/runtime/Float128Math/cos.cpp
M flang/runtime/Float128Math/cosh.cpp
M flang/runtime/Float128Math/erf.cpp
M flang/runtime/Float128Math/erfc.cpp
M flang/runtime/Float128Math/exp.cpp
M flang/runtime/Float128Math/exponent.cpp
M flang/runtime/Float128Math/floor.cpp
M flang/runtime/Float128Math/fma.cpp
M flang/runtime/Float128Math/fraction.cpp
M flang/runtime/Float128Math/hypot.cpp
M flang/runtime/Float128Math/j0.cpp
M flang/runtime/Float128Math/j1.cpp
M flang/runtime/Float128Math/jn.cpp
M flang/runtime/Float128Math/lgamma.cpp
M flang/runtime/Float128Math/llround.cpp
M flang/runtime/Float128Math/log.cpp
M flang/runtime/Float128Math/log10.cpp
M flang/runtime/Float128Math/lround.cpp
M flang/runtime/Float128Math/math-entries.h
M flang/runtime/Float128Math/mod-real.cpp
M flang/runtime/Float128Math/modulo-real.cpp
M flang/runtime/Float128Math/nearest.cpp
M flang/runtime/Float128Math/norm2.cpp
M flang/runtime/Float128Math/pow.cpp
M flang/runtime/Float128Math/random.cpp
M flang/runtime/Float128Math/round.cpp
M flang/runtime/Float128Math/rrspacing.cpp
M flang/runtime/Float128Math/scale.cpp
M flang/runtime/Float128Math/set-exponent.cpp
M flang/runtime/Float128Math/sin.cpp
M flang/runtime/Float128Math/sinh.cpp
M flang/runtime/Float128Math/spacing.cpp
M flang/runtime/Float128Math/sqrt.cpp
M flang/runtime/Float128Math/tan.cpp
M flang/runtime/Float128Math/tanh.cpp
M flang/runtime/Float128Math/tgamma.cpp
M flang/runtime/Float128Math/trunc.cpp
M flang/runtime/Float128Math/y0.cpp
M flang/runtime/Float128Math/y1.cpp
M flang/runtime/Float128Math/yn.cpp
M flang/runtime/complex-powi.cpp
M flang/runtime/complex-reduction.c
M flang/runtime/complex-reduction.h
M flang/runtime/dot-product.cpp
M flang/runtime/extrema.cpp
M flang/runtime/numeric-templates.h
M flang/runtime/numeric.cpp
M flang/runtime/product.cpp
M flang/runtime/reduce.cpp
M flang/runtime/reduction-templates.h
M flang/runtime/sum.cpp
M flang/runtime/transformational.cpp
A flang/test/Driver/frecord-command-line.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
A flang/test/Lower/HLFIR/elemental-user-procedure-stacksave.f90
A flang/test/Lower/record-command-line.f90
M flang/tools/bbc/CMakeLists.txt
M flang/tools/bbc/bbc.cpp
M flang/unittests/Runtime/Numeric.cpp
M flang/unittests/Runtime/Reduction.cpp
M flang/unittests/Runtime/Transformational.cpp
M libc/config/baremetal/config.json
M libc/config/config.json
M libc/config/gpu/config.json
M libc/config/linux/api.td
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/dev/printf_behavior.rst
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/socklen_t.h
A libc/hdr/types/ssize_t.h
A libc/hdr/types/struct_msghdr.h
A libc/hdr/types/struct_sockaddr.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_iovec.h
A libc/include/llvm-libc-types/struct_msghdr.h
M libc/include/llvm-libc-types/struct_sockaddr.h
M libc/newhdrgen/yaml/sys/socket.yaml
M libc/spec/posix.td
M libc/src/__support/StringUtil/error_to_string.cpp
M libc/src/__support/StringUtil/error_to_string.h
M libc/src/__support/StringUtil/tables/linux_extension_errors.h
M libc/src/__support/StringUtil/tables/linux_platform_errors.h
M libc/src/__support/StringUtil/tables/minimal_platform_errors.h
M libc/src/__support/StringUtil/tables/posix_errors.h
M libc/src/__support/StringUtil/tables/stdc_errors.h
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/converter_atlas.h
M libc/src/stdio/printf_core/parser.h
A libc/src/stdio/printf_core/strerror_converter.h
M libc/src/sys/socket/CMakeLists.txt
M libc/src/sys/socket/bind.h
M libc/src/sys/socket/linux/CMakeLists.txt
M libc/src/sys/socket/linux/bind.cpp
A libc/src/sys/socket/linux/recv.cpp
A libc/src/sys/socket/linux/recvfrom.cpp
A libc/src/sys/socket/linux/recvmsg.cpp
A libc/src/sys/socket/linux/send.cpp
A libc/src/sys/socket/linux/sendmsg.cpp
A libc/src/sys/socket/linux/sendto.cpp
A libc/src/sys/socket/linux/socketpair.cpp
A libc/src/sys/socket/recv.h
A libc/src/sys/socket/recvfrom.h
A libc/src/sys/socket/recvmsg.h
A libc/src/sys/socket/send.h
A libc/src/sys/socket/sendmsg.h
A libc/src/sys/socket/sendto.h
A libc/src/sys/socket/socketpair.h
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/sys/socket/linux/CMakeLists.txt
A libc/test/src/sys/socket/linux/send_recv_test.cpp
A libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
A libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
A libc/test/src/sys/socket/linux/socketpair_test.cpp
M libc/utils/gpu/server/CMakeLists.txt
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/atomic
M libcxx/include/stdatomic.h
A libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
R libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
R libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.compile.pass.cpp
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
M lld/COFF/Chunks.h
M lld/COFF/InputFiles.cpp
M lld/COFF/MapFile.cpp
M lld/ELF/Relocations.cpp
M lld/test/COFF/arm64ec-import.test
A lld/test/COFF/export-imp.test
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
M lldb/include/lldb/Utility/Status.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Target/VerboseTrapFrameRecognizer.cpp
M lldb/source/Utility/Status.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-callback-user-leaf.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-callback.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-max-depth.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl-nested.cpp
A lldb/test/Shell/Recognizer/Inputs/verbose_trap-in-stl.cpp
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-callback-user-leaf.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-callback.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-max-depth.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl-nested.test
A lldb/test/Shell/Recognizer/verbose_trap-in-stl.test
M lldb/unittests/Host/FileSystemTest.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationServerTest.cpp
M lldb/unittests/Utility/MockSymlinkFileSystem.h
M lldb/unittests/Utility/StatusTest.cpp
M llvm/docs/LangRef.rst
M llvm/include/llvm/ADT/TinyPtrVector.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/LiveRangeEdit.h
M llvm/include/llvm/CodeGen/MachineTraceMetrics.h
M llvm/include/llvm/CodeGen/TargetCallingConv.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfCorrelator.h
M llvm/include/llvm/SandboxIR/SandboxIR.h
M llvm/include/llvm/SandboxIR/SandboxIRValues.def
M llvm/include/llvm/Support/AutoConvert.h
M llvm/include/llvm/Support/Parallel.h
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrInterval.h
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/ImplicitNullChecks.cpp
M llvm/lib/CodeGen/InitUndef.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/SplitKit.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp
M llvm/lib/Frontend/OpenMP/OMP.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/MDBuilder.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Object/BuildID.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Option/ArgList.cpp
M llvm/lib/SandboxIR/SandboxIR.cpp
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/FileCollector.cpp
M llvm/lib/Support/Parallel.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Support/YAMLParser.cpp
M llvm/lib/TableGen/Parser.cpp
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
A llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td
M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
A llvm/lib/Target/RISCV/RISCVZacasABIFix.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
M llvm/lib/Transforms/Coroutines/CoroShape.h
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
M llvm/test/Bitcode/attributes.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
M llvm/test/CodeGen/AArch64/addp-shuffle.ll
M llvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll
M llvm/test/CodeGen/AArch64/build-vector-two-dup.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-uniform-cases.ll
M llvm/test/CodeGen/AArch64/cpus.ll
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/load-insert-undef.ll
M llvm/test/CodeGen/AArch64/load-insert-zero.ll
M llvm/test/CodeGen/AArch64/merge-scoped-aa-store.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/ptrauth-call.ll
M llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-i16-to-i32.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/bug-sdag-emitcopyfromreg.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-select.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i8.ll
M llvm/test/CodeGen/AMDGPU/load-local-i8.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/phi-vgpr-input-moveimm.mir
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/select-i1.ll
M llvm/test/CodeGen/AMDGPU/select-vectors.ll
M llvm/test/CodeGen/AMDGPU/setcc-opt.ll
M llvm/test/CodeGen/AMDGPU/sign_extend.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
M llvm/test/CodeGen/AMDGPU/trunc-store.ll
M llvm/test/CodeGen/AMDGPU/uaddo.ll
M llvm/test/CodeGen/AMDGPU/usubo.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
M llvm/test/CodeGen/AMDGPU/wqm.mir
M llvm/test/CodeGen/Mips/2008-07-06-fadd64.ll
A llvm/test/CodeGen/Mips/xor-and.ll
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/double-zfa.ll
M llvm/test/CodeGen/RISCV/float-zfa.ll
M llvm/test/CodeGen/RISCV/half-zfa.ll
A llvm/test/CodeGen/SystemZ/args-14.ll
A llvm/test/CodeGen/SystemZ/args-15.ll
A llvm/test/CodeGen/SystemZ/args-16.ll
A llvm/test/CodeGen/SystemZ/args-17.ll
A llvm/test/CodeGen/SystemZ/args-18.ll
A llvm/test/CodeGen/SystemZ/args-19.ll
A llvm/test/CodeGen/SystemZ/args-20.ll
A llvm/test/CodeGen/SystemZ/args-21.ll
M llvm/test/CodeGen/Thumb2/mve-intrinsics/vcaddq.ll
A llvm/test/CodeGen/Thumb2/mve-scmp.ll
A llvm/test/CodeGen/Thumb2/mve-ucmp.ll
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-512.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-512.ll
M llvm/test/Instrumentation/AddressSanitizer/instrument_global.ll
A llvm/test/MachineVerifier/AMDGPU/fix-illegal-vector-copies.mir
M llvm/test/TableGen/directive1.td
M llvm/test/TableGen/directive2.td
A llvm/test/TableGen/intrinsic-duplicate-name.td
A llvm/test/Transforms/EarlyCSE/materialize-align-assumptions.ll
M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-values-phi.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
M llvm/test/Transforms/LoopStrengthReduce/ARM/illegal-addr-modes.ll
M llvm/test/Transforms/LoopUnroll/X86/runtime-unroll-addrec-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
M llvm/test/Transforms/LoopVectorize/control-flow.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/remarks-multi-exit-loops.ll
A llvm/test/Transforms/LoopVectorize/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/vector-freeze.ll
M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll
M llvm/test/Transforms/Util/assume-builder.ll
A llvm/test/Verifier/rtsan-attrs.ll
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-basic-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-mte-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-sve-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-writeback.s
M llvm/tools/llc/llc.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/Support/ParallelTest.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
M llvm/unittests/Target/AArch64/AArch64SVESchedPseudoTest.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrIntervalTest.cpp
M llvm/unittests/tools/llvm-mca/MCATestBase.h
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
M llvm/utils/TableGen/Common/DAGISelMatcher.h
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/DirectiveEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
M llvm/utils/TableGen/TableGen.cpp
M llvm/utils/gn/secondary/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clangd/support/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/gen/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/include/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/cli/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/cxx/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/lib/grammar/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/test/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/test/clang_pseudo_lit_site_cfg_files.gni
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/tool/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/pseudo/unittests/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/llvm-lit/BUILD.gn
M llvm/utils/indirect_calls.py
M mlir/docs/Dialects/Affine.md
M mlir/docs/Tutorials/UnderstandingTheIRStructure.md
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
A mlir/include/mlir/Conversion/VectorToXeGPU/VectorToXeGPU.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/VectorToXeGPU/CMakeLists.txt
A mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
A mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir
M mlir/test/Dialect/Linalg/vectorization-scalable.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
M mlir/test/IR/print-ir-nesting.mlir
A mlir/test/Target/LLVMIR/Import/commandline.ll
A mlir/test/Target/LLVMIR/commandline.mlir
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
A utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
.
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/130f1cfb0d10...32ce2432bbf7
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