[all-commits] [llvm/llvm-project] eaa589: [libclc] Optimize CLC vector is(un)ordered builtin...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Wed Jan 29 06:02:18 PST 2025
Branch: refs/heads/users/alexey-bataev/spr/slpimproved-reduction-costcodegen
Home: https://github.com/llvm/llvm-project
Commit: eaa5897534cbd263d0cdbf780f72133c2fe8d8d4
https://github.com/llvm/llvm-project/commit/eaa5897534cbd263d0cdbf780f72133c2fe8d8d4
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M libclc/clc/include/clc/relational/relational.h
M libclc/clc/lib/generic/relational/clc_isordered.cl
M libclc/clc/lib/generic/relational/clc_isunordered.cl
Log Message:
-----------
[libclc] Optimize CLC vector is(un)ordered builtins (#124546)
These are similar to 347fb208, but these builtins are expressed in terms
of other builtins. The LLVM IR generated features the same fcmp ord/uno
comparisons as before, but consistently in vector form.
Commit: 561132e71b29d9b747dfda1509f715847852f77b
https://github.com/llvm/llvm-project/commit/561132e71b29d9b747dfda1509f715847852f77b
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Decl.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] Fix immediate escalation of template function specializations. (#124404)
We record whether an expression is immediate escalating in the
FunctionScope.
However, that only happen when parsing or transforming an expression.
This might not happen when transforming a non dependent expression.
This patch fixes that by considering a function immediate when
instantiated from an immediate function.
Fixes #123405
Commit: 081723b9db84e78d7dd240b46af2aeb3b51b00be
https://github.com/llvm/llvm-project/commit/081723b9db84e78d7dd240b46af2aeb3b51b00be
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
Log Message:
-----------
[lldb][TypeSystem] Ensure that ParmVarDecls have the correct DeclContext (#124279)
While sifting through this part of the code I noticed that when we parse
C++ methods, `DWARFASTParserClang` creates two sets of `ParmVarDecls`,
one in `ParseChildParameters` and once in `AddMethodToCXXRecordType`.
The former is unused when we're dealing with methods. Moreover, the
`ParmVarDecls` we created in `ParseChildParameters` were created with an
incorrect `clang::DeclContext` (namely the DeclContext of the function,
and not the function itself). In Clang, there's
`ParmVarDecl::setOwningFunction` to adjust the DeclContext of a
parameter if the parameter was created before the FunctionDecl. But we
never used it.
This patch removes the `ParmVarDecl` creation from
`ParseChildParameters` and instead creates a
`TypeSystemClang::CreateParameterDeclarations` that ensures we set the
DeclContext correctly.
Note there is one differences in how `ParmVarDecl`s would be created
now: we won't set a ClangASTMetadata entry for any of the parameters. I
don't think this was ever actually useful for parameter DIEs anyway.
This wasn't causing any concrete issues (that I know of), but was quite
surprising. And this way of setting the parameters seems easier to
reason about (in my opinion).
Commit: 5c5bbffe75caaaefdc68305e85a625a057b09159
https://github.com/llvm/llvm-project/commit/5c5bbffe75caaaefdc68305e85a625a057b09159
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] Import source location of explicit object parameter instead of copying it (#124305)
We used to copy the `SourceLocation` instead of importing it, which
isn't correct since the `SourceManager`'s of the source and target
ASTContext might differ.
Also adds test that confirms that we import the explicit object
parameter location for `ParmVarDecl`s. This is how Clang determines
whether a parameter `isExplicitObjectParamater`. The LLDB expression
evaluator relies on this for calling "explicit object member functions".
Commit: 1f5335c1db5d54b4465677c224b48e0ffc78e6d9
https://github.com/llvm/llvm-project/commit/1f5335c1db5d54b4465677c224b48e0ffc78e6d9
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
M mlir/test/Dialect/Linalg/reshape_fusion.mlir
M mlir/test/Dialect/Tensor/bufferize.mlir
Log Message:
-----------
Make index computation used divsi/remsi (#124390)
The index computation is meant to be signed. Using unsigned could lead
to subtle errors. Fix places where some index math was using unsigned
operations.
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: 27c917307563eae93c7fef9c3944e56e1f5b5f6d
https://github.com/llvm/llvm-project/commit/27c917307563eae93c7fef9c3944e56e1f5b5f6d
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
Log Message:
-----------
[Clang] Remove unnecessary Decl transform & profiles for SizeOfPackExpr (#124533)
We used to always transform the pattern declaration for SizeOfPackExpr
to ensure the constraint expression's profile produced the desired
result. However, this approach failed to handle pack expansions when the
pack referred to function parameters. In such cases, the function
parameters were formerly expanded to 1 to avoid building Subst* nodes
(see e6974daa7). That workaround caused us to transform a pack without a
proper ArgumentPackSubstitutionIndex, leading to crashes when
transforming the pattern.
It turns out that profiling the pattern for partially substituted
SizeOfPackExprs is unnecessary because their transformed forms are also
profiled within the partial arguments.
Fixes https://github.com/llvm/llvm-project/issues/124161
Commit: 092372da15e5165be14cdbb7cac3cf4976fd82d0
https://github.com/llvm/llvm-project/commit/092372da15e5165be14cdbb7cac3cf4976fd82d0
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Dialect/Tensor/IR/TensorInferTypeOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Interfaces/InferTypeOpInterface.cpp
M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
Log Message:
-----------
[mlir][Tensor] Rework `ReifyRankedShapedTypeInterface` implementation for `tensor.expand_shape` op. (#113501)
The op carries the output-shape directly. This can be used directly.
Also adds a method to get the shape as a `SmallVector<OpFoldResult>`.
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: 62340ff8d844fc02cd1bd34ff6235f1f0e1e464f
https://github.com/llvm/llvm-project/commit/62340ff8d844fc02cd1bd34ff6235f1f0e1e464f
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_cmpx_xx_f16 (#123419)
A bulk commit of true16 support for v_cmpx_xx_f16 instructions
including:
v_cmpx_f_f16
v_cmpx_le_f16
v_cmpx_gt_f16
v_cmpx_lg_f16
v_cmpx_ge_f16
v_cmpx_o_f16
v_cmpx_u_f16
v_cmpx_nge_f16
v_cmpx_nlg_f16
v_cmpx_ngt_f16
v_cmpx_nle_f16
v_cmpx_neq_f16
v_cmpx_nlt_f16
v_cmpx_t_f16
v_cmpx_eq_f16 is not in this patch and will be added in the following
patch
Commit: 5aafc6d58f3405662902cee006be11e599801b88
https://github.com/llvm/llvm-project/commit/5aafc6d58f3405662902cee006be11e599801b88
Author: Christian Clauss <cclauss at me.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M polly/docs/Architecture.rst
M polly/docs/doxygen.cfg.in
M polly/include/polly/CodeGen/RuntimeDebugBuilder.h
M polly/include/polly/DependenceInfo.h
M polly/include/polly/ScopInfo.h
M polly/include/polly/Support/SCEVAffinator.h
M polly/include/polly/Support/ScopHelper.h
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/CodeGen/Utils.cpp
M polly/lib/Support/SCEVAffinator.cpp
M polly/lib/Support/ScopHelper.cpp
M polly/lib/Transform/DeLICM.cpp
M polly/lib/Transform/ManualOptimizer.cpp
M polly/lib/Transform/MatmulOptimizer.cpp
M polly/lib/Transform/ScheduleOptimizer.cpp
M polly/lib/Transform/ScheduleTreeTransform.cpp
M polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
M polly/test/CodeGen/multiple-codegens.ll
M polly/test/CodeGen/multiple-scops-in-a-row.ll
M polly/test/CodeGen/reduction_2.ll
M polly/test/CodeGen/scalar-store-from-same-bb.ll
M polly/test/CodeGen/test-invalid-operands-for-select.ll
M polly/test/DeLICM/load-in-cond-inf-loop.ll
M polly/test/DeLICM/pr41656.ll
M polly/test/DeLICM/pr48783.ll
M polly/test/DeLICM/reject_outofquota.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll
M polly/test/ScopDetect/scev_remove_max.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
M polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
M polly/test/ScopInfo/allow-all-parameters-dereferencable.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll
M polly/test/ScopInfo/multidim_gep_pointercast2.ll
M polly/test/ScopInfo/multidim_many_references.ll
M polly/test/ScopInfo/scalar_to_array.ll
M polly/test/ScopInfo/zero_ext_of_truncate.ll
M polly/test/create_ll.sh
M polly/utils/pyscop/isl.py
M polly/www/changelog.html
M polly/www/get_started.html
M polly/www/index.html
M polly/www/projects.html
M polly/www/publications.html
Log Message:
-----------
[Polly] Fix typos discovered by codespell (#124545)
Patch created using the following command line:
```bash
codespell polly --skip="*.pdf,polly/lib/External/*" --write-changes \
--ignore-words-list=couter,createor,distribues,doble,identty,indention,indx,olt,ore,padd,sais,te,theses
```
Commit: e14962a39cc6476bebba65e5639b74b0318c7fc3
https://github.com/llvm/llvm-project/commit/e14962a39cc6476bebba65e5639b74b0318c7fc3
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
Log Message:
-----------
[NFC][DebugInfo] Use iterators for instruction insertion in more places (#124291)
As part of the "RemoveDIs" work to eliminate debug intrinsics, we're
replacing methods that use Instruction*'s as positions with iterators.
This patch changes some more complex call-sites, those crossing file
boundaries and where I've had to perform some minor rewrites.
Commit: 212f344b84b400c0a9dedfa3c1ec6af9d9d30223
https://github.com/llvm/llvm-project/commit/212f344b84b400c0a9dedfa3c1ec6af9d9d30223
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/add2.ll
Log Message:
-----------
[InstCombine] Handle constant expression result in tryFactorization()
If IRBuilder folds the result to a constant expression, don't try
to set nowrap flags on it.
Fixes https://github.com/llvm/llvm-project/issues/124526.
Commit: 559287575b5b747cfc01652adb647ee5516aa626
https://github.com/llvm/llvm-project/commit/559287575b5b747cfc01652adb647ee5516aa626
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalMerge.cpp
Log Message:
-----------
[GlobalMerge][NFC] Reland "Skip sorting by profitability when it is not needed"
Relands #124146 but without changes to the sorting algorithm and the following
reverse.
Commit: 1eb4e9f88b827f9adbcdd5f385f75406aa604812
https://github.com/llvm/llvm-project/commit/1eb4e9f88b827f9adbcdd5f385f75406aa604812
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/runtime/exceptions.cpp
Log Message:
-----------
[flang] arm build fix (#124562)
Commit: 20f72d19fc58a394df765d407d9008a381e02b91
https://github.com/llvm/llvm-project/commit/20f72d19fc58a394df765d407d9008a381e02b91
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/runtime/exceptions.cpp
Log Message:
-----------
Revert "[flang] arm build fix" (#124569)
Reverts llvm/llvm-project#124562
Commit: 3322ba493ad7d203cdd6c545b7d9d9589c44357f
https://github.com/llvm/llvm-project/commit/3322ba493ad7d203cdd6c545b7d9d9589c44357f
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/include/flang/Tools/TargetSetup.h
M flang/runtime/exceptions.cpp
Log Message:
-----------
Revert "[flang] IEEE underflow control for Arm" (#124570)
Reverts llvm/llvm-project#124170
Commit: 1e2d5f7943d09d658a5fbacf661d2c6c361f857c
https://github.com/llvm/llvm-project/commit/1e2d5f7943d09d658a5fbacf661d2c6c361f857c
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
M flang/test/Transforms/generic-loop-rewriting.mlir
Log Message:
-----------
[NFC][mlir][OpenMP] Remove mentions of `target` from generic `loop` rewrite (#124528)
This removes mentions of `target` from the generic `loop` rewrite pass
since there is not need for it anyway. It is enough to detect `loop`'s
nesting within `teams` or `parallel` directives.
Commit: e492083f55d98144ba9a049450cb429d7fd52510
https://github.com/llvm/llvm-project/commit/e492083f55d98144ba9a049450cb429d7fd52510
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[OpenACC] Add AutomaticAllocationScope to recipe ops (#124337)
The recipe operations should have AutomaticAllocationScope so recipes can
be converted using operators that require parent ops to have
AutomaticAllocationScope
Commit: f95f10c7e65b9abd9b4e2ed71190d08565952ec0
https://github.com/llvm/llvm-project/commit/f95f10c7e65b9abd9b4e2ed71190d08565952ec0
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/zeroing-forms-urecpe-ursqrte-sqabs-sqneg.ll
Log Message:
-----------
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (9/11) (#116835)
SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.
This patch adds support for emitting the zeroing forms of certain
`URECPE`, `URSQRTE`, `SQABS` and `SQNEG` instructions.
Commit: cb6f021af2354761357684ffa26ebbe718615244
https://github.com/llvm/llvm-project/commit/cb6f021af2354761357684ffa26ebbe718615244
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
Log Message:
-----------
[RISCV][VLOPT] Remove unnecessary passthru restriction (#124549)
We currently check for passthrus in two places, on the instruction to
reduce in isCandidate, and on the users in checkUsers.
We cannot reduce the VL if an instruction has a user that's a passthru,
because the user will read elements past VL in the tail.
However it's fine to reduce an instruction if it itself contains a
non-undef passthru. Since the VL can only be reduced, not increased, the
previous tail will always remain the same.
Commit: 178f47143a3b3c547df6d1f07e9707792f5d9fd4
https://github.com/llvm/llvm-project/commit/178f47143a3b3c547df6d1f07e9707792f5d9fd4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/reduction.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
Log Message:
-----------
[CostModel][X86] getShuffleCost - shuffles with only one defined element are always cheap (#124412)
If we're just moving a single element around inside a 128-bit lane (probably as an alternative to extracting it), we can assume this is cheap as a single PSRLDQ/PSHUFD/SHUFPS.
I've got the horrid feeling we're moving towards matching all SSE shuffle patterns inside the cost model, but I'm going to do my best to avoid this for now :|
Commit: 16e9601e193e026d7f3f27e87f0adb81acf5969b
https://github.com/llvm/llvm-project/commit/16e9601e193e026d7f3f27e87f0adb81acf5969b
Author: ssijaric-nv <ssijaric at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/test/Fir/boxproc.fir
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
[Flang] Adjust the trampoline size for AArch64 and PPC (#118678)
Set the trampoline size to match that in compiler-rt/lib/builtins/trampoline_setup.c
and AArch64 and PPC lowering.
Commit: 7f24b9acd189e12e1289d47f7dc6fe0dfffbcbcc
https://github.com/llvm/llvm-project/commit/7f24b9acd189e12e1289d47f7dc6fe0dfffbcbcc
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Support multiple jobs in metrics container (#124457)
This patch makes it so that the metrics script can support multiple jobs
in a single workflow. This is needed so that we do not crash on an
assertion now that the windows job has been enabled within the premerge
workflow.
Commit: ad2b2aa50bc8516970387420097b1fe2b0613c2c
https://github.com/llvm/llvm-project/commit/ad2b2aa50bc8516970387420097b1fe2b0613c2c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/vector-trunc-inseltpoison.ll
M llvm/test/Transforms/PhaseOrdering/vector-trunc.ll
Log Message:
-----------
[PhaseOrdering] vector-trunc.ll - use -passes="default<O2>" to allow DOS to correctly evaluate the RUN command
Necessary for running update_test_checks.py on windows
Commit: 1bb784a7489e901fd46ce9b77cdc0ab8840a4f3d
https://github.com/llvm/llvm-project/commit/1bb784a7489e901fd46ce9b77cdc0ab8840a4f3d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-minimal.ll
Log Message:
-----------
[LowerMatrixIntrinsics] multiply-minimal.ll - use -passes="..." to allow DOS to correctly evaluate the RUN command
Necessary for running update_test_checks.py on windows
Commit: 749443a307e8e47a25a5552cbeb27f69845e6ce8
https://github.com/llvm/llvm-project/commit/749443a307e8e47a25a5552cbeb27f69845e6ce8
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/SandboxIR/Instruction.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[NFC][DebugInfo] Mop up final instruction-insertion call sites (#124289)
These are the final places in the monorepo that make use of instruction
insertion for methods like insertBefore and moveBefore. As part of the
RemoveDIs project, instead use iterators for insertion. (see:
https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939
).
Commit: 09a29fcc8dbbb2cc1c0fdf26ef4f8fafab4e03d9
https://github.com/llvm/llvm-project/commit/09a29fcc8dbbb2cc1c0fdf26ef4f8fafab4e03d9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
Log Message:
-----------
[VPlan] Don't collect live-ins in collectUsersInExitBlocks. (NFC) (#123819)
Live-ins don't need to be handled, other than adding to the exit phi
recipe. Do that early and assert that otherwise the exit value is
defined in the vector loop region.
This should enable simply skipping other exit values that do not need
further fixing, e.g. if handling the exit value from the early exit
directly in handleUncountableEarlyExit.
PR: https://github.com/llvm/llvm-project/pull/123819
Commit: 5f5cdf40382f06a8c417c42ec591f97aa76eeb67
https://github.com/llvm/llvm-project/commit/5f5cdf40382f06a8c417c42ec591f97aa76eeb67
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang] CreateParameterDeclarations: don't specify SmallVector size
This was causing Ubuntu buildbot failures:
```
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp: In member function ‘llvm::SmallVector<clang::ParmVarDecl*> lldb_private::TypeSystemClang::CreateParameterDeclarations(clang::FunctionDecl*, const clang::FunctionProtoType&, const llvm::SmallVector<llvm::StringRef>&)’:
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu-dwarf5/llvm-project/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:7728:10: error: could not convert ‘params’ from ‘SmallVector<[...],12>’ to ‘SmallVector<[...],6>’
7728 | return params;
| ^~~~~~
| |
| SmallVector<[...],12>
```
It's unclear why 12 was chosen here. Given we don't set the
size in other places where we parse parameters, this patch
just removes the constant.
Commit: 81d18ad86419fc612c7071e888d11aa923eaeb8a
https://github.com/llvm/llvm-project/commit/81d18ad86419fc612c7071e888d11aa923eaeb8a
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M llvm/include/llvm/IR/BasicBlock.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[NFC][DebugInfo] Make some block-start-position methods return iterators (#124287)
As part of the "RemoveDIs" work to eliminate debug intrinsics, we're
replacing methods that use Instruction*'s as positions with iterators. A
number of these (such as getFirstNonPHIOrDbg) are sufficiently
infrequently used that we can just replace the pointer-returning version
with an iterator-returning version, hopefully without much/any
disruption.
Thus this patch has getFirstNonPHIOrDbg and
getFirstNonPHIOrDbgOrLifetime return an iterator, and updates all
call-sites. There are no concerns about the iterators returned being
converted to Instruction*'s and losing the debug-info bit: because the
methods skip debug intrinsics, the iterator head bit is always false
anyway.
Commit: 6ff86f2c0a5b58b07921ee895f0d16d8cd3d4015
https://github.com/llvm/llvm-project/commit/6ff86f2c0a5b58b07921ee895f0d16d8cd3d4015
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/amdgpu-toolchain.c
Log Message:
-----------
[AMDGPU] Use the AMDGPUToolChain when targeting C/C++ directly (#99687)
Summary:
The `getToolChain` pass uses the triple to determine which toolchain to
create. Currently the `amdgcn-amd-amdhsa` triple maps to the
`ROCmToolChain` which uses things expected to be provided by `ROCm`.
This is neded for OpenCL, but directly targeting C++ does not want this
since it's primarily being used for creating GPU runtime code. As far as
I know I'm the only user of this, so this shouldn't change anything.
Unfortunately, there's no good logic for detercting this, so I simply
checked ahead of time if the input is either `foo.cl` or `-x cl foo.c`
to choose between the two. This allows us to use the AMDGPU target
normally, as otherwise it will error without passing `-nogpulib`.
Commit: 38b3f45a811282511c014cffd09a8ae2a96435ba
https://github.com/llvm/llvm-project/commit/38b3f45a811282511c014cffd09a8ae2a96435ba
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Offload] Fix offload-info interface
Summary:
The offload info tool doesn't initialize things properly, just check
this first instead.
Commit: c3a0fcc982061f9a69cfc1199dc91bd1fc3158c0
https://github.com/llvm/llvm-project/commit/c3a0fcc982061f9a69cfc1199dc91bd1fc3158c0
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M libclc/clc/lib/generic/relational/clc_all.cl
M libclc/clc/lib/generic/relational/clc_any.cl
Log Message:
-----------
[libclc] Optimize CLC vector any/all builtins (#124568)
By using the vector reduction buitins we can avoid scalarization.
Targets that don't support vector reductions will scalarize later on
anyway. The vector reduction builtins should be well-enough supported by
the middle-end to be a generic solution.
This produces conceptually equivalent code: all vector elements are
OR'd/AND'd together and the final scalar is bit-shifted and masked to
produce the final result.
The 'normalize' builtin uses 'all' so its code has similarly improved in
places.
Commit: 038b42ba5b47b1aa2d47ef5706a713f6bfbbc37c
https://github.com/llvm/llvm-project/commit/038b42ba5b47b1aa2d47ef5706a713f6bfbbc37c
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/docs/ModFiles.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/lib/Evaluate/type.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
A flang/test/Semantics/modfile71.F90
Log Message:
-----------
[flang] Safer hermetic module file reading (#121002)
When a hermetic module file is read, use a new scope to hold its
dependent modules so that they don't conflict with any modules in the
global scope.
Commit: 34b139594aa20fe712bc2ad68544632b3e4d8512
https://github.com/llvm/llvm-project/commit/34b139594aa20fe712bc2ad68544632b3e4d8512
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/Target/Hexagon/HexagonOptimizeSZextends.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[NFC][DebugInfo] Switch more call-sites to using iterator-insertion (#124283)
To finalise the "RemoveDIs" work removing debug intrinsics, we're
updating call sites that insert instructions to use iterators instead.
This set of changes are those where it's not immediately obvious that
just calling getIterator to fetch an iterator is correct, and one or two
places where more than one line needs to change.
Overall the same rule holds though: iterators generated for the start of
a block such as getFirstNonPHIIt need to be passed into insert/move
methods without being unwrapped/rewrapped, everything else can use
getIterator.
Commit: 512b44d5e1534ef60b5db7a99818e1021cf6064c
https://github.com/llvm/llvm-project/commit/512b44d5e1534ef60b5db7a99818e1021cf6064c
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/test/Semantics/atomic01.f90
M flang/test/Semantics/atomic02.f90
M flang/test/Semantics/atomic03.f90
M flang/test/Semantics/atomic04.f90
M flang/test/Semantics/atomic05.f90
M flang/test/Semantics/atomic06.f90
M flang/test/Semantics/atomic07.f90
M flang/test/Semantics/atomic08.f90
M flang/test/Semantics/atomic09.f90
M flang/test/Semantics/atomic10.f90
M flang/test/Semantics/atomic11.f90
Log Message:
-----------
[flang] Define ATOMIC_ADD as an intrinsic procedure (#122993)
This one appears to have been omitted when other ATOMIC_xxx intrinsic
procedures were defined. There's already tests for it, but they
apparently work even when ATOMIC_ADD must be interpreted as an external
procedure with an implicit interface. Extend the tests with INTRINSIC
NONE(EXTERNAL, TYPE) statements to ensure that they require the
intrinsic interpretation.
Commit: 2625510ef8094457413661ef0ce2651844f584d2
https://github.com/llvm/llvm-project/commit/2625510ef8094457413661ef0ce2651844f584d2
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-coarray.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/call04.f90
M flang/test/Semantics/critical02.f90
M flang/test/Semantics/doconcurrent01.f90
M flang/test/Semantics/event01b.f90
M flang/test/Semantics/event02b.f90
M flang/test/Semantics/sync-stat-list.f90
Log Message:
-----------
[flang] Refine EVENT_TYPE/LOCK_TYPE usage checks (#123244)
The event variable in an EVENT POST/WAIT statement can be a coarray
reference, and need not be an entire coarray.
Variables and potential subobject components with EVENT_TYPE/LOCK_TYPE
must be coarrays, unless they are potential subobjects nested within
coarrays or pointers.
Commit: 4e231014c1980d64812a0322223a4759798d1be3
https://github.com/llvm/llvm-project/commit/4e231014c1980d64812a0322223a4759798d1be3
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/zeroing-forms-rev.ll
Log Message:
-----------
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (10/11) (#116836)
SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.
This patch adds support for emitting the zeroing forms of certain
`RBIT`, `REVB`, `REVH`, `REVW`, and `REVD` instructions.
Commit: 73f9034036c942058827877a657d72071dd766e7
https://github.com/llvm/llvm-project/commit/73f9034036c942058827877a657d72071dd766e7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Evaluate/fold-implementation.h
A flang/test/Evaluate/fold-arr-char-component.f90
Log Message:
-----------
[flang] Fix failure to fold character array (#123418)
When a character component reference is applied to a constant array of
derived type, ensure that the length of the resulting character array is
properly defined.
Fixes https://github.com/llvm/llvm-project/issues/123362.
Commit: 73db9ee1e87b4cfccbc9d67d2b47d9476f92413f
https://github.com/llvm/llvm-project/commit/73db9ee1e87b4cfccbc9d67d2b47d9476f92413f
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/attr-cpuspecific.c
M clang/test/Sema/attr-target-mv.c
M clang/test/Sema/attr-target-version.c
Log Message:
-----------
[clang][Sema][FMV] Add a note to the 'cannot become multiversioned' diagnostic (#124364)
... pointing out the previous declaration.
Commit: 210e675cfd7be3d7e0d93c29368acd27b51f9a17
https://github.com/llvm/llvm-project/commit/210e675cfd7be3d7e0d93c29368acd27b51f9a17
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Semantics/resolve-labels.cpp
A flang/test/Semantics/label19.f90
Log Message:
-----------
[flang] Accept CHANGE TEAM/END TEAM as branch target (#123822)
It is valid to jump to a CHANGE TEAM statement from anywhere in the
containing executable part, and valid to jump to an END TEAM statement
from within the construct.
Commit: b16c989697208795f6428432f9ab05c5535b6085
https://github.com/llvm/llvm-project/commit/b16c989697208795f6428432f9ab05c5535b6085
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/call13.f90
Log Message:
-----------
[flang] Fix check for coarray actual passed to implicit interface (#123836)
The check for a coarray actual argument being passed to a procedure with
an implicit interface was incorrect, yielding false positives for
coindexed objects. Fix.
Commit: 3ac00784ac3cd8b435c0c6be36f81f786ca5e489
https://github.com/llvm/llvm-project/commit/3ac00784ac3cd8b435c0c6be36f81f786ca5e489
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/bug123538.f90
Log Message:
-----------
[flang] Fix crash on erroneous program (#123843)
Catch and report multiple initializations of the same procedure pointer
rather than assuming that control wouldn't reach a given point in name
resolution in that case.
Fixes https://github.com/llvm/llvm-project/issues/123538.
Commit: f5ddb1012de1c7c7c958aa288932caead9607b07
https://github.com/llvm/llvm-project/commit/f5ddb1012de1c7c7c958aa288932caead9607b07
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
A flang/test/Semantics/bug123534.f90
Log Message:
-----------
[flang] Fix crash in module file generation (#123859)
An assertion in module file generation didn't allow for a case that has
arisen in a test; remove it, extend commentary, and add a regression
test.
Fixes https://github.com/llvm/llvm-project/issues/123534.
Commit: ec6b2c63d93d8f8edeafcc7330d0b2349463d73d
https://github.com/llvm/llvm-project/commit/ec6b2c63d93d8f8edeafcc7330d0b2349463d73d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Evaluate/fold-implementation.h
A flang/test/Evaluate/bug123766.f90
Log Message:
-----------
[flang] Fold character array constructor with unknown length (#123983)
When a character array constructor does not have an explicit type with a
constant length, the compiler can still fold it if all of its elements
are constants. These array constructors will have been wrapped up in the
internal %SET_LENGTH operation, which will determine the final length of
the folded value, so use the maximum length of the constant elements as
the length of the folded array constructor.
Fixes https://github.com/llvm/llvm-project/issues/123766.
Commit: d1d952c206efc3a651270c69331b180330ac3efc
https://github.com/llvm/llvm-project/commit/d1d952c206efc3a651270c69331b180330ac3efc
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Common/default-kinds.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/test/Semantics/kinds04_q10.f90
Log Message:
-----------
[flang] Interpret 'Q' exponent letter as kind=16 even on x86 (#124158)
The compiler was interpreting 'Q' as an exponent letter in a literal
real constant as meaning real(kind=10) on x86-64, which is the legacy
80387 80-bit extended precision floating-point type. It turns out that
'Q' means kind=16 with all other compilers, even for x86-64 targets.
Change to conform.
Commit: c596aae47ad8cfaee0fe4af3c104cb89a1125ac5
https://github.com/llvm/llvm-project/commit/c596aae47ad8cfaee0fe4af3c104cb89a1125ac5
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/bind-c06.f90
Log Message:
-----------
[flang] Catch assumed-length interoperability error (#124179)
An assumed-length character dummy argument is interoperable only if it
is neither a pointer nor allocatable.
Commit: b0fab14e9ca24a9160581ea26c19661c6f3a053f
https://github.com/llvm/llvm-project/commit/b0fab14e9ca24a9160581ea26c19661c6f3a053f
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/call38.f90
Log Message:
-----------
[flang] Fix spurious error in character sequence association (#124204)
When an allocatable or pointer was being associated as a storage
sequence with a dummy argument, the checks were using the actual storage
size of the allocatable or pointer's descriptor, not the size of the
storage that it references.
Fixes https://github.com/llvm/llvm-project/issues/123807.
Commit: 873426bea3dd67d80dd10650e64e91c69796614f
https://github.com/llvm/llvm-project/commit/873426bea3dd67d80dd10650e64e91c69796614f
Author: John Harrison <harjohn at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/IOStream.h
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#122783)
This moves the ownership of the threads that forward stdout/stderr to
the DAP object itself to ensure that the threads are joined and that the
forwarding is cleaned up when the DAP connection is disconnected.
This is part of a larger refactor to allow lldb-dap to run in a
listening mode and accept multiple connections.
This reverts the previous revert and now that the underlying Windows
issue was fixed by 3ea2b546a8d17014d3ecf05356ecfaadf26ed846.
Commit: fee393e4ea2b53139ee7924e3aa818433d70cfc7
https://github.com/llvm/llvm-project/commit/fee393e4ea2b53139ee7924e3aa818433d70cfc7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/runtime/io-api.cpp
Log Message:
-----------
[flang][runtime] Don't crash on ASYNCHRONOUS='NO' in child I/O (#124208)
When ASYNCHRONOUS='NO' appears in a data transfer statement control item
list, don't crash if it isn't appropriate for the kind of I/O under way
(such as child I/O).
Fixes https://github.com/llvm/llvm-project/issues/124135.
Commit: e252c402104bd7c23341748663e1a182451c2ec8
https://github.com/llvm/llvm-project/commit/e252c402104bd7c23341748663e1a182451c2ec8
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/include/flang/Evaluate/shape.h
M flang/lib/Evaluate/shape.cpp
A flang/test/Evaluate/bug124191.f90
Log Message:
-----------
[flang] Fix spurious error due to bad expression shape calculation (#124323)
GetShape() needed to be called with a FoldingContext in order to
properly construct an extent expression for the shape of an array
constructor whose elements (nested in an implied DO loop) were not
scalars.
Fixes https://github.com/llvm/llvm-project/issues/124191.
Commit: 08c364280a790cb2a80fff86beb5ea69782ce667
https://github.com/llvm/llvm-project/commit/08c364280a790cb2a80fff86beb5ea69782ce667
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Evaluate/tools.cpp
M flang/test/Semantics/complex01.f90
Log Message:
-----------
[flang] Improve error message on bad complex literal. (#124331)
A complex literal constant can have one BOZ component, since the type
and value of the literal can be determined by converting the BOZ value
to the type of the other component. But a complex literal constant with
two BOZ components doesn't have a well-defined type. The error message
was confusing in the case; emit a better one.
Fixes https://github.com/llvm/llvm-project/issues/124201.
Commit: b80965efc1ea3f30cbdac090d869b1000fca5d2b
https://github.com/llvm/llvm-project/commit/b80965efc1ea3f30cbdac090d869b1000fca5d2b
Author: Josh Stone <jistone at redhat.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Support/MemAlloc.cpp
Log Message:
-----------
[Support] Report OOM from `allocate_buffer` (#85449)
Previously, it called `::operator new` which may throw `std::bad_alloc`,
regardless of whether LLVM itself was built with exception handling, and
this can cause safety issues if outside code has destructors that will
call back into LLVM. Now we use `::operator new(..., nothrow)` and call
`llvm::report_bad_alloc_error` when allocation fails, which will abort
when LLVM is built without exceptions.
Ref: https://github.com/llvm/llvm-project/issues/85281
Commit: e7de6036983641ccf0fb45afd3eb96ff962525aa
https://github.com/llvm/llvm-project/commit/e7de6036983641ccf0fb45afd3eb96ff962525aa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineCMov - pull out repeated getValueType calls. NFC.
Commit: 44c9e46fce12badae8cd3f5bd53fe1c2b1248940
https://github.com/llvm/llvm-project/commit/44c9e46fce12badae8cd3f5bd53fe1c2b1248940
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MachineFunction.cpp
Log Message:
-----------
[InstrRef] Fix mismatch between LiveDebugValues and salvageCopySSA (#124233)
The LiveDebugValues pass and the instruction selector (which calls
salvageCopySSA) need to be consistent on what they consider a copy
instruction. With https://github.com/llvm/llvm-project/pull/75184, the
definition of what a copy instruction is was narrowed for AArch64 to
exclude a w->x ORR and treat it as a zero-extend rather than a copy
However, to make sure LiveDebugValues still treats a w->x ORR as a copy,
the new function, isCopyLikeInstr was created. We need to make sure that
salvageCopySSA also calls that function.
This patch addresses this mismatch.
Commit: 1e89355dadce13a162882b58a0e7f181669ba65f
https://github.com/llvm/llvm-project/commit/1e89355dadce13a162882b58a0e7f181669ba65f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Treat `f<N | M>(a)` as template function call (#124438)
Fixes #123144.
Commit: 19f052443df05df373ef1c695055886db16de376
https://github.com/llvm/llvm-project/commit/19f052443df05df373ef1c695055886db16de376
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] fix test on 32 bits target after 561132e (#124593)
Commit: 99bd2e3f123baf9a14acc9b31ee0f557288118a6
https://github.com/llvm/llvm-project/commit/99bd2e3f123baf9a14acc9b31ee0f557288118a6
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_cvt.c
M clang/utils/TableGen/NeonEmitter.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/neon-fp8-cvt.ll
Log Message:
-----------
[AArch64] Add Neon FP8 conversion intrinsics (#123612)
The patch adds the following intrinsics:
bfloat16x8_t vcvt1_bf16_mf8_fpm(mfloat8x8_t vn, fpm_t fpm)
bfloat16x8_t vcvt1_low_bf16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
bfloat16x8_t vcvt2_bf16_mf8_fpm(mfloat8x8_t vn, fpm_t fpm)
bfloat16x8_t vcvt2_low_bf16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
bfloat16x8_t vcvt1_high_bf16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
bfloat16x8_t vcvt2_high_bf16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
float16x8_t vcvt1_f16_mf8_fpm(mfloat8x8_t vn, fpm_t fpm)
float16x8_t vcvt1_low_f16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
float16x8_t vcvt2_f16_mf8_fpm(mfloat8x8_t vn, fpm_t fpm)
float16x8_t vcvt2_low_f16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
float16x8_t vcvt1_high_f16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
float16x8_t vcvt2_high_f16_mf8_fpm(mfloat8x16_t vn, fpm_t fpm)
mfloat8x8_t vcvt_mf8_f32_fpm(float32x4_t vn, float32x4_t vm, fpm_t fpm)
mfloat8x16_t vcvt_high_mf8_f32_fpm(mfloat8x8_t vd, float32x4_t vn,
float32x4_t vm, fpm_t fpm)
mfloat8x8_t vcvt_mf8_f16_fpm(float16x4_t vn, float16x4_t vm, fpm_t fpm)
mfloat8x16_t vcvtq_mf8_f16_fpm(float16x8_t vn, float16x8_t vm, fpm_t
fpm)
Co-Authored-By: Caroline Concatto <caroline.concatto at arm.com>
Commit: 658f8500c84fcdcfbf5470ae7b4f732ef4a3c32f
https://github.com/llvm/llvm-project/commit/658f8500c84fcdcfbf5470ae7b4f732ef4a3c32f
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Remove obsolete mlir-cpu-runner alias
Commit: 88cca8ea209bb034eaec6af09a0227fb8cc7303e
https://github.com/llvm/llvm-project/commit/88cca8ea209bb034eaec6af09a0227fb8cc7303e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/fuchsia.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/src/iostream.cpp
M libcxx/src/locale.cpp
M libcxx/src/support/win32/locale_win32.cpp
Log Message:
-----------
[libc++] Add more missing bits to the locale base API (#122531)
This patch adds the following pieces to the locale base API:
- __setlocale (for std::setlocale)
- __lconv_t (for std::lconv)
- _LIBCPP_FOO_MASK and _LIBCPP_LC_ALL
This should be sufficient to implement all of the platform-agnostic
localization support in libc++ without relying directly on any public
API names from the C library. This makes it possible to port libc++ to
platforms that don't provide the usual locale APIs.
Commit: 7b1becd940cb93f8b63c9872e1af7431dea353d1
https://github.com/llvm/llvm-project/commit/7b1becd940cb93f8b63c9872e1af7431dea353d1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
A libc/cmake/caches/gpu.cmake
M libc/docs/gpu/building.rst
Log Message:
-----------
[libc] Add CMake cache file for the GPU build (#124589)
Summary:
This introduces libc cache files and adds one for building the GPU
support. The cache files will set defaults for these arguments which can
be overridden if the user needs to. They also serve as documentation for
how the builid is expected to look.
Commit: 610e33a547751019ff514d34f95f72d58118249c
https://github.com/llvm/llvm-project/commit/610e33a547751019ff514d34f95f72d58118249c
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M polly/include/polly/CodeGen/IslExprBuilder.h
M polly/lib/CodeGen/IslExprBuilder.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
Log Message:
-----------
[Polly] Ensure i1 preload condition
If the preload condition is a constant, ExprBuilder::create returns an
integer of the native integer while an i1 is expected. Cast the result
to i1 if that happens.
Fixes #123932
Commit: 1782168c527bbb9756c96a95f82397b5952d32b4
https://github.com/llvm/llvm-project/commit/1782168c527bbb9756c96a95f82397b5952d32b4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[X86] Fix a warning
This patch fixes:
llvm/lib/Target/X86/X86TargetTransformInfo.cpp:1583:47: error:
comparison of integers of different signs: 'size_t' (aka 'unsigned
long') and 'typename iterator_traits<const int *>::difference_type'
(aka 'long') [-Werror,-Wsign-compare]
Commit: 754b94638e8935e1c1ed6121e0037fdae8b3c63c
https://github.com/llvm/llvm-project/commit/754b94638e8935e1c1ed6121e0037fdae8b3c63c
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lld/test/ELF/archive-thin-missing-member.s
M lld/test/ELF/arm-thumb-thunk-v6m-xo.s
M lld/test/ELF/arm-thunk-section-too-large.s
M lld/test/ELF/arm-thunk-toolargesection.s
M lld/test/ELF/arm-v5-reloc-error.s
M lld/test/ELF/bad-archive.s
M lld/test/ELF/fatlto/fatlto.invalid.s
M lld/test/ELF/invalid-cie-reference.s
M lld/test/ELF/invalid/comdat-broken.test
M lld/test/ELF/invalid/data-encoding.test
M lld/test/ELF/invalid/dynamic-section-broken.test
M lld/test/ELF/invalid/invalid-elf.test
M lld/test/ELF/invalid/invalid-file-class.test
M lld/test/ELF/invalid/sht-group-wrong-section.test
M lld/test/ELF/invalid/sht-group.test
M lld/test/ELF/invalid/symtab-sh-info.s
M lld/test/ELF/invalid/verneed-shared.test
M lld/test/ELF/lto/bitcode-nodatalayout.ll
M lld/test/ELF/lto/bitcode-wrapper.ll
M lld/test/ELF/unsupported-emachine.test
M lld/test/lit.cfg.py
Log Message:
-----------
[lld] Support RUN_LLD_MAIN_TWICE for the ELF port (#124441)
This enables the LLD_IN_TEST=2 testing mode for
```
path/to/llvm-lit -sv --param RUN_LLD_MAIN_TWICE=1 lld/test/ELF
```
When `Fatal` is called, `RunSafely` will return false.
For the first invocation in LLD_IN_TEST=2 mode, `inTestOutputDisabled`
is true and lld will not write to stdout/stderr, making many tests fail.
(This essentially discourages `Fatal` calls in the source code.)
Add XFAIL: main-run-twice to these tests similar to
https://reviews.llvm.org/D112898 for Mach-O
```
comment="This test intentionally checks for fatal errors, and fatal errors aren't supported for testing when main is run twice."
xargs </tmp/0 sed -Ei "1s/(;|#|\/\/) REQUIRES: .*/\0\n\1 "$comment"\n\1 XFAIL: main-run-twice/;t;1s/^/# "$comment"\n# XFAIL: main-run-twice\n/"
```
Commit: 5d6d982df61d16b6d498e6d59dd91c059679d3d8
https://github.com/llvm/llvm-project/commit/5d6d982df61d16b6d498e6d59dd91c059679d3d8
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/zeroing-forms-ext.ll
Log Message:
-----------
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (11/11) (#116837)
SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.
This patch adds support for emitting the zeroing forms of certain
`SXTB`, `UXTB`, `SXTH`, `UXTH`, `SXTW`, and `UXTW` instructions.
Commit: dc6411d3e1ab903750a4c80571ee0ebd7e26a62c
https://github.com/llvm/llvm-project/commit/dc6411d3e1ab903750a4c80571ee0ebd7e26a62c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/AST/Decl.cpp
Log Message:
-----------
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#124502)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect TemplateOrSpecialization to be nonnull.
Commit: 4075915ebdfc7b69381388c96781e6abfa5f4407
https://github.com/llvm/llvm-project/commit/4075915ebdfc7b69381388c96781e6abfa5f4407
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#124503)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect U.first to be nonnull.
Commit: 5d2434166787e36312f037538119d3820c5af5e6
https://github.com/llvm/llvm-project/commit/5d2434166787e36312f037538119d3820c5af5e6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lld/MachO/ObjC.cpp
M lld/MachO/Writer.cpp
Log Message:
-----------
[lld] Migrate away from PointerUnion::dyn_cast (NFC) (#124504)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
This patch migrates uses of PointerUnion::dyn_cast to
dyn_cast_if_present (see the definition of PointerUnion::dyn_cast).
Note that we cannot use dyn_cast in any of the migrations in this
patch; placing
assert(!X.isNull());
just before any of dyn_cast_if_present in this patch triggers some
failure in check-lld.
Commit: e0c5a8553d62124c983e3d8bdc3ea31ed1ea0b96
https://github.com/llvm/llvm-project/commit/e0c5a8553d62124c983e3d8bdc3ea31ed1ea0b96
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[memprof] Migrate away from PointerUnion::dyn_cast (NFC) (#124505)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses cast
because we know which alternative to expect in the ternary expression.
Commit: 817e777296a508356f55d5e1a06cba714c0fe13b
https://github.com/llvm/llvm-project/commit/817e777296a508356f55d5e1a06cba714c0fe13b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#124506)
Commit: 4e812756745e59e02dca12abaed50638b5eb273f
https://github.com/llvm/llvm-project/commit/4e812756745e59e02dca12abaed50638b5eb273f
Author: Meng Zhuo <mengzhuo1203 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M compiler-rt/lib/tsan/go/buildgo.sh
Log Message:
-----------
[tsan] Add support for linux/riscv64 in lib/tsan/go/buildgo.sh (#124557)
Commit: d1139b32d251c1e258abeb6556d5fff045d7ae12
https://github.com/llvm/llvm-project/commit/d1139b32d251c1e258abeb6556d5fff045d7ae12
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/mad.u16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] true16 codegen pats for v_mad_u16 (#124000)
true16 codegen pats for v_mad_u16 (mul+add)
Commit: e77d428e46d94e1be6e5f38205b01d3f528d5e3f
https://github.com/llvm/llvm-project/commit/e77d428e46d94e1be6e5f38205b01d3f528d5e3f
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
Log Message:
-----------
[AMDGPU] Do not remat instructions with PhysReg uses (#124366)
This blocks rematerialization during scheduling if the instruction has a
non accepted PhysReg use.
Currently, there aren't any checks like this in place, and we may create
invalid code: https://godbolt.org/z/xjPjdcorf
Commit: 1bcf44be4c6a01407d608cd7bd17571dc31dbcf5
https://github.com/llvm/llvm-project/commit/1bcf44be4c6a01407d608cd7bd17571dc31dbcf5
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[MLOpt] Add tf_xla_runtime to LLVMDevelopmentExport (#124610)
We need to use tf on assert builds, thus requires it to be export as
well.
Signed-off-by: Peter Rong <PeterRong at meta.com>
Commit: 539b2e06542f7c099885533e4472e6fb3084aa96
https://github.com/llvm/llvm-project/commit/539b2e06542f7c099885533e4472e6fb3084aa96
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
M llvm/test/CodeGen/WebAssembly/exception.ll
Log Message:
-----------
[WebAssembly] Fix catch block type in wasm64 (#124381)
`try_table`'s `catch` or `catch_ref`'s target block's return type should
be `i64` and `(i64, exnref)` in case of wasm64.
Commit: aa34a6ab299027ac31929173287e42db0dbdb06b
https://github.com/llvm/llvm-project/commit/aa34a6ab299027ac31929173287e42db0dbdb06b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
Log Message:
-----------
[RISCV] Add register allocation hints for lui/auipc+addi fusion. (#123860)
Spotted the auipc case while looking at code for P550. I'm not sure this
is the right long term fix. We're still missing rematerialization
opportunities for these pairs so a pseudo might be better. That would
interfere with folding auipc+add into load/store addressing though.
Fixes #76779.
Commit: 2e5a5237daf82a657561c490845c406e13657311
https://github.com/llvm/llvm-project/commit/2e5a5237daf82a657561c490845c406e13657311
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/test/Integration/debug-cyclic-derived-type-3.f90
Log Message:
-----------
[flang][debug] Avoid redundant debug data generation for derived types. (#124473)
Since https://github.com/llvm/llvm-project/pull/122770, we have seen
that compile time have become extremely slow for cyclic derived types.
In #122770, we made the criteria to cache a derived type very strict. As
a result, some types which are safe to cache were also being
re-generated every type they were required. This increased the compile
time and also the size of the debug info.
Please see the description of PR# 122770. We decided that when
processing `t1`, the type generated for `t2` and `t3` were not safe to
cached. But our algorithm also denied caching to `t1` which as top level
type was safe.
```
type t1
type(t2), pointer :: p1
end type
type t2
type(t3), pointer :: p2
end type
type t3
type(t1), pointer :: p3
end type
```
I have tinkered the check a bit so that top level type is always cached.
To detect a top level type, we use a depth counter that get incremented
before call to `convertRecordType` and decremented after it returns.
After this change, the following
[file](https://github.com/fujitsu/compiler-test-suite/blob/main/Fortran/0394/0394_0031.f90)
from Fujitsu get compiled around 40s which is same as it was before
#122770.
The smaller testcase present in issue #124049 takes less than half a
second. I also added check to make sure that duplicate entries of the
`DICompositeType` are not present in the IR.
Fixes #124049 and #123960.
Commit: 1e9b60cfa4316246f9fe325ec57daf185120d34e
https://github.com/llvm/llvm-project/commit/1e9b60cfa4316246f9fe325ec57daf185120d34e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/event_query.f90
Log Message:
-----------
[flang] Recognize and check EVENT_QUERY (#123429)
Recognize the intrinsic subroutine EVENT_QUERY and enforce semantic
requirements on calls to it.
Commit: d732c86c928271cf3a829d95a1fcc560894ab8e4
https://github.com/llvm/llvm-project/commit/d732c86c928271cf3a829d95a1fcc560894ab8e4
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/call08.f90
Log Message:
-----------
[flang] Don't take corank from actual intrinsic argument (#124029)
When constructing the characteristics of a particular reference to an
intrinsic procedure that was passed a non-coindexed reference to local
coarray data as an actual argument, don't add the corank of the actual
argument to those characteristics.
Also clean up the TypeAndShape characteristics class a little; the
Attr::Coarray is redundant since the corank() accessor can be used to
the same effect.
Commit: 08a18efc664a85b4db8ca46ac986ec2d154ae433
https://github.com/llvm/llvm-project/commit/08a18efc664a85b4db8ca46ac986ec2d154ae433
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx23Papers.csv
Log Message:
-----------
[libc++][doc] Update the release notes for LLVM 20. (#124403)
This is a preparation for the upcoming LLVM 20 release.
Commit: c4c76eabb88f8ee5b92fa9a84452875b0cb67d0d
https://github.com/llvm/llvm-project/commit/c4c76eabb88f8ee5b92fa9a84452875b0cb67d0d
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/include/flang/Tools/TargetSetup.h
M flang/runtime/exceptions.cpp
Log Message:
-----------
[flang] IEEE underflow control for Arm (#124617)
Update IEEE_SUPPORT_UNDERFLOW_CONTROL, IEEE_GET_UNDERFLOW_MODE, and
IEEE_SET_UNDERFLOW_MODE code for Arm.
Commit: a85b2dc45a5f1312d6ee5e2522c24e81a086bf60
https://github.com/llvm/llvm-project/commit/a85b2dc45a5f1312d6ee5e2522c24e81a086bf60
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/AST/ASTLambda.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] only inherit the parent eval context inside of lambdas (#124426)
As we create defaul constructors lazily, we should not inherit from the
parent evaluation context.
However, we need to make an exception for lambdas (in particular their
conversion operators, which are also implicitly defined).
As a drive-by, we introduce a generic way to query whether a function is
a member of a lambda.
This fixes a regression introduced by baf6bd3.
Fixes #118000
Commit: 285009f202ca8bfcc6b607eba0e919867559e725
https://github.com/llvm/llvm-project/commit/285009f202ca8bfcc6b607eba0e919867559e725
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGObjCRuntime.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[NFC][DebugInfo] Rewrite more call-sites to insert with iterators (#124288)
As part of the "RemoveDIs" work to eliminate debug intrinsics, we're
replacing methods that use Instruction*'s as positions with iterators. The
call-sites updated in this patch are those where the dyn_cast_or_null cast
utility doesn't compose well with iterator insertion. It can distinguish
between nullptr and a "present" (non-null) Instruction pointer, but not
between a legal and illegal instruction iterator. This can lead to
end-iterator dereferences and thus crashes.
We can improve this in the future (as parent-pointers can now be accessed
from ilist nodes), but for the moment, add explicit tests for end()
iterators at the five call sites affected by this.
Commit: bd5d361c059814435bab24189e79e01d94c7039d
https://github.com/llvm/llvm-project/commit/bd5d361c059814435bab24189e79e01d94c7039d
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][vector] add support for linearizing vector.bitcast in VectorLinearize (#123110)
This PR adds support for converting Vector::BitCastOp working on ND
(N >1) vectors into the same op working on linearized (1D) vectors.
Commit: e734f01bffb87d035d9037ade8d8ba1e96639c2b
https://github.com/llvm/llvm-project/commit/e734f01bffb87d035d9037ade8d8ba1e96639c2b
Author: André Brand <andre.brand at mailbox.org>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
A clang/test/SemaCXX/member-enum-declarations.cpp
Log Message:
-----------
[clang] Prevent duplicated instantiation of enumerators of unscoped member enumerations (#124407)
This commit addresses a bug occurring when an unscoped member enumeration
of a class template is introduced with an opaque-enum-declaration and later
redeclared with an enum-specifier (per C++23 [class.mem] p6).
Previously, the enumerators, or EnumConstantDecl, of the enum-specifier
were instantiated at both declarations, leading to different issues:
* erroneous ambiguities when referencing the enumerators,
* duplicated diagnostics in the enumerator-list.
The issue is resolved by ensuring that enumerators are instantiated only
at the first instantiated declaration, analogous to nested classes.
Fixes #124405
Commit: 0cbb1d5673dd76112460a109c8c2af6c32c5a16d
https://github.com/llvm/llvm-project/commit/0cbb1d5673dd76112460a109c8c2af6c32c5a16d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalMerge.cpp
Log Message:
-----------
[GlobalMerge] Use constructor to set all bits in BitVector. NFC (#124375)
The constructor has an optional bool for the starting value for each
bit. Use that instead of calling set().
Commit: c24e5f982e2791768aeea8b1fb55e951f80aad75
https://github.com/llvm/llvm-project/commit/c24e5f982e2791768aeea8b1fb55e951f80aad75
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalMerge.cpp
Log Message:
-----------
[GlobalMerge] Fix inaccurate debug print. (#124377)
This message was not updated when MinSize was added.
Commit: 3bf8e671dbc808a3317a25c37017af7aa843d581
https://github.com/llvm/llvm-project/commit/3bf8e671dbc808a3317a25c37017af7aa843d581
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h
Log Message:
-----------
[libc++][format] Add tests for flat_(|multi)map formatting (#124418)
These types should be formattable out-of-the-box. This patch validates
that is true.
Commit: 804b81d39f2d50743fd2090aed72dad29f5fb388
https://github.com/llvm/llvm-project/commit/804b81d39f2d50743fd2090aed72dad29f5fb388
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_fdot.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/fp8-neon-fdot.ll
Log Message:
-----------
[AArch64] Add FP8 Neon intrinsics for dot-product (#123613)
This patch adds the following intrinsics:
float16x4_t vdot_f16_mf8_fpm(float16x4_t vd, mfloat8x8_t vn, mfloat8x8_t
vm, fpm_t fpm)
float16x8_t vdotq_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, fpm_t fpm)
float16x4_t vdot_lane_f16_mf8_fpm(float16x4_t vd, mfloat8x8_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x4_t vdot_laneq_f16_mf8_fpm(float16x4_t vd, mfloat8x8_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vdotq_lane_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vdotq_laneq_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x2_t vdot_f32_mf8_fpm(float32x2_t vd, mfloat8x8_t vn, mfloat8x8_t
vm, fpm_t fpm)
float32x4_t vdotq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, fpm_t fpm)
float32x2_t vdot_lane_f32_mf8_fpm(float32x2_t vd, mfloat8x8_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x2_t vdot_laneq_f32_mf8_fpm(float32x2_t vd, mfloat8x8_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vdotq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vdotq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
Commit: ad9da92cf6f735747ef04fd56937e1d76819e503
https://github.com/llvm/llvm-project/commit/ad9da92cf6f735747ef04fd56937e1d76819e503
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
Log Message:
-----------
[LoopUnroll] Add RuntimeUnrollMultiExit to loop unroll options (NFC) (#124462)
Add an extra knob to RuntimeUnrollMultiExit to let backends control
whether to allow multi-exit unrolling on a per-loop basis.
This gives backends more fine-grained control on deciding if multi-exit
unrolling is profitable for a given loop and uarch. Similar to
4226e0a0c75.
PR: https://github.com/llvm/llvm-project/pull/124462
Commit: 5815a311050ae218ebcda53adeee24ed96851943
https://github.com/llvm/llvm-project/commit/5815a311050ae218ebcda53adeee24ed96851943
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGenCXX/gh119046.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] call HandleImmediateInvocation before checking for immediate escacalating expressions (#124414)
HandleImmediateInvocation can call MarkExpressionAsImmediateEscalating
and should always be called before
CheckImmediateEscalatingFunctionDefinition.
However, we were not doing that in `ActFunctionBody`.
We simply move CheckImmediateEscalatingFunctionDefinition to
PopExpressionEvaluationContext.
Fixes #119046
Commit: 713482fccf82d33c5c4ddb24538958617e1eb957
https://github.com/llvm/llvm-project/commit/713482fccf82d33c5c4ddb24538958617e1eb957
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/invariant-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-neg-off.ll
Log Message:
-----------
[VPlan] Use State.get to extract lane mask for BranchOnMask.
Simplifies the code slightly and avoids redundant extracts/broadcasts if
the operand is live-in or already scalar.
Commit: 6578790076fed5467bf613e48f7a0ad2f50f041a
https://github.com/llvm/llvm-project/commit/6578790076fed5467bf613e48f7a0ad2f50f041a
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Reapply "[Fuchsia][cmake] Allow using FatLTO when building runtimes" (#119252) (#121820)
The previous failures were addressed with CMake changes in #121819
Commit: aca08a8515d48baff48328df5d54300fc7180bea
https://github.com/llvm/llvm-project/commit/aca08a8515d48baff48328df5d54300fc7180bea
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/include/llvm/Target/Target.td
M llvm/lib/TableGen/Main.cpp
M llvm/lib/TableGen/TGParser.cpp
M llvm/test/TableGen/BitsInit.td
A llvm/test/TableGen/BitsInitErrors.td
M llvm/test/TableGen/HwModeSelect.td
M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
M mlir/test/mlir-tblgen/attr-or-type-builder-invalid.td
Log Message:
-----------
[TableGen] Add assert to validate `Objects` list for `HwModeSelect` (#123794)
- Bail out of TableGen if any asserts fail before running the backend.
- Add asserts to validate that the `Objects` and `Modes` lists for
various `HwModeSelect` subclasses are of same length.
- Eliminate equivalent check in CodeGenHWModes.cpp
Commit: b707d52fc557d24c4269987a80dc270e7adad942
https://github.com/llvm/llvm-project/commit/b707d52fc557d24c4269987a80dc270e7adad942
Author: Jens Reidel <adrian at travitia.xyz>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M compiler-rt/lib/safestack/safestack_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[compiler-rt][Mips] Properly guard references to _ABIN32 (#124492)
When targeting ABIO32 (mips32), _ABIN32 is undefined and the
preprocessor directives cause compile errors. Guard references to
_ABIN32 with defined(_ABIN32), just like the references to _ABIO32.
Signed-off-by: Jens Reidel <adrian at travitia.xyz>
Commit: 5d1c596ab47b9412bb36bdfb0520d9af1343a5ce
https://github.com/llvm/llvm-project/commit/5d1c596ab47b9412bb36bdfb0520d9af1343a5ce
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for minimummaximum/max/min/max3/min3 (#124184)
true16 support for gfx12 instructions including:
v_minimummaximum_f16
v_maximumminimum_f16
v_maximum_f16
v_minimum_f16
v_maximum3_f16
v_minimum3_f16
Commit: c310b4e7bd2a6e736fbcd8d4885ff46b45ab9977
https://github.com/llvm/llvm-project/commit/c310b4e7bd2a6e736fbcd8d4885ff46b45ab9977
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/test/Headers/__cpuidex_conflict.c
R clang/test/Preprocessor/builtin_aux_info.cpp
Log Message:
-----------
Revert "[Clang] __has_builtin should return false for aux triple builtins (#121839) (#124626)
This reverts commit 1c28b9237382b093f477479c993c80181922ca6a.
Breaks CUDA on ARM, see
[here](https://github.com/llvm/llvm-project/pull/121839#issuecomment-2616858927).
Commit: 5a81a559d69fb84e1e8ef623ac4b642081c14c51
https://github.com/llvm/llvm-project/commit/5a81a559d69fb84e1e8ef623ac4b642081c14c51
Author: David Green <david.green at arm.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx950.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.pk.add.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.buffer.atomic.fadd_rtn_errors.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[GISel] Explicitly disable BF16 tablegen patterns. (#124113)
We currently have an issue where bf16 patters can be used to match fp16
types, as GISel does not know about the difference between the two. This
patch explicitly disables them to make sure that they are never used.
The opposite can also happen too, where fp16 patterns are used for
operators that should be bf16. So this also changes any operations with
bf16 types to now cause a fallback to SDAG.
The pass setup for GISel has been slightly adjusted to make sure that a
verify pass does not get added between AMD-SDAG and SIFixSGPRCopiesPass,
which otherwise can cause verifier issues when falling back.
Commit: 3b2b7ec07d970b225b63af9e96d7a9c09334cd27
https://github.com/llvm/llvm-project/commit/3b2b7ec07d970b225b63af9e96d7a9c09334cd27
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
A llvm/test/CodeGen/AMDGPU/promote-alloca-invariant-marks.ll
Log Message:
-----------
[AMDGPU] Handle invariant marks in `AMDGPUPromoteAllocaPass` (#124607)
Fixes SWDEV-509327.
Commit: a7a4c16c672bdd8e245af533a1f170522e26e42a
https://github.com/llvm/llvm-project/commit/a7a4c16c672bdd8e245af533a1f170522e26e42a
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorShapeCast.cpp
M mlir/test/Dialect/Vector/vector-shape-cast-lowering-transforms.mlir
Log Message:
-----------
[mlir][Vector] Support efficient shape cast lowering for n-D vectors (#123497)
This PR implements a generalization of the existing more efficient
lowering of shape casts from 2-D to 1D and 1-D to 2-D vectors. This
significantly reduces code size and generates more performant code for
n-D shape casts that make their way to LLVM/SPIR-V.
Commit: 89c5576ff9038ba53025ca82209fdc5f5b5d0bb4
https://github.com/llvm/llvm-project/commit/89c5576ff9038ba53025ca82209fdc5f5b5d0bb4
Author: Christian Clauss <cclauss at me.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M openmp/runtime/tools/summarizeStats.py
Log Message:
-----------
OpenMP: Fix Python 3 SyntaxErrors (#123940)
1. `print()` is a function in Python 3.
2. New-style exceptions are required in Python 3.
Commit: 0e372c3ea31da276ac67c5972e4ef63514577e9c
https://github.com/llvm/llvm-project/commit/0e372c3ea31da276ac67c5972e4ef63514577e9c
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
R clang/test/CodeGenCXX/gh119046.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
Revert "[Clang] call HandleImmediateInvocation before checking for immediate escacalating expressions" (#124646)
Reverts llvm/llvm-project#124414
Turns out to be an important compile time regression, I'll come up with
a less disruptive approach
Commit: 7fd58339b4c783f240904aa5c1007e017378ada1
https://github.com/llvm/llvm-project/commit/7fd58339b4c783f240904aa5c1007e017378ada1
Author: Aidan Goldfarb <agoldfa7 at u.rochester.edu>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/TokenKinds.def
M clang/test/Sema/nullptr-prec2x.c
M clang/test/Sema/nullptr.c
Log Message:
-----------
[clang] Add __nullptr as a keyword to C (#123119)
This PR resolves #121503.
---------
Co-authored-by: Aidan <aidan.goldfarb at mail.mcgill.ca>
Co-authored-by: Erich Keane <ekeane at nvidia.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 8cc83b66e20e72cdb3bb5fbd549c941797b0e0c9
https://github.com/llvm/llvm-project/commit/8cc83b66e20e72cdb3bb5fbd549c941797b0e0c9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
Log Message:
-----------
[MLGO] Count LR Evictions Rather than Relying on Cascade (#124440)
This patch adjusts the mlregalloc-max-cascade flag (renaming it to
mlregalloc-max-eviction-count) to actually count evictions rather than
just looking at the cascade number. The cascade number is not very
representative of how many times a LR has been evicted, which can lead
to some problems in certain cases, where we might end up with many
eviction problems where we have now masked off all the interferences and
are forced to evict the candidate.
This is probably what I should've done in the first place. No test case
as this only shows up in quite large functions post ThinLTO and it would
be hard to construct something that would serve as a nice regression
test without being super brittle. I've tested this on the pathological
cases that we have come across so far and it works.
Fixes #122829
Commit: 8b1edc0f0ceb8ee4255d54ed9c4ada8563a3861a
https://github.com/llvm/llvm-project/commit/8b1edc0f0ceb8ee4255d54ed9c4ada8563a3861a
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Writer.cpp
Log Message:
-----------
Revert "[ELF] Remove redundant isExported computation"
This reverts commit 1a4d6de1b532149b10522eae5dabce39e5f7c687.
It causes problems with `-static-pie`. See repro at
https://github.com/llvm/llvm-project/commit/1a4d6de1b532149b10522eae5dabce39e5f7c687#commitcomment-151827775
Commit: e98b2028c758a5c333b715c1e4d5b63d09c104be
https://github.com/llvm/llvm-project/commit/e98b2028c758a5c333b715c1e4d5b63d09c104be
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[NFCI]Refactor AsmPrinter around jump table emission (#124645)
Add method `AsmPrinter::emitJumpTableImpl`. It takes an array-ref of jump table indices.
This splits refactor of PR https://github.com/llvm/llvm-project/pull/122215
Commit: fa6e976602a41dad849d6e99692db437d328354b
https://github.com/llvm/llvm-project/commit/fa6e976602a41dad849d6e99692db437d328354b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/unittests/tools/llvm-exegesis/PowerPC/TargetTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/TargetTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/TestBase.h
Log Message:
-----------
[llvm-exegesis] Use TestBase for TargetTest (#121895)
This patch makes the PPC and X86 Exegesis TargetTests use TestBase to
provide initial setup rather than doing it themselves. This promotes
code reuse a little bit and makes the tests a bit more consistent (with
MIPS and with the initial RISC-V tests landing soon).
Commit: 934532d8b18adbe3c1d671d2287abd23885b7eaa
https://github.com/llvm/llvm-project/commit/934532d8b18adbe3c1d671d2287abd23885b7eaa
Author: mingmingl <mingmingl at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
remove unused var after refactoring
Commit: a34159f85ee01c197cc9d938bd1fc40c4c7dba51
https://github.com/llvm/llvm-project/commit/a34159f85ee01c197cc9d938bd1fc40c4c7dba51
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
R compiler-rt/lib/tsan/rtl/tsan_spinlock_defs_mac.h
Log Message:
-----------
[TSan][Apple] Fix interceptor build error (#124351)
In certain cases, the SDK headers declare
`OSSpinLock*` APIs as macros (instead of
functions), so users can be transparently
forwarded to non-deprecated APIs.
When enabled, building of TSan interceptors failed
because these macros interfere with the
interceptor machinery, i.e., they prevent proper
forward declaration of intercepted APIs.
In a previous change [1], we misattributed this to
the deprecation of `OSSpinLock*` APIs.
[1] ae484c21c05668f84b13304c28bc39f753e493de
rdar://143193907
Commit: f94c481543bdd3b11a668ad78d46593cf974788f
https://github.com/llvm/llvm-project/commit/f94c481543bdd3b11a668ad78d46593cf974788f
Author: antangelo <contact at antangelo.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang] Track source deduction guide for alias template deduction guides (#123875)
For deduction guides generated from alias template CTAD, store the
deduction guide they were originated from. The source kind is also
maintained for future expansion in CTAD from inherited constructors.
This tracking is required to determine whether an alias template already
has a deduction guide corresponding to some deduction guide on the
original template, in order to support deduction guides for the alias
from deduction guides declared after the initial usage.
Commit: 3cfda4f11842ceaab983345333870bef7980aa85
https://github.com/llvm/llvm-project/commit/3cfda4f11842ceaab983345333870bef7980aa85
Author: mcbarton <matthew.c.barton at hotmail.co.uk>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Don't use -z,defs linker flag when building shared libraries with emscripten (#123396)
Commit: aa65f93b71dee8cacb22be1957673c8be6a3ec24
https://github.com/llvm/llvm-project/commit/aa65f93b71dee8cacb22be1957673c8be6a3ec24
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
Log Message:
-----------
Revert "[MLGO] Count LR Evictions Rather than Relying on Cascade (#124440)"
This reverts commit 8cc83b66e20e72cdb3bb5fbd549c941797b0e0c9.
This was causing builbot failures.
https://lab.llvm.org/buildbot/#/builders/90/builds/4198
https://lab.llvm.org/buildbot/#/builders/110/builds/3616
Commit: f949f876daeda520a5b7dbeb2cbb35b8c4383acb
https://github.com/llvm/llvm-project/commit/f949f876daeda520a5b7dbeb2cbb35b8c4383acb
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/ast-dump-decl.c
M clang/test/AST/ast-dump-records.c
M clang/test/AST/ast-dump-records.cpp
M clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
M clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
M clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
M clang/test/AST/attr-counted-by-struct-ptrs.c
M clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
M clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
M clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
M clang/test/AST/attr-sized-by-struct-ptrs.c
M clang/test/Import/cxx-anon-namespace/test.cpp
M clang/test/Modules/odr_hash.cpp
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/deduction-crash.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[clang] improve print / dump of anonymous declarations (#124605)
ast-print: A DeclRef to an anonymous NTTP will print
'value-parameter-DEPTH-INDEX',
similar to how type parameters are printed.
ast-dump: A bareDeclRef to an anonymous entity will print some extra
identifying information,
instead of an empty name, like indexes.
Falls back to source locations if nothing else is available.
Commit: f75860f89522453f361e1ef54d7a33be2a2d75b1
https://github.com/llvm/llvm-project/commit/f75860f89522453f361e1ef54d7a33be2a2d75b1
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_fmla.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/fp8-neon-fmla.ll
Log Message:
-----------
[AArch64] Implement NEON FP8 intrinsics for fused multiply-add (#123615)
This patch adds the following intrinsics:
* Fused multiply-add non-indexed
float16x8_t vmlalbq_f16_mf8_fpm(float16x8_t, mfloat8x16_t, mfloat8x16_t,
fpm_t)
float16x8_t vmlaltq_f16_mf8_fpm(float16x8_t, mfloat8x16_t, mfloat8x16_t,
fpm_t)
float32x4_t vmlallbbq_f32_mf8_fpm(float32x4_t, mfloat8x16_t,
mfloat8x16_t, fpm_t)
float32x4_t vmlallbtq_f32_mf8_fpm(float32x4_t, mfloat8x16_t,
mfloat8x16_t, fpm_t)
float32x4_t vmlalltbq_f32_mf8_fpm(float32x4_t, mfloat8x16_t,
mfloat8x16_t, fpm_t)
float32x4_t vmlallttq_f32_mf8_fpm(float32x4_t, mfloat8x16_t,
mfloat8x16_t, fpm_t)
* Floating-point multiply-add long to half-precision (vector, by
element)
float16x8_t vmlalbq_lane_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vmlalbq_laneq_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vmlaltq_lane_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float16x8_t vmlaltq_laneq_f16_mf8_fpm(float16x8_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
* Floating-point multiply-add long-long to single-precision (vector, by
element)
float32x4_t vmlallbbq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallbbq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallbtq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallbtq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlalltbq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlalltbq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallttq_lane_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x8_t vm, __builtin_constant_p(lane), fpm_t fpm)
float32x4_t vmlallttq_laneq_f32_mf8_fpm(float32x4_t vd, mfloat8x16_t vn,
mfloat8x16_t vm, __builtin_constant_p(lane), fpm_t fpm)
Commit: 194c74e0166876ef2c5e0ff5e98a4b5a5442138c
https://github.com/llvm/llvm-project/commit/194c74e0166876ef2c5e0ff5e98a4b5a5442138c
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Sema/HeuristicResolver.cpp
Log Message:
-----------
[clang][Sema] Null-check type in resolveMemberExpr() before checking for auto type (#124628)
Fixes https://github.com/clangd/clangd/issues/2301
Commit: d839e765f03cf76e3770921d2f8e8bf510136dca
https://github.com/llvm/llvm-project/commit/d839e765f03cf76e3770921d2f8e8bf510136dca
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[TargetLowering] Inline the only caller of one of the forceExpandWideMUL functions. NFC
This caller does not need the libcall portion so it can directly
call forceExpandMultiply.
Commit: eeefa72f7c7287a3aa26f6278b9669eb76e8d1be
https://github.com/llvm/llvm-project/commit/eeefa72f7c7287a3aa26f6278b9669eb76e8d1be
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
Log Message:
-----------
[Clang] [NFC] Introduce `ConstDynamicRecursiveASTVisitor` (#122991)
After some discussion around #116823, it was decided that it would be
nice to have a `const` variant of `DynamicRecursiveASTVisitor`, so this
pr does exactly that by making the main DRAV implementation a template
with a single `bool` template parameter that turns several function
parameters from a `T*` or `T&` to a `const T*` or `const T&`.
Since that made the implementation of a bunch of DRAV functions quite a
bit more verbose, I’ve moved most of them to be stamped out by a macro,
which imo makes it easier to understand what’s actually going on there.
For functions which already accepted `const` parameters in the original
RAV implementation, the parameter is `const` in both versions (e.g.
`TraverseTemplateArgument()` always takes a `const TemplateArgument&`);
conversely, parameters that are passed by value (e.g. in
`TraverseType()`, which takes a `QualType` by value) are *not* `const`
in either variant (i.e. the `QualType` argument is always just a
`QualType`, never a `const QualType`).
As a sanity check, I’ve also migrated some random visitor in the static
analyser to the `const` version (and indeed, it ends up simplifying the
code around that particular visitor actually). It would make sense to do
a pass over all visitors and change all which can be `const` use the
`const` version, but that can be done in a follow-up pr.
The [performance
impact](https://llvm-compile-time-tracker.com/compare.php?from=e3cd88a7be1dfd912bb6e7c7e888e7b442ffb5de&to=d55c5afe4a485b6d0431386e6f45cb44c1fc8883&stat=instructions:u)
of this change seems to be negligible. Clang’s binary size went up by
0.5%, but that’s expected considering that this effectively adds an
extra instantiation of `RecursiveASTVisitor`. Fortunately, this is of
course a one-time cost.
Commit: 740e6aeccdb2f8eeee549ba80b15ff3d5dd3392e
https://github.com/llvm/llvm-project/commit/740e6aeccdb2f8eeee549ba80b15ff3d5dd3392e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/amdgpu-toolchain.c
Log Message:
-----------
Revert "[AMDGPU] Use the AMDGPUToolChain when targeting C/C++ directly (#99687)"
Breaks some downstream AMD stuff apparently.
This reverts commit 6ff86f2c0a5b58b07921ee895f0d16d8cd3d4015.
Commit: 8900c09ebfd782bfd41bac63ac5266f80fe29602
https://github.com/llvm/llvm-project/commit/8900c09ebfd782bfd41bac63ac5266f80fe29602
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/lib/Dialect/NVGPU/Transforms/OptimizeSharedMemory.cpp
M mlir/test/Dialect/NVGPU/optimize-shared-memory.mlir
Log Message:
-----------
[mlir][nvgpu] Fix crash when handling 0D memref in OptimizeSharedMemoryPass (#124517)
This PR adds a check for 0D memref types to prevent a crash. Fixes
#119855.
Commit: 7873d3b50b447213c3f689449a674b2c35f83f9f
https://github.com/llvm/llvm-project/commit/7873d3b50b447213c3f689449a674b2c35f83f9f
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/include/clang/AST/DynamicRecursiveASTVisitor.h
M clang/lib/AST/DynamicRecursiveASTVisitor.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
Log Message:
-----------
Revert "[Clang] [NFC] Introduce `ConstDynamicRecursiveASTVisitor`" (#124667)
Reverts llvm/llvm-project#122991
One of the bots is breaking; I’ll have to investigate what the issue is;
this might be because I haven’t updated the branch in a while.
Commit: 760a786d1580d2d933664a95cf1b5273d30ccdf6
https://github.com/llvm/llvm-project/commit/760a786d1580d2d933664a95cf1b5273d30ccdf6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Transforms/IPO/Internalize.cpp
M offload/DeviceRTL/src/Misc.cpp
Log Message:
-----------
[Clang] Prevent `mlink-builtin-bitcode` from internalizing the RPC client (#118661)
Summary:
Currently, we only use `-mlink-builtin-bitcode` for non-LTO NVIDIA
compiliations. This has the problem that it will internalize the RPC
client symbol which needs to be visible to the host. To counteract that,
I put `retain` on it, but this also prevents optimizations on the global
itself, so the passes we have that remove the symbol don't work on
OpenMP anymore. This patch does the dumbest solution, adding a special
string check for it in clang. Not the best solution, the runner up would
be to have a clang attribute for `externally_initialized` because those
can't be internalized, but that might have some unfortunate
side-effects. Alternatively we could make NVIDIA compilations do LTO all
the time, but that would affect some users and it's harder than I
thought.
Commit: ad697b28f4794af5b308ada2aac2bf3cd6c5f9ea
https://github.com/llvm/llvm-project/commit/ad697b28f4794af5b308ada2aac2bf3cd6c5f9ea
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lld/docs/ReleaseNotes.rst
Log Message:
-----------
ReleaseNotes: add lld/ELF notes
Pull Request: https://github.com/llvm/llvm-project/pull/124508
Commit: 641694729df1564710c91d6778ca4f9c841b561a
https://github.com/llvm/llvm-project/commit/641694729df1564710c91d6778ca4f9c841b561a
Author: Brad Smith <brad at comstyle.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lldb/source/Host/common/Socket.cpp
Log Message:
-----------
[lldb] Clean up Socket headers for Android (#124453)
Commit: 5ece348f77e9df1cafe49e565e47308fbbc2eb37
https://github.com/llvm/llvm-project/commit/5ece348f77e9df1cafe49e565e47308fbbc2eb37
Author: Brad Smith <brad at comstyle.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lldb/source/Host/common/Host.cpp
Log Message:
-----------
[lldb] Android 9 has added the spawn.h header (#124452)
Commit: c4891089125d4ba312204cc9a666339abbfc4db2
https://github.com/llvm/llvm-project/commit/c4891089125d4ba312204cc9a666339abbfc4db2
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/test/HLFIR/invalid.fir
A flang/test/HLFIR/reshape-lowering.fir
A flang/test/HLFIR/reshape.fir
A flang/test/Lower/HLFIR/reshape.f90
Log Message:
-----------
[flang] Added hlfir.reshape definition/lowering/codegen. (#124226)
Lower Fortran RESHAPE intrinsic into hlfir.reshape, and then lower
hlfir.reshape into a runtime call.
A later patch will add hlfir.reshape inlining as hlfir.elemental.
Commit: e0c7f081f1582d49f81ec4c6cdbf5d6ef13c58ba
https://github.com/llvm/llvm-project/commit/e0c7f081f1582d49f81ec4c6cdbf5d6ef13c58ba
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
R lld/Common/BPSectionOrdererBase.cpp
M lld/Common/CMakeLists.txt
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/BPSectionOrderer.h
M lld/MachO/CMakeLists.txt
R lld/include/lld/Common/BPSectionOrdererBase.h
A lld/include/lld/Common/BPSectionOrdererBase.inc
Log Message:
-----------
[lld-macho] Refactor BPSectionOrderer with CRTP. NFC
PR #117514 refactored BPSectionOrderer to be used by the ELF port
but introduced some inefficiency:
* BPSectionBase/BPSymbol are wrappers around a single pointer.
The numbers of sections and symbols could be huge, and the extra
allocations are memory inefficient.
* Reconstructing the returned DenseMap (since BPSectionBase != InputSectin)
is wasteful.
This patch refactors BPSectionOrderer with Curiously Recurring Template
Pattern and eliminates the inefficiency. In addition,
`symbolToSectionIdxs` is removed and `rootSymbolToSectionIdxs` building
is moved to lld/MachO: while getting sections for symbols is cheap in
Mach-O, it is awkward and inefficient in the ELF port.
While here, add a file-level comment and replace some `StringMap<*>`
(which copies strings) with `DenseMap<CachedHashStringRef, *>`.
Pull Request: https://github.com/llvm/llvm-project/pull/124482
Commit: 0bbfd96a3a8e9cf2d4e79ef0826f7c189a017598
https://github.com/llvm/llvm-project/commit/0bbfd96a3a8e9cf2d4e79ef0826f7c189a017598
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/lld/Common/BUILD.gn
Log Message:
-----------
[gn build] Port e0c7f081f158
Commit: ba789c6f82a911f90a5d20b637e02df4439d0153
https://github.com/llvm/llvm-project/commit/ba789c6f82a911f90a5d20b637e02df4439d0153
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/cray-pointer-usage.f90
Log Message:
-----------
[Flang] Add semantics checks for CrayPointer usage in DSA list (#123171)
Follow-up PR to fix the failure caused here:
https://github.com/llvm/llvm-project/pull/121028
Failure:
https://lab.llvm.org/buildbot/#/builders/89/builds/14474
Problems:
- Cray pointee cannot be used in the DSA list (If used results in segmentation fault)
- Cray pointer has to be in the DSA list when Cray pointee is used in the default (none) region
Fix: Added required semantic checks along the tests
Reference from the documentation (OpenMP 5.0: 2.19.1):
- Cray pointees have the same data-sharing attribute as the storage with
which their Cray pointers are associated.
Commit: 9c1d2f84e91f39cdd17519ca61bd2aacd8bcbd84
https://github.com/llvm/llvm-project/commit/9c1d2f84e91f39cdd17519ca61bd2aacd8bcbd84
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
Log Message:
-----------
[JITLink] Add "Pointer64Authenticated" string to aarch64::getEdgeKindName.
No testcase: this change just allows edge names to be correctly reported in
debug dumps of LinkGraphs. (Previously Pointer64Authenticated edges were
reported as "<Unrecognized edge kind>").
Commit: 6e4105574ebb1c4a664c5b24a4fb2b6cbc51d73e
https://github.com/llvm/llvm-project/commit/6e4105574ebb1c4a664c5b24a4fb2b6cbc51d73e
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/promote-alloca-invariant-markers.ll
R llvm/test/CodeGen/AMDGPU/promote-alloca-invariant-marks.ll
Log Message:
-----------
[NFC][AMDGPU] Improve code introduced in #124607 (#124672)
Commit: 8b29c5ccddb87ac7336a700877dc08cdc57ac65b
https://github.com/llvm/llvm-project/commit/8b29c5ccddb87ac7336a700877dc08cdc57ac65b
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
Log Message:
-----------
[JITLink] Move debugging output helper array into LLVM_DEBUG. NFC.
This doesn't need a separate guard.
Commit: 79685b59b78804f99e46f12ac888edbc0a6d1472
https://github.com/llvm/llvm-project/commit/79685b59b78804f99e46f12ac888edbc0a6d1472
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth_dependencies.s
Log Message:
-----------
[JITLink][aarch64] Fix dependence tracking for Pointer64Authenticated edges.
Transform Pointer64Authenticated edges into KeepAlive edges, rather than
removing them, in order to preserve symbol dependence information.
The lowerPointer64AuthEdgesToSigningFunction pass is responsible for
transforming Pointer64Authenticated edges to a signing function that can be run
in the executing process to initialize global PAC pointers. Removing the edges
entirely in this pass results in loss of dependence tracking, which can in turn
cause ORC to report PAC pointers as ready before the pointers targets have
completed materialization (resulting in a use-before-finalize error, often
manifesting as access to uninitialized / unprotected memory).
This commit addresses the issue by leaving the edges in the graph and simply
changing their kind to KeepAlive, a no-op for fixup purposes but followed for
dependence tracking purposes.
Commit: 08d14e10ca4bdd4626cbe1c893961416f9703d5c
https://github.com/llvm/llvm-project/commit/08d14e10ca4bdd4626cbe1c893961416f9703d5c
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
M llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll
Log Message:
-----------
[SLP] Fix CommonMask will be transformed into an incorrect mask if createShuffle is called multiple times. (#124244)
We have two types of mask in SLP: a scalar mask and a vector mask.
When vectorizing four i32 additions into <4 x i32>, SLP creates a mask
of length 4.
When vectorizing four <2 x i32> additions into <8 x i32>, SLP also
creates a mask of length 4.
We refer to the first case as a scalar mask (because the mask element
represents a scalar, i32), and the second case as a vector mask (because
the mask element represents a vector, <4 x i32>).
At some point, we must convert the scalar mask into a vector mask
(otherwise, calling TTI cost functions or IRBuilderBase functions may
yield incorrect results).
Since both ShuffleCostEstimator and ShuffleInstructionBuilder can modify
the CommonMask, we have decided to perform the mask transformation only
within createShuffle. However, we do not store the transformed result,
as createShuffle may be called multiple times.
Commit: 5ab43c3e7d9b5dc0ca4fffa58c65fc6f7283d3c0
https://github.com/llvm/llvm-project/commit/5ab43c3e7d9b5dc0ca4fffa58c65fc6f7283d3c0
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
Log Message:
-----------
[JITLink] Use continue to reduce loop indentation and improve readability. NFC.
Commit: fa9ac62d02fd6b5028f301ee398c3d3a1c0eacae
https://github.com/llvm/llvm-project/commit/fa9ac62d02fd6b5028f301ee398c3d3a1c0eacae
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/LowerAllowCheckPass.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
M llvm/test/Transforms/lower-builtin-allow-check.ll
Log Message:
-----------
[ubsan] Parse and use <cutoffs[0,1,2]=70000;cutoffs[5,6,8]=90000> in LowerAllowCheckPass (#124211)
This adds and utilizes a cutoffs parameter for LowerAllowCheckPass, via the Options parameter (introduced in https://github.com/llvm/llvm-project/pull/122994).
Future work will connect -fsanitize-skip-hot-cutoff (introduced patch in https://github.com/llvm/llvm-project/pull/121619) in the clang frontend to the cutoffs parameter used here.
Commit: 334a1cdbfaafc5424c5932663728334d1cc46285
https://github.com/llvm/llvm-project/commit/334a1cdbfaafc5424c5932663728334d1cc46285
Author: vporpo <vporpodas at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] createFunction() should always create a function (#124665)
This patch removes the assertion that checks for an existing function.
If one exists it will remove it and create a new one. This helps remove
a crash when a function declaration object already exists and we are
about to create a SandboxIR object for the definition.
Commit: cc97653d534e80745a0cfb0143972e8d4dec9f74
https://github.com/llvm/llvm-project/commit/cc97653d534e80745a0cfb0143972e8d4dec9f74
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
AMDGPU: Custom lower 32-bit element shuffles (#123711)
This is so we can try to make use of v_pk_mov_b32 when available.
Note this currently has little observable effect. The combiner
will undo the common extract of shuffle pattern. The lack
of test changes should demonstrate this change is minimally
correct.
We should probably try to make better use of wider extracts in
even aligned cases, but I'm trying to avoid some really ugly
regalloc regressions in some MFMA tests. The DAG scheduler ends
up doing a worse job if we use vector extracts, resulting
in failure to do 3 address conversion of MFMAs.
Commit: bd8578bf2e8f3cfcccea232d3a83f4dbeae41fdb
https://github.com/llvm/llvm-project/commit/bd8578bf2e8f3cfcccea232d3a83f4dbeae41fdb
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth_dependencies.s
Log Message:
-----------
[JITLink] Add 'REQUIRES: asserts' to MachO_ptrauth_dependencies.s.
This test depends on debugging output.
Commit: 2d0688797cc31ef10572d3216bb7ef4dbb8019b7
https://github.com/llvm/llvm-project/commit/2d0688797cc31ef10572d3216bb7ef4dbb8019b7
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/xqciac-invalid.s
M llvm/test/MC/RISCV/xqciac-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Renaming muladdi to muliadd as per v0.5 spec. (#124237)
muliadd is more relevant to the operation performed, i.e. multiply by
immediate.
The latest spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest
Commit: 7109f521975e9cc2e8ba4f52ac2a8e1140bd49b5
https://github.com/llvm/llvm-project/commit/7109f521975e9cc2e8ba4f52ac2a8e1140bd49b5
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lld/test/ELF/gc-sections.s
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
M lld/test/ELF/lto/internalize-exportdyn.ll
M lld/test/ELF/lto/relocation-model-pic.ll
M lld/test/ELF/lto/relocation-model-static.ll
M lld/test/ELF/partition-errors.s
M lld/test/ELF/partition-icf.s
M lld/test/ELF/partition-move-to-main-startstop.s
M lld/test/ELF/partition-thunk-reuse.s
M lld/test/ELF/partitions.s
Log Message:
-----------
[ELF,test] Don't rely on --export-dynamic --gc-sections behavior for non-pie static linking
This mode does not retain definitions in GNU ld. While we do, it's not
consistent with the decision that there is no .dynsym . We will change
this and simplify some internal representations.
Commit: 7f37b34d31914120a5bb6bd341e7616773df7613
https://github.com/llvm/llvm-project/commit/7f37b34d31914120a5bb6bd341e7616773df7613
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M libc/CMakeLists.txt
A libc/cmake/modules/LLVMLibCCheckMPC.cmake
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/type_traits.h
A libc/src/__support/complex_basic_ops.h
M libc/src/__support/complex_type.h
M libc/src/complex/generic/CMakeLists.txt
M libc/src/complex/generic/conj.cpp
M libc/src/complex/generic/conjf.cpp
M libc/src/complex/generic/conjf128.cpp
M libc/src/complex/generic/conjf16.cpp
M libc/src/complex/generic/conjl.cpp
M libc/src/complex/generic/cproj.cpp
M libc/src/complex/generic/cprojf.cpp
M libc/src/complex/generic/cprojf128.cpp
M libc/src/complex/generic/cprojf16.cpp
M libc/src/complex/generic/cprojl.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/CMakeLists.txt
M libc/test/src/complex/CMakeLists.txt
M libc/test/src/complex/cprojf_test.cpp
M libc/utils/CMakeLists.txt
A libc/utils/MPCWrapper/CMakeLists.txt
A libc/utils/MPCWrapper/MPCUtils.cpp
A libc/utils/MPCWrapper/MPCUtils.h
A libc/utils/MPCWrapper/check_mpc.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
A libc/utils/MPFRWrapper/MPCommon.cpp
A libc/utils/MPFRWrapper/MPCommon.h
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
Log Message:
-----------
[libc][complex] Testing infra for MPC (#121261)
This PR aims to add the groundwork to test the precision of libc complex
functions against MPC. I took `cargf` as a test to verify that the infra
works fine.
Commit: 3c64f86314fbf9a3cd578419f16e621a4de57eaa
https://github.com/llvm/llvm-project/commit/3c64f86314fbf9a3cd578419f16e621a4de57eaa
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/include/mlir/IR/CMakeLists.txt
M mlir/include/mlir/IR/OpAsmInterface.td
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/IR/AsmPrinter.cpp
A mlir/test/IR/op-asm-interface.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
Log Message:
-----------
[mlir] Add OpAsmTypeInterface for pretty-print (#121187)
See
https://discourse.llvm.org/t/rfc-introduce-opasm-type-attr-interface-for-pretty-print-in-asmprinter/83792
for detailed introduction.
This PR acts as the first part of it
* Add `OpAsmTypeInterface` and `getAsmName` API for deducing ASM name
from type
* Add default impl in `OpAsmOpInterface` to respect this API when
available.
The `OpAsmAttrInterface` / hooking into Alias system part should be
another PR, using a `getAlias` API.
### Discussion
* Instead of using `StringRef getAsmName()` as the API, I use `void
getAsmName(OpAsmSetNameFn)`, as returning StringRef might be unsafe
(std::string constructed inside then returned a _ref_; and this aligns
with the design of `getAsmResultNames`.
* On the result packing of an op, the current approach is that when not
all of the result types are `OpAsmTypeInterface`, then do nothing (old
default impl)
### Review
Cc @j2kun and @Alexanderviand-intel for downstream; Cc @River707 and
@joker-eph for relevent commit history; Cc @ftynse for discourse.
Commit: 3a439e2caf0bb545ee451df1de5b02ea068140f7
https://github.com/llvm/llvm-project/commit/3a439e2caf0bb545ee451df1de5b02ea068140f7
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlowFramework.h
M mlir/lib/Analysis/DataFlowFramework.cpp
Log Message:
-----------
[mlir][dataflow] disallow outside use of propagateIfChanged for DataFlowSolver (#120885)
Detailed writeup is in https://github.com/google/heir/issues/1153. See
also https://github.com/llvm/llvm-project/pull/120881. In short,
`propagateIfChanged` is used outside of the `DataFlowAnalysis` scope,
because it is public, but it does not propagate as expected as the
`DataFlowSolver` has stopped running.
To solve such misuse, `propagateIfChanged` should be made
protected/private.
For downstream users affected by this, to correctly propagate the
change, the Analysis should be re-run (check #120881) instead of just a
`propagateIfChanged`
The change to `IntegerRangeAnalysis` is just a expansion of the
`solver->propagateIfChanged`. The `Lattice` has already been updated by
the `join`. Propagation is done by `onUpdate`.
Cc @Mogball for review
Commit: d50ebd47ae57812e5d2db1e3d3157f26b8d9d159
https://github.com/llvm/llvm-project/commit/d50ebd47ae57812e5d2db1e3d3157f26b8d9d159
Author: Gedare Bloom <gedare at rtems.org>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add style option `PenaltyBreakBeforeMemberAccess` (#118409)
The penalty for breaking before a member access is hard-coded to 150.
Add a configuration option to allow setting it.
---------
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: d606f68a2e37440729f223616062b9ebb28e6482
https://github.com/llvm/llvm-project/commit/d606f68a2e37440729f223616062b9ebb28e6482
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
Log Message:
-----------
[bazel] Fix build after e0c7f081f1582d49f81ec4c6cdbf5d6ef13c58ba
Commit: 839cdb58e71fa7b8a132ac9497580cc23a3ae7f7
https://github.com/llvm/llvm-project/commit/839cdb58e71fa7b8a132ac9497580cc23a3ae7f7
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M libc/utils/MPFRWrapper/CMakeLists.txt
Log Message:
-----------
[libc][complex] remove -ffreestanding flag from MPFRUtils compile options (#124702)
Fixes buildbot error in #121261
Commit: 42432ada8e0b9ebd716a5522f799698ec49cd3db
https://github.com/llvm/llvm-project/commit/42432ada8e0b9ebd716a5522f799698ec49cd3db
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
Log Message:
-----------
[AMDGPU][NFC] Sort AMDGPUPassRegistry entries alphabetically (#124544)
Commit: 6a9d0e53ae04a60222c8e39d8ced3183aa30588a
https://github.com/llvm/llvm-project/commit/6a9d0e53ae04a60222c8e39d8ced3183aa30588a
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
Log Message:
-----------
[llvm-cov] Prevent assertion failure in sumMCDCPairs
Since #112694, MCDCRecord::isCondFolded() has returned true for
"partially folded" conditions. Besides,
isConditionIndependencePairCovered() returns true if the unfolded
condition is satisfied. This might break consistency
(CoveredPairs <= NumPairs).
Commit: f10441ad003236ef3b9e5415a571d2be0c0ce5ce
https://github.com/llvm/llvm-project/commit/f10441ad003236ef3b9e5415a571d2be0c0ce5ce
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Writer.cpp
M lld/test/ELF/partition-errors.s
Log Message:
-----------
[ELF] Refine includeInDynsym condition
`includeInDynsym` has a special case for isUndefWeak and
--no-dynamic-linker, which can be removed if we simplify disallow
dynamic symbols for static-pie.
The partition feature reports errors only when a symbol `isExported`.
We need to link in a DSO to trigger the mips error.
Commit: d4af658323c6e2492ca1224930488c390a08c720
https://github.com/llvm/llvm-project/commit/d4af658323c6e2492ca1224930488c390a08c720
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
A llvm/test/CodeGen/RISCV/zdinx-memoperand.ll
Log Message:
-----------
[RISCV] Support multiple memory operands in expandRV32ZdinxStore.
TailMerge can create stores with multiple memory operands. We
need to split all of them instead of assuming there is only one.
Commit: 952685a43d0436577df95ea318b2460438f67982
https://github.com/llvm/llvm-project/commit/952685a43d0436577df95ea318b2460438f67982
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lld/test/ELF/weak-undef-lib.s
Log Message:
-----------
[ELF,test] Add static-pie test related to demoted lazy symbol
The reverted
1a4d6de1b532149b10522eae5dabce39e5f7c687
("[ELF] Remove redundant isExported computation")
had incorrect
```
+ if (sym->includeInDynsym(ctx))
+ sym->isExported = true;
```
causing undefined weak symbols (defined in archives, demoted; e.g.
__cxa_finalize) to be exported for static-pie.
Add a regression test for this corner case. The issue actually exposed
another issue related to includeInDynsym, which has been fixed by
f10441ad003236ef3b9e5415a571d2be0c0ce5ce.
Commit: 4167ea2cb082a2acb00b8b1dc09aa780dc0e3110
https://github.com/llvm/llvm-project/commit/4167ea2cb082a2acb00b8b1dc09aa780dc0e3110
Author: Petr Hosek <phosek at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M libcxx/src/include/overridable_function.h
M libcxx/src/new.cpp
M libcxxabi/src/stdlib_new_delete.cpp
Log Message:
-----------
Revert "[libcxx] Use alias for detecting overriden function" (#124431)
Reverts llvm/llvm-project#120805
This change while desirable has two issues we discovered:
- It is incompatible with `-funique-internal-linkage-names`, see
https://github.com/llvm/llvm-project/pull/120805#discussion_r1913709817
- It is incompatible with `-fvisibility-global-new-delete=force-hidden`,
see
https://github.com/llvm/llvm-project/issues/123224#issuecomment-2607963878
We were hoping to address both of these issues with
https://github.com/llvm/llvm-project/pull/122983, but that change has
other issues we haven't yet managed to resolve. For now, we have decided
to revert the change to avoid shipping a broken feature in LLVM 20, and
we plan to follow up with a new approach post branch.
Commit: b593110d89aea76b8b10152b24ece154bff3e4b5
https://github.com/llvm/llvm-project/commit/b593110d89aea76b8b10152b24ece154bff3e4b5
Author: Petr Hosek <phosek at google.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/CMakeLists.txt
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[compiler-rt] Deprecate LLVM_ENABLE_PROJECTS in favor of LLVM_ENABLE_RUNTIMES (#124016)
We plan to make this a hard error in the LLVM 21 release.
Link #124012
Commit: 8f8a640e9ab579ec2297dfe97249bb4f6bd6e021
https://github.com/llvm/llvm-project/commit/8f8a640e9ab579ec2297dfe97249bb4f6bd6e021
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lld/test/ELF/riscv-gp.s
Log Message:
-----------
[ELF,test] Test static-pie __global_pointer$
Commit: 5e43dd5bde99bf0e1f58efb4bb4fd3eb1a78d253
https://github.com/llvm/llvm-project/commit/5e43dd5bde99bf0e1f58efb4bb4fd3eb1a78d253
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
Log Message:
-----------
[test] Add missing -triple=x86_64
Fixes 7109f521975e9cc2e8ba4f52ac2a8e1140bd49b5
Commit: 085f7fb560ee08a4d78a51dbf247ea816f8515a7
https://github.com/llvm/llvm-project/commit/085f7fb560ee08a4d78a51dbf247ea816f8515a7
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Remove redundant isExported computation
Commit 2a26292388fcab0c857c91b2d08074c33abd37e8 made `isExported`
accurate except a few linker-synthesized symbols in finalizeSections.
We can collect these linker-synthesized symbols into a vector
and avoid recomputation for other symbols.
This is reland of 1a4d6de1b532149b10522eae5dabce39e5f7c687 after
`isExported` has been made accurate by f10441ad003236ef3b9e5415a571d2be0c0ce5ce
Commit: ea9993a9a3500c3fdda3faa731c458389458eaa6
https://github.com/llvm/llvm-project/commit/ea9993a9a3500c3fdda3faa731c458389458eaa6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
A llvm/test/tools/llvm-mca/RISCV/SiFiveP500/alu.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP500/fp.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP500/load.s
Log Message:
-----------
[RISCV] Add P550 scheduler model. (#124639)
P550 falls between P450 and P650. It has 1 additional FEX pipe over
P450. Mul and cpop latency are 3 instead of 2.
I've set the MicroOpBufferSize to 96 instead of 56 based on the ROB size
measurement from
https://chipsandcheese.com/p/inside-sifives-p550-microarchitecture I
believe we set this value too low for P450 and P650 and should update
them in a separate PR.
Commit: b968fd95026639a2a1d2057627b41622f3b5c97d
https://github.com/llvm/llvm-project/commit/b968fd95026639a2a1d2057627b41622f3b5c97d
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
R clang/include/clang/Basic/BuiltinsNVPTX.def
A clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/module.modulemap
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/test/CodeGen/builtins-nvptx.c
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
Log Message:
-----------
[StrTable] Mechanically convert NVPTX builtins to use TableGen (#122873)
This switches them to use tho common TableGen layer, extending it to
support the missing features needed by the NVPTX backend.
The biggest thing was to build a TableGen system that computes the
cumulative SM and PTX feature sets the same way the macros did. That's
done with some string concatenation tricks in TableGen, but they worked
out pretty neatly and are very comparable in complexity to the macro
version.
Then the actual defines were mapped over using a very hacky Python
script. It was never productionized or intended to work in the future,
but for posterity:
https://gist.github.com/chandlerc/10bdf8fb1312e252b4a501bace184b66
Last but not least, there was a very odd "bug" in one of the converted
builtins' prototype in the TableGen model: it didn't handle uses of `Z`
and `U` both as *qualifiers* of a single type, treating `Z` as its own
`int32_t` type. So my hacky Python script converted `ZUi` into two
types, an `int32_t` and an `unsigned int`. This produced a very wrong
prototype. But the tests caught this nicely and I fixed it manually
rather than trying to improve the Python script as it occurred in
exactly one place I could find.
This should provide direct benefits of allowing future refactorings to
more directly leverage TableGen to express builtins more structurally
rather than textually. It will also make my efforts to move builtins to
string tables significantly more effective for the NVPTX backend where
the X-macro approach resulted in *significantly* less efficient string
tables than other targets due to the long repeated feature strings.
Commit: 0cb7636a462a8d4209e2b6344304eb43f02853eb
https://github.com/llvm/llvm-project/commit/0cb7636a462a8d4209e2b6344304eb43f02853eb
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoXMips.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/select-and.ll
M llvm/test/CodeGen/RISCV/select-bare.ll
M llvm/test/CodeGen/RISCV/select-cc.ll
M llvm/test/CodeGen/RISCV/select-or.ll
A llvm/test/MC/RISCV/xmips-invalid.s
A llvm/test/MC/RISCV/xmips-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add MIPS extensions (#121394)
Adding two extensions for MIPS p8700 CPU:
1. cmove (conditional move)
2. lsp (load/store pair)
The official product page here:
https://mips.com/products/hardware/p8700
Commit: 00f692b94f9aa08ede4aaba6f2aafe17857599c4
https://github.com/llvm/llvm-project/commit/00f692b94f9aa08ede4aaba6f2aafe17857599c4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
Log Message:
-----------
Reland "[MLGO] Count LR Evictions Rather than Relying on Cascade (#124440)"
This reverts commit aa65f93b71dee8cacb22be1957673c8be6a3ec24.
This relands commit 8cc83b66e20e72cdb3bb5fbd549c941797b0e0c9.
It looks like this was a transitive include issue.
Commit: aab25f20f6c06bab7aac6fb83d54705ec4cdfadd
https://github.com/llvm/llvm-project/commit/aab25f20f6c06bab7aac6fb83d54705ec4cdfadd
Author: Adam Yang <hanbyang at microsoft.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/WaveActiveMax.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveMax-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/DirectX/WaveActiveMax.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveMax.ll
Log Message:
-----------
[HLSL][SPIRV][DXIL] Implement `WaveActiveMax` intrinsic (#123428)
``` - add clang builtin to Builtins.td
- link builtin in hlsl_intrinsics
- add codegen for spirv intrinsic and two directx intrinsics to retain
signedness information of the operands in CGBuiltin.cpp
- add semantic analysis in SemaHLSL.cpp
- add lowering of spirv intrinsic to spirv backend in
SPIRVInstructionSelector.cpp
- add lowering of directx intrinsics to WaveActiveOp dxil op in
DXIL.td
- add test cases to illustrate passespendent pr merges.
```
Resolves #99170
Commit: 0865ecc5150b9a55ba1f9e30b6d463a66ac362a6
https://github.com/llvm/llvm-project/commit/0865ecc5150b9a55ba1f9e30b6d463a66ac362a6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/Diagnostics.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticCategories.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Frontend/LogDiagnosticPrinter.cpp
M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
A clang/test/Frontend/custom-diag-werror-interaction.c
M clang/test/Sema/diagnose_if.c
A clang/test/SemaCXX/diagnose_if-warning-group.cpp
M clang/tools/diagtool/ListWarnings.cpp
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/libclang/CXStoredDiagnostic.cpp
M flang/lib/Frontend/TextDiagnosticPrinter.cpp
Log Message:
-----------
[clang] Extend diagnose_if to accept more detailed warning information, take 2 (#119712)
This is take two of #70976. This iteration of the patch makes sure that
custom
diagnostics without any warning group don't get promoted by `-Werror` or
`-Wfatal-errors`.
This implements parts of the extension proposed in
https://discourse.llvm.org/t/exposing-the-diagnostic-engine-to-c/73092/7.
Specifically, this makes it possible to specify a diagnostic group in an
optional third argument.
Commit: 7e22180c20fa3b4e0add41ad620d2eaac2b47fcc
https://github.com/llvm/llvm-project/commit/7e22180c20fa3b4e0add41ad620d2eaac2b47fcc
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
R clang/include/clang/Basic/BuiltinsHexagon.def
A clang/include/clang/Basic/BuiltinsHexagon.td
R clang/include/clang/Basic/BuiltinsHexagonDep.def
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/module.modulemap
M clang/lib/Basic/Targets/Hexagon.cpp
Log Message:
-----------
[StrTable] Mechanically convert Hexagon builtins to use TableGen (#123460)
This switches them to use the common builtin TableGen emission.
The fancy feature string preprocessor tricks are replaced with a fairly
direct translation into TableGen.
All of the actual definitions were created using a quite hack-y Python
script that was never intended to be productionized. It preserves the
order, spacing, and even comments from the original files. For
posterity, the script used is here:
https://gist.github.com/chandlerc/f53c7d735e33eecf388529bd9a6010df
The original `.def` file appears to be generated by some out-of-tree
`iset.py` script, which because it is out of tree I couldn't update. It
should be very straightforward though to update it to generate a similar
structure as was used to produce the `.td` file.
In addition to helping move towards TableGen for all of the builtins,
these builtins in particular can be *much* more efficiently handled
using TableGen when we start emitting string tables for them because it
allows de-duplicating all of the feature strings.
The commit sha parent at the time the PR was made is
7253c6fde498c4c9470b681df47d46e6930d6a02 and at that commit, the
resulting TableGen file produces a `.inc` file that only differs in
whitespace and the order of the builtins defined.
Commit: c8d3ccfa165d0193edf42ce1a0ba3077133c85e8
https://github.com/llvm/llvm-project/commit/c8d3ccfa165d0193edf42ce1a0ba3077133c85e8
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV] Use llvm::reverse instead of make_range(rbegin, rend). NFC
Commit: 8e97f50eed71ff59b5a6fcb31e3e1af3fb30cdb4
https://github.com/llvm/llvm-project/commit/8e97f50eed71ff59b5a6fcb31e3e1af3fb30cdb4
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
A clang/test/Analysis/Inputs/ctu-test-import-failure-import.cpp
A clang/test/Analysis/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt
A clang/test/Analysis/ctu-test-import-failure.cpp
Log Message:
-----------
[clang][ASTImporter] Fix possible crash at import of function template (#124273)
During import of a function template at specific conditions an assertion
"TemplateOrSpecialization.isNull()" can be triggered. This can
happen when the new AST is already incompatible after import failures.
Problem is fixed by returning import failure at the assert condition.
Commit: cd57c9530b915aafac251b9f2757eca15027dc10
https://github.com/llvm/llvm-project/commit/cd57c9530b915aafac251b9f2757eca15027dc10
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
M llvm/test/CodeGen/AMDGPU/nested-calls.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
Log Message:
-----------
[NFC][AMDGPU] Autogenerating test cases (#124507)
Commit: f4de28a63c81c909df28b6b065fad19e2189c54e
https://github.com/llvm/llvm-project/commit/f4de28a63c81c909df28b6b065fad19e2189c54e
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M llvm/include/llvm/ADT/StringTable.h
M llvm/include/llvm/TableGen/StringToOffsetTable.h
M llvm/lib/IR/Intrinsics.cpp
M llvm/test/TableGen/MixedCasedMnemonic.td
M llvm/test/TableGen/SDNodeInfoEmitter/ambiguous-constraints.td
M llvm/test/TableGen/SDNodeInfoEmitter/basic.td
M llvm/test/TableGen/SDNodeInfoEmitter/namespace.td
M llvm/test/TableGen/SDNodeInfoEmitter/skipped-nodes.td
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/TableGen/SDNodeInfoEmitter.cpp
Log Message:
-----------
[StrTable] Switch intrinsics to StringTable and work around MSVC (#123548)
Historically, the main example of *very* large string tables used the
`EmitCharArray` to work around MSVC limitations with string literals,
but that was switched (without removing the API) in order to consolidate
on a nicer emission primitive.
While this large string table in `IntrinsicsImpl.inc` seems to compile
correctly on MSVC without the work around in `EmitCharArray` (and that
this PR adds back to the nicer emission path), other users have
repeatedly hit this MSVC limitation as you can see in the discussion on
PR https://github.com/llvm/llvm-project/pull/120534. This PR teaches the
string offset table emission to look at
the size of the table and switch to the char array emission strategy
when the table becomes too large.
This work around does have the downside of making compile times worse
for large string tables, but that appears unavoidable until we can
identify known good MSVC versions and switch to requiring them for all
LLVM users. It also reduces searchability of the generated string table
-- I looked at emitting a comment with each string but it is tricky
because the escaping rules for an inline comment are different from
those of of a string literal, and there's no real way to turn the string
literal into a comment.
While improving the output in this way, also clean up the output to not
emit an extraneous empty string at the end of the string table, and
update the `StringTable` class to not look for that. It isn't actually
used by anything and is wasteful.
This PR also switches the `IntrinsicsImpl.inc` string tables over to the
new `StringTable` runtime abstraction. I didn't want to do this until
landing the MSVC workaround in case it caused even this example to start
hitting the MSVC bug, but I wanted to switch here so that I could
simplify the API for emitting the string table with the workaround
present. With the two different emission strategies, its important to
use a very exact syntax and that seems better encapsulated in the API.
Last but not least, the `SDNodeInfoEmitter` is updated, including its
tests to match the new output.
This PR should unblock landing
https://github.com/llvm/llvm-project/pull/120534 and letting us switch
all of
Clang's builtins to use string tables. That PR has all the details
motivating the overall effort.
Follow-up patches will try to consolidate the remaining users onto the
single interface, but those at least were easy to separate into
follow-ups and keep this PR somewhat smaller.
Commit: f76f534e8c81c01d7ee2c8ab36cb28b9542531ca
https://github.com/llvm/llvm-project/commit/f76f534e8c81c01d7ee2c8ab36cb28b9542531ca
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/test/lit.cfg.py
Log Message:
-----------
[NVPTX][Script] Update lit.cfg.py (#124395)
This patch updates lit.cfg.py to include
the latest ptxas executable versions upto
12.8.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 458542f454cdb769801f0b6459405b429503e00a
https://github.com/llvm/llvm-project/commit/458542f454cdb769801f0b6459405b429503e00a
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/invalid.mlir
Log Message:
-----------
[mlir][linalg] Relax structured op region filler check (#123741)
Removes assert on output type from structure op region filler to allow
more graceful error handling.
Commit: 1295aa2e814d1747d69520e34e2c5fb2888e666d
https://github.com/llvm/llvm-project/commit/1295aa2e814d1747d69520e34e2c5fb2888e666d
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CodeGen/integer-overflow.c
A clang/test/CodeGen/pointer-overflow.c
M clang/test/Driver/clang_wrapv_opts.c
M clang/test/Sema/tautological-pointer-comparison.c
Log Message:
-----------
[Clang] Add -fwrapv-pointer flag (#122486)
GCC supports three flags related to overflow behavior:
* `-fwrapv`: Makes signed integer overflow well-defined.
* `-fwrapv-pointer`: Makes pointer overflow well-defined.
* `-fno-strict-overflow`: Implies `-fwrapv -fwrapv-pointer`, making both
signed integer overflow and pointer overflow well-defined.
Clang currently only supports `-fno-strict-overflow` and `-fwrapv`, but
not `-fwrapv-pointer`.
This PR proposes to introduce `-fwrapv-pointer` and adjust the semantics
of `-fwrapv` to match GCC.
This allows signed integer overflow and pointer overflow to be
controlled independently, while `-fno-strict-overflow` still exists to
control both at the same time (and that option is consistent across GCC
and Clang).
Commit: 0f61558b97aab16fedd38648f88377ff3f860e06
https://github.com/llvm/llvm-project/commit/0f61558b97aab16fedd38648f88377ff3f860e06
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LoopVectorize][NFC] Remove unused variable in addUsersInExitBlocks (#124553)
We were allocating a VPTypeAnalysis object on the stack,
but never using it for anything.
Commit: 4a00c84fbb74e6bc3e010d9046324488cd612ad4
https://github.com/llvm/llvm-project/commit/4a00c84fbb74e6bc3e010d9046324488cd612ad4
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
A llvm/test/CodeGen/AArch64/arm64-prefetch-addrmode.ll
Log Message:
-----------
[AArch64] Allow register offset addressing mode for prefetch (#124534)
Previously instruction selection failed to generate PRFM instructions
with register offsets because `AArch64ISD::PREFETCH` is not a
`MemSDNode`.
Commit: cfc8ef0ad8f70be22b44a8e1b56856795eb18282
https://github.com/llvm/llvm-project/commit/cfc8ef0ad8f70be22b44a8e1b56856795eb18282
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_copysign.h
A libclc/clc/include/clc/shared/binary_def.inc
M libclc/clc/lib/clspv/SOURCES
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_copysign.cl
M libclc/clc/lib/spirv/SOURCES
M libclc/clc/lib/spirv64/SOURCES
M libclc/generic/lib/math/copysign.cl
Log Message:
-----------
[libclc] Move copysign to CLC library; fix & optimize (#124598)
This commit moves the implementation of the copysign builtin to the CLC
library.
It simultaneously optimizes it for vector types by avoiding
scalarization. It does so by using the __builtin_elementwise_copysign
clang builtins, which can handle vector types.
It also fixes a bug in the half/fp16 implementation of the builtin. This
version was using an incorrect mask (0x7FFFF instead of 0x7FFF) and was
thus preserving the original sign bit, rather than masking it out.
Commit: 9c92824dd63852f3e1145b383d7e6a0cdf1bb97d
https://github.com/llvm/llvm-project/commit/9c92824dd63852f3e1145b383d7e6a0cdf1bb97d
Author: Brad Smith <brad at comstyle.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M libcxx/src/system_error.cpp
Log Message:
-----------
[libc++] Remove Android header no longer in use (#124691)
929f159777bec47c80a3b302f190261d426e1c3b removed the use of
`__ANDROID_API__`
Commit: de4bbbfdccb6172c563b07889ecfb06bc4974a7e
https://github.com/llvm/llvm-project/commit/de4bbbfdccb6172c563b07889ecfb06bc4974a7e
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/include/llvm/Support/AArch64BuildAttributes.h
M llvm/lib/Support/AArch64BuildAttributes.cpp
A llvm/lib/Support/ARMBuildAttributes.cpp
R llvm/lib/Support/ARMBuildAttrs.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
Log Message:
-----------
[Build Attributes] Standardize names according to convention. (#124556)
The de-facto convention for build attributes file and class names seems
to be 'Attrs' in the class name and 'Attributes' in the file name.
Accordingly, change file ARMBuildAttrs.cpp -> ARMBuildAttributes.cpp And
class AArch64BuildAttrs --> AArch64BuildAttributes
Commit: d69b785733554f31d6538bbd6faaa2f018dd320e
https://github.com/llvm/llvm-project/commit/d69b785733554f31d6538bbd6faaa2f018dd320e
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Add Builtins for #122873(NVPTX) and #123460(Hexagon)
Commit: 8fe7860610e3ff699831e11e4d57e38a198c40e8
https://github.com/llvm/llvm-project/commit/8fe7860610e3ff699831e11e4d57e38a198c40e8
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
Log Message:
-----------
LAA/test: cover invariant stores with unit stride (#124586)
LoopAccessAnalysis is missing coverage of the special-case of invariant
stores with unit stride. It was previously determined that
stride-versioning for stores is not profitable, but test coverage is
missing. Fix this.
Commit: 71ab44a8193c56e4ef9aede4d9bac8e14760c6c6
https://github.com/llvm/llvm-project/commit/71ab44a8193c56e4ef9aede4d9bac8e14760c6c6
Author: Wolfgang Pieb <wolfgang.pieb at sony.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/extend-variable-liveness.c
Log Message:
-----------
[Clang] Add "extend lifetime" flags and release note (#110000)
Following the commit that added the fake use intrinsic to LLVM, this patch
adds a pair of flags for the clang frontend that emit fake use intrinsics,
for the purpose of extending the lifetime of variables (either all source
variables, or just the `this` pointer). This patch does not implement the
fake use intrinsic emission of the flags themselves, it simply adds the flags,
the corresponding release note, and the attachment of the `has_fake_uses`
attribute to affected functions; the remaining functionality appears in the
next patch.
Co-authored-by: Stephen Tozer <stephen.tozer at sony.com>
Commit: 7cd6f85578147573af63dffe74e14fa7713ba18e
https://github.com/llvm/llvm-project/commit/7cd6f85578147573af63dffe74e14fa7713ba18e
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/RegisterCoalescer.h
Log Message:
-----------
[CodeGen][NFC] Format RegisterCoalescer sources (#124697)
Commit: 0165e3346fdb1a3f51352821227d6ff1af5aee59
https://github.com/llvm/llvm-project/commit/0165e3346fdb1a3f51352821227d6ff1af5aee59
Author: Bushev Dmitry <111585886+dybv-sc at users.noreply.github.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/include/llvm/Object/SymbolicFile.h
M llvm/unittests/Object/SymbolicFileTest.cpp
Log Message:
-----------
[llvm][Object] Add missing const qualifier for value_type in content_iterator (#124106)
value_type was defined as non-const for content_iterator, although it's
methods returned a const pointers/references. This prevented it from
using in some algorithms from STLExtras.h
Commit: b29bf3de051bfc696a266367102a9b68b0cabfe1
https://github.com/llvm/llvm-project/commit/b29bf3de051bfc696a266367102a9b68b0cabfe1
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[llvm][Docs] Re-order the LLDB release notes
To put generic changes first, moving into target specific changes
at the end.
Commit: cdea38f91afcae93cc2a552cd96c41d8d3ab2ad6
https://github.com/llvm/llvm-project/commit/cdea38f91afcae93cc2a552cd96c41d8d3ab2ad6
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
Log Message:
-----------
Reland "[LoopVectorizer] Add support for chaining partial reductions #120272" (#124282)
Change `getScaledReduction` to take an existing vector, rather than
creating and returning a new one each call.
Rename `getScaledReduction` to `getScaledReductions` to more accurately
reflect what it's now doing.
---------
Co-authored-by: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
Commit: 2c934dc5e1a3ef7b717400f27d6b9ea21f4e20a0
https://github.com/llvm/llvm-project/commit/2c934dc5e1a3ef7b717400f27d6b9ea21f4e20a0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
Log Message:
-----------
[clang][bytecode] Always compile most recent function decl (#124722)
Commit: db6fa74dfea30c025e5d4c30ca4e31e20b69b04d
https://github.com/llvm/llvm-project/commit/db6fa74dfea30c025e5d4c30ca4e31e20b69b04d
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[AArch64] Implement FP8 Neon reinterpret intrinsics (#120476)
Commit: 97aa56ada5d25803112901ff06764975506ce7a6
https://github.com/llvm/llvm-project/commit/97aa56ada5d25803112901ff06764975506ce7a6
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/DLL.cpp
M lld/COFF/DLL.h
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
Log Message:
-----------
[LLD][COFF] Move delayLoadHelper and tailMergeUnwindInfoChunk to SymbolTable (NFC) (#124729)
In preparation for ARM64X delay-load import support (#124600).
Commit: 8017ca1d0056907331ff7542ac9ff1ff5ec969a2
https://github.com/llvm/llvm-project/commit/8017ca1d0056907331ff7542ac9ff1ff5ec969a2
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/const-shift-of-constmasked.ll
M llvm/test/CodeGen/AArch64/extract-bits.ll
M llvm/test/CodeGen/AArch64/fpenv.ll
M llvm/test/CodeGen/AArch64/xbfiz.ll
Log Message:
-----------
Reapply "[AArch64] Combine and and lsl into ubfiz" (#123356) (#124576)
Patch was reverted due to test case (added) exposing an infinite loop in
combiner, where (shl C1, C2) create by performSHLCombine isn't
constant-folded:
Combining: t14: i64 = shl t12, Constant:i64<1>
Creating new node: t36: i64 = shl
OpaqueConstant:i64<-2401053089408754003>, Constant:i64<1>
Creating new node: t37: i64 = shl t6, Constant:i64<1>
Creating new node: t38: i64 = and t37, t36
... into: t38: i64 = and t37, t36
...
Combining: t38: i64 = and t37, t36
Creating new node: t39: i64 = and t6,
OpaqueConstant:i64<-2401053089408754003>
Creating new node: t40: i64 = shl t39, Constant:i64<1>
... into: t40: i64 = shl t39, Constant:i64<1>
and subsequently gets simplified by DAGCombiner::visitAND:
// Simplify: (and (op x...), (op y...)) -> (op (and x, y))
if (N0.getOpcode() == N1.getOpcode())
if (SDValue V = hoistLogicOpWithSameOpcodeHands(N))
return V;
before being folded by performSHLCombine once again and so on.
The combine in performSHLCombine should only be done if (shl C1, C2) can
be constant-folded, it may otherwise be unsafe and generally have a
worse end result. Thanks to Dave Sherwood for his insight on this one.
This reverts commit f719771f251d7c30eca448133fe85730f19a6bd1.
Commit: 65f81df473904d2df2b9eaa91ff4fcbe69f8fb00
https://github.com/llvm/llvm-project/commit/65f81df473904d2df2b9eaa91ff4fcbe69f8fb00
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/docs/RemoveDIsDebugInfo.md
Log Message:
-----------
[Docs][DebugInfo] Summarise what people need to do for RemoveDIs now (#124725)
Replace the "what I need to do" section of the RemoveDIs docs with a
paragraph about preserving start-of-block iterators. Hopefully this is
concise enough to remain in peoples heads going forwards!
Commit: 75aa5a35568b9e0b3eabd1e7f991a6a0f5525e0c
https://github.com/llvm/llvm-project/commit/75aa5a35568b9e0b3eabd1e7f991a6a0f5525e0c
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h
M lldb/source/Plugins/Process/elf-core/RegisterUtilities.h
M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
A lldb/test/API/linux/aarch64/gcs/corefile
Log Message:
-----------
[lldb][AArch64] Add Guarded Control Stack support for Linux core files (#124293)
This allows you to read the same registers as you would for a live
process.
As the content of proc/pid/smaps is not included in the core file, we
don't get the "ss" marker that tell us that it is shadow stack. The GCS
region is still in the list though.
Commit: 7f845cba2ccc2ab637b8e40fbafb9f83a2d67c70
https://github.com/llvm/llvm-project/commit/7f845cba2ccc2ab637b8e40fbafb9f83a2d67c70
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/include/__configuration/compiler.h
M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
M libcxx/include/__type_traits/promote.h
M libcxx/src/experimental/time_zone.cpp
M libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.split/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.factories/range.istream.view/no_unique_address.compile.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/array.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_copy.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_unary.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.copy.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
M libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.equivalence.compile.pass.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/robust_against_adl.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
Log Message:
-----------
[libc++] Update the CI to Clang-20 and drop Clang-17 support (#117429)
Commit: 304a99091c84f303ff5037dc6bf5455e4cfde7a1
https://github.com/llvm/llvm-project/commit/304a99091c84f303ff5037dc6bf5455e4cfde7a1
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/examples/IRTransforms/SimplifyCFG.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[NFC][DebugInfo] Use iterators for insertion at some final callsites
These are the callsites that have materialised in the last three weeks
since I last built with deprecation warnings.
Commit: 6d0dd3d5c41e5b564714de9226c0623012538051
https://github.com/llvm/llvm-project/commit/6d0dd3d5c41e5b564714de9226c0623012538051
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M lldb/docs/use/aarch64-linux.md
Log Message:
-----------
[lldb][Docs] Add Guarded Control Stack to AArch64 Linux page (#117860)
The meat of this is how we execute expressions and deal with the
aftermath. For most users this will never be a concern, so it functions
more as a design doc than anything else.
Commit: 1b551e76a2fec3a1ab7d36476ab99f2504e6f6c9
https://github.com/llvm/llvm-project/commit/1b551e76a2fec3a1ab7d36476ab99f2504e6f6c9
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M lld/COFF/DLL.cpp
Log Message:
-----------
[LLD][COFF] Call setLocation on DelayAddressChunk when inserting into the addresses vector (NFC) (#124736)
This change prepares for ARM64X delay-load imports support (#124600).
Delaying the `setLocation` call is problematic on ARM64X because the
order of addresses may not align with the order of symbols.
Commit: 83433d936195c612a51b54397f82ab0d97369d86
https://github.com/llvm/llvm-project/commit/83433d936195c612a51b54397f82ab0d97369d86
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/omptarget-nowait-host-only.mlir
Log Message:
-----------
[OpenMP][IRBuilder] Handle `target ... nowait` when codegen targets host (#124720)
Fixes https://github.com/llvm/llvm-project/issues/124578
Handles the `nowait` clause for `omp.target` ops when the actual target
is the host (i.e. there is no target device). Rather than only checking
for the `HasNoWait` boolean, we also check for the presence/absence of a
`DeviceID` value. We only emit the target task if both are present.
Commit: c5840cc609a3674cf7453a45946f7e4a2a73590b
https://github.com/llvm/llvm-project/commit/c5840cc609a3674cf7453a45946f7e4a2a73590b
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
Log Message:
-----------
[lldb][AArch64] Add register fields for Guarded Control Stack registers (#124295)
The features and locked registers hold the same bits, the latter
is a lock for the former. Tested with core files and live processes.
I thought about setting a non-zero lock register in the core file,
however:
* We can be pretty sure it's reading correctly because its between
the 2 other GCS registers in the same core file note.
* I can't make the test case modify lock bits because userspace
can't clear them (without using ptrace) and we don't know what the libc
has locked
(probably all feature bits).
Commit: 3a51466caf93b179f859175b7fe87018a2607e6c
https://github.com/llvm/llvm-project/commit/3a51466caf93b179f859175b7fe87018a2607e6c
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M lld/COFF/DLL.cpp
A lld/test/COFF/arm64x-delayimport.test
Log Message:
-----------
[LLD][COFF] Add support for delay-load imports on ARM64X (#124600)
For each imported module, emit null-terminated native import entries,
followed by null-terminated EC entries. If a view lacks imports for a
given module, only terminators are emitted. Use ARM64X relocations to
skip native entries in the EC view.
Move `delayLoadHelper` and `tailMergeUnwindInfoChunk` to `SymbolTable`
since they are different for each symbol table.
Commit: 431024506c6f5597fe476e1283a08c9f8fa72ad7
https://github.com/llvm/llvm-project/commit/431024506c6f5597fe476e1283a08c9f8fa72ad7
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Remove DebugInfo files covered by more specific targets (#124138)
For example, `include/llvm/DebugInfo/DWARF/DWARFContext.h` is included
as part of both the generic "DebugInfo" target as well as the specific
"DebugInfoDWARF" target. It should only be in one. Tooling that manages
build dependencies should be more accurate now.
Commit: a7f4044bd01919df2bf2204d203ee0378e2e9fb2
https://github.com/llvm/llvm-project/commit/a7f4044bd01919df2bf2204d203ee0378e2e9fb2
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/Decl.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaStmt.cpp
A clang/test/Sema/aarch64-sme-attrs-openmp-captured-region.c
Log Message:
-----------
[clang][SME] Emit error for OpenMP captured regions in SME functions (#124590)
Currently, these generate incorrect code, as streaming/SME attributes
are not propagated to the outlined function. As we've yet to work on
mixing OpenMP and streaming functions (and determine how they should
interact with OpenMP's runtime), we think it is best to disallow this
for now.
Commit: 8353aa2a53b307bfeebb7f8592cc15bb00656c78
https://github.com/llvm/llvm-project/commit/8353aa2a53b307bfeebb7f8592cc15bb00656c78
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[llvm][Docs] Add LLDB AArch64 GCS Release note
https://github.com/llvm/llvm-project/pull/124295 just
went in and that's the last piece of functionality.
Commit: 8ea018ce1de016a2923ebc48d39abc1c06cce41e
https://github.com/llvm/llvm-project/commit/8ea018ce1de016a2923ebc48d39abc1c06cce41e
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AMDGPU/mmra.ll
Log Message:
-----------
[DAGISel] Fix MMRA Handling in copyExtraInfo (#124730)
#78569 did not implement this correctly and an edge case breaks it by
triggering `Assertion `!Leafs.empty()' failed.`
Fixes SWDEV-507698
Commit: 500a1834d92d701fea914ab5de10d82d6c90dbd9
https://github.com/llvm/llvm-project/commit/500a1834d92d701fea914ab5de10d82d6c90dbd9
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Fix some typos in vl-opt-op-info.mir test. NFC
vleN_v_incompatible_emul reassigns to %x and
vsuxeiN_v_idx_incompatible_eew has a dead instruction
Commit: 4424c44c8c4ec8e071f5c5999fba216d36fb92c9
https://github.com/llvm/llvm-project/commit/4424c44c8c4ec8e071f5c5999fba216d36fb92c9
Author: Wolfgang Pieb <wolfgang.pieb at sony.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/EHScopeStack.h
A clang/test/CodeGen/extend-variable-liveness-except.cpp
A clang/test/CodeGen/extend-variable-liveness-wide-scalar.cpp
A clang/test/CodeGen/extend-variable-liveness.c
A clang/test/CodeGen/fake-use-determinism.c
A clang/test/CodeGen/fake-use-lambda.cpp
A clang/test/CodeGen/fake-use-landingpad.c
A clang/test/CodeGen/fake-use-noreturn.cpp
A clang/test/CodeGen/fake-use-return-line.c
A clang/test/CodeGen/fake-use-sanitizer.cpp
A clang/test/CodeGen/fake-use-scalar.c
A clang/test/CodeGen/fake-use-this.cpp
A clang/test/CodeGen/fake-use-while.c
Log Message:
-----------
[Clang] Add fake use emission to Clang with -fextend-lifetimes (#110102)
Following the previous patch which adds the "extend lifetimes" flag
without (almost) any functionality, this patch adds the real feature by
allowing Clang to emit fake uses. These are emitted as a new form of cleanup,
set for variable addresses, which just emits a fake use intrinsic when the
variable falls out of scope. The code for achieving this is simple, with most
of the logic centered on determining whether to emit a fake use for a given
address, and on ensuring that fake uses are ignored in a few cases.
Co-authored-by: Stephen Tozer <stephen.tozer at sony.com>
Commit: c0861e9cbbc3b342e49a8688cdc15aa7c8e9f29a
https://github.com/llvm/llvm-project/commit/c0861e9cbbc3b342e49a8688cdc15aa7c8e9f29a
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M flang/include/flang/Tools/TargetSetup.h
M flang/runtime/exceptions.cpp
Log Message:
-----------
Revert "[flang] IEEE underflow control for Arm (#124617)"
This reverts commit c4c76eabb88f8ee5b92fa9a84452875b0cb67d0d.
This breaks LLVM build on Windows:
https://lab.llvm.org/buildbot/#/builders/161/builds/4322
Commit: e1b5826c2b9dafbdf627b2abbf0157ae12306657
https://github.com/llvm/llvm-project/commit/e1b5826c2b9dafbdf627b2abbf0157ae12306657
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[LLVM][CMake][MSVC] Wrap linker options for ICX with LLVM_BUILD_INSTUMENTED (#124573)
RFC:
https://discourse.llvm.org/t/rfc-cmake-linker-flags-need-wl-equivalent-for-intel-c-icx-on-windows/82446
The Intel C++ Compiler (ICX) passes linker flags through the driver
unlike MSVC and clang-cl, and therefore needs them to be prefixed with
`/Qoption,link` (the equivalent of `-Wl,` for gcc on *nix).
Previous PRs did not catch this because I did not try building with
`LLVM_BUILD_INSTRUMENTED=ON`.
`CMAKE_CXX_LINKER_WRAPPER_FLAG` is empty for plain clang-cl (icx on
windows behaves as clang-cl), so this is NFC for clang-cl.
Commit: afa4681ce443e88a5f196b808300fe3c133e96fd
https://github.com/llvm/llvm-project/commit/afa4681ce443e88a5f196b808300fe3c133e96fd
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
A flang/test/Integration/debug-common-block-1.f90
A flang/test/Transforms/debug-common-block.fir
M flang/test/Transforms/debug-module-1.fir
M flang/test/Transforms/debug-module-2.fir
Log Message:
-----------
[flang][debug] Add support for common blocks. (#112398)
This PR adds debug support for common block in flang. As variable which
are part of a common block don't have a special marker to recognize
them, we use the following check to find them.
%0 = fir.address_of(@a)
%1 = fir.convert %0
%2 = fir.coordinate_of %1, %c0
%3 = fir.convert %2
%4 = fircg.ext_declare %3
If the memref of a fircg.ext_declare points to a fir.coordinate_of and
that in turn points to an fir.address_of (ignoring immediate
fir.convert) then we assume that it is a common block variable. The
fir.address_of gives us the global symbol which is the storage for
common block and fir.coordinate_of provides the offset in this storage.
The debug hierarchy looks like as
subroutine f3
integer :: x, y
common /a/ x, y
end subroutine
@a_ = global { ... } { ... }, !dbg !26, !dbg !28
!23 = !DISubprogram(name: "f3"...)
!24 = !DICommonBlock(scope: !23, name: "a", ...)
!25 = !DIGlobalVariable(name: "x", scope: !24 ...)
!26 = !DIGlobalVariableExpression(var: !25, expr: !DIExpression())
!27 = !DIGlobalVariable(name: "y", scope: !24 ...)
!28 = !DIGlobalVariableExpression(var: !27, expr:
!DIExpression(DW_OP_plus_uconst, 4))
This required following changes:
1. Instead of using DIGlobalVariableAttr in the FusedLoc of GlobalOp, we
use DIGlobalVariableExpressionAttr. This allows us the generate the
DIExpression where we have the information.
2. Previously, only one DIGlobalVariableExpressionAttr could be linked
to one global op. I recently removed this restriction in mlir. To make
use of it, we add an ArrayAttr to the FusedLoc of a GlobalOp. This
allows us to pass multiple DIGlobalVariableExpressionAttr.
3. I was depending on the name of global for the name of the common
block. The name gets a '_' appended. I could not find a utility function
in flang to remove it so I have to brute force it.
Commit: 62c16d82194f4c209fe9431deddf302827d37fb4
https://github.com/llvm/llvm-project/commit/62c16d82194f4c209fe9431deddf302827d37fb4
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
A llvm/test/ExecutionEngine/MCJIT/fma3-jit.ll
A llvm/test/ExecutionEngine/MCJIT/frem.ll
A llvm/test/ExecutionEngine/MCJIT/mov64zext32.ll
A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-arithm_float.ll
A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-arithm_int.ll
A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-logical.ll
A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-setcond-fp.ll
A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-setcond-int.ll
R llvm/test/ExecutionEngine/fma3-jit.ll
R llvm/test/ExecutionEngine/frem.ll
R llvm/test/ExecutionEngine/mov64zext32.ll
R llvm/test/ExecutionEngine/test-interp-vec-arithm_float.ll
R llvm/test/ExecutionEngine/test-interp-vec-arithm_int.ll
R llvm/test/ExecutionEngine/test-interp-vec-logical.ll
R llvm/test/ExecutionEngine/test-interp-vec-setcond-fp.ll
R llvm/test/ExecutionEngine/test-interp-vec-setcond-int.ll
Log Message:
-----------
[MCJIT][test] Move MCJIT non-interpreter tests to MCJIT subdirectory (#124463)
Moving to the MCJIT subdirectory means they can be gated by a common
lit.local.cfg. I remove the `; UNSUPPORTED: target=loongarch{{.*}}`
lines because of this (as the logic in `MCJIT/lit.local.cfg` should be
sufficient).
The move is motivated by my desire to enable more of these tests for
RISCV, and it seems like it would be wrong to keep extending the
`UNSUPPORTED` lines for these individual tests.
This patch does not move the MCJIT tests in the top-level directory that
do `-force-interpreter=true`.
Commit: 8ad9e1ecb7e565c2f99b4ef67517d1f37d1c80d0
https://github.com/llvm/llvm-project/commit/8ad9e1ecb7e565c2f99b4ef67517d1f37d1c80d0
Author: Stephen Tozer <Stephen.Tozer at sony.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGDecl.cpp
M clang/test/CodeGen/fake-use-sanitizer.cpp
Log Message:
-----------
[Clang] Fix use of deprecated method and missing triple
Fixes two buildbot errors caused by 4424c44c (#110102):
The first error, seen on some sanitizer bots:
https://lab.llvm.org/buildbot/#/builders/51/builds/9901
The initial commit used the deprecated getDeclaration intrinsic instead
of the non-deprecated getOrInsert- equivalent. This patch trivially
updates the code in question to use the new intrinsic.
The second error, seen on the clang-armv8-quick bot:
https://lab.llvm.org/buildbot/#/builders/154/builds/10983
One of the tests depends on a particular triple to get the exact output
expected by the test, but did not specify this triple; this patch adds
the triple in question.
Commit: 606cf887416ba2f136f3104ac12469fc81f73968
https://github.com/llvm/llvm-project/commit/606cf887416ba2f136f3104ac12469fc81f73968
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/test/ExecutionEngine/lit.local.cfg
Log Message:
-----------
[ExecutionEngine][test][RISCV] Don't mark RISCV as unsupported (#124464)
Although MCJIT is unsupported, we can and should be running the other
tests. Stacks on top of #124463 (needed to avoid unsupported MCJIT tests
in the top-level test/ExecutionEngine directory running when they
shouldn't).
This effectively reverts b8feeba0b407e703385738af7e415d0c8972a420.
ninja check-llvm-executionengine before:
Total Discovered Tests: 335
Unsupported: 335 (100.00%)
ninja check-llvm-executionengine after:
Total Discovered Tests: 335
Unsupported : 125 (37.31%)
Passed : 209 (62.39%)
Expectedly Failed: 1 (0.30%)
Commit: 015aed18ee357ee6db4e72cba2e65aeaafa333c9
https://github.com/llvm/llvm-project/commit/015aed18ee357ee6db4e72cba2e65aeaafa333c9
Author: abhishek-kaushik22 <abhishek.kaushik at intel.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
A llvm/test/CodeGen/X86/pr124255.ll
Log Message:
-----------
[SelectionDAG] WidenVecOp_INSERT_SUBVECTOR - Replace `INSERT_SUBVECTOR` with series of `INSERT_VECTOR_ELT` (#124420)
If the operands to `INSERT_SUBVECTOR` can't be widened legally, just
replace the `INSERT_SUBVECTOR` with a series of `INSERT_VECTOR_ELT`.
Closes #124255 (and possibly #102016)
Commit: 13dcc95dcd4999ff99f2de89d881f1aed5b21709
https://github.com/llvm/llvm-project/commit/13dcc95dcd4999ff99f2de89d881f1aed5b21709
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/test/CodeGenCUDA/offloading-entries.cu
M clang/test/Driver/linker-wrapper-image.c
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/declare_target_codegen.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/nvptx_target_requires_unified_shared_memory.cpp
M clang/test/OpenMP/openmp_offload_registration.cpp
M clang/test/OpenMP/target_codegen.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_depend_codegen.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_simd_codegen.cpp
M clang/test/OpenMP/target_simd_codegen_registration.cpp
M clang/test/OpenMP/target_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_codegen_registration.cpp
M clang/test/OpenMP/target_teams_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
M offload/include/PluginManager.h
M offload/src/PluginManager.cpp
M offload/test/offloading/requires.c
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
M openmp/docs/ReleaseNotes.rst
Log Message:
-----------
[Offload] Rework offloading entry type to be more generic (#124018)
Summary:
The previous offloading entry type did not fit the current use-cases
very well. This widens it and adds a version to prevent further
annoyances. It also includes the kind to better sort who's using it.
The first 64-bytes are reserved as zero so the OpenMP runtime can detect
the old format for binary compatibilitry.
Commit: e84f6b6a88c1222d512edf0644c8f869dd12b8ef
https://github.com/llvm/llvm-project/commit/e84f6b6a88c1222d512edf0644c8f869dd12b8ef
Author: Luohao Wang <luohaothu at live.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/PrintCallHelper.h
M mlir/include/mlir/Dialect/LLVMIR/FunctionCallUtils.h
M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/LLVMCommon/PrintCallHelper.cpp
M mlir/lib/Conversion/MemRefToLLVM/AllocLikeConversion.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp
M mlir/test/Conversion/MemRefToLLVM/invalid.mlir
Log Message:
-----------
[mlir] Fix conflict of user defined reserved functions with internal prototypes (#123378)
On lowering from `memref` to LLVM, `malloc` and other intrinsic
functions from `libc` will be declared in the current module. User's
redefinition of these reserved functions will poison the internal
analysis with wrong prototype. This patch adds assertion on the found
function's type and reports if it mismatch with the intended type.
Related to #120950
---------
Co-authored-by: Luohao Wang <Luohaothu at users.noreply.github.com>
Commit: 1d5fbe83c3bcdd27a8ce1d57a68fb7be35e6cbbf
https://github.com/llvm/llvm-project/commit/1d5fbe83c3bcdd27a8ce1d57a68fb7be35e6cbbf
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/resized-bv-values-non-power-of2-node.ll
Log Message:
-----------
[SLP]Adjust NumberOfParts value for adjusted number of buildvector scalars
Need to adjust NumParts value, when GatheredScalars scalars are adjusted
after extractelements analysis, to fix compiler crash
Commit: 0cf6714279d4146ee5d6a5e34195d6fae56ed475
https://github.com/llvm/llvm-project/commit/0cf6714279d4146ee5d6a5e34195d6fae56ed475
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp
Log Message:
-----------
[lldb][AArch64] Fix GCS register field detection
Fixes c5840cc609a3674cf7453a45946f7e4a2a73590b.
On platforms where UL is 32 bit, like Windows or 32 bit Linux,
this shift was not correct, so we assumed GCS was not present.
Use ULL instead, to match the other HWCAP constants.
Commit: 11db7fb09b36e656a801117d6a2492133e9c2e46
https://github.com/llvm/llvm-project/commit/11db7fb09b36e656a801117d6a2492133e9c2e46
Author: Renat Idrisov <4032256+parsifal-47 at users.noreply.github.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-memory-metadata.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-split-scalar-load-metadata.mir
A llvm/test/MachineVerifier/test_g_incompatible_range.mir
Log Message:
-----------
[GlobalISel] Catching inconsistencies in load memory, result, and range metadata type (#121247)
This is a fix for:
https://github.com/llvm/llvm-project/issues/97290
Please let me know if that is the right way to address the issue. Thank
you!
---------
Co-authored-by: Renat Idrisov <parsifal-47 at users.noreply.github.com>
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 37b595cb3715fb8c453c0d3981d6c4f4d208d372
https://github.com/llvm/llvm-project/commit/37b595cb3715fb8c453c0d3981d6c4f4d208d372
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
[gn] port b968fd950266 (BuiltinsNVPTX.td)
Commit: 22687aa97bdae2f0ea0be9baf208247c18d69c06
https://github.com/llvm/llvm-project/commit/22687aa97bdae2f0ea0be9baf208247c18d69c06
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.cpp
A llvm/test/CodeGen/X86/fake-use-remove-loads.mir
Log Message:
-----------
[CodeGen] Correctly handle non-standard cases in RemoveLoadsIntoFakeUses (#111551)
In the RemoveLoadsIntoFakeUses pass, we try to remove loads that are
only used by fake uses, as well as the fake use in question. There are
two existing errors with the pass however: it incorrectly examines every
operand of each FAKE_USE, when only the first is relevant (extra
operands will just be "killed" regs assigned by a previous pass), and it
ignores cases where the FAKE_USE register is not an exact match for the
loaded register, which is incorrect as regalloc may choose to load a
wider value than the FAKE_USE required pre-regalloc. This patch fixes
both of these cases.
Commit: a1ab5b4c87256ce7e99d6fd4bd0c62641e6ce853
https://github.com/llvm/llvm-project/commit/a1ab5b4c87256ce7e99d6fd4bd0c62641e6ce853
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/ARM/main-gep-with-non-matching-reqs.ll
Log Message:
-----------
[SLP]Check the MainOp matches the requirements for the instructions
Need to include MainOp into the analysis of the instructions in
getSameOpcode to be sure that it is checked for the requirements to
prevent crashes during further analysis.
Commit: 79499f010d2bfe809187a9a5f042d4e4ee1f1bcc
https://github.com/llvm/llvm-project/commit/79499f010d2bfe809187a9a5f042d4e4ee1f1bcc
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Instruction.cpp
Log Message:
-----------
[NFC][DebugInfo] Deprecate iterator-taking moveBefore and getFirstNonPHI (#124290)
The RemoveDIs project [0] makes debug intrinsics obsolete and to support
this instruction iterators carry an extra bit of debug information. To
maintain debug information accuracy insertion needs to be performed with a
BasicBlock::iterator rather than with Instruction pointers, otherwise the
extra bit of debug information is lost.
To that end, we're deprecating getFirstNonPHI and moveBefore for
instruction pointers. They're replaced by getFirstNonPHIIt and an
iterator-taking moveBefore: switching to the replacement is
straightforwards, and 99% of call-sites need only to unwrap the iterator
with &* or call getIterator() on an Instruction pointer.
The exception is when inserting instructions at the start of a block: if
you call getFirstNonPHI() (or begin() or getFirstInsertionPt()) and then
insert something at that position, you must pass the BasicBlock::iterator
returned into the insertion method. Unwrapping with &* and then calling
getIterator strips the debug-info bit we wish to preserve. Please do
contact us about any use case that's confusing or unclear [1].
[0] https://llvm.org/docs/RemoveDIsDebugInfo.html
[1] https://discourse.llvm.org/t/psa-ir-output-changing-from-debug-intrinsics-to-debug-records/79578
Commit: 4bd2307a2085f0ace05e0b1b11c1c47ff3870110
https://github.com/llvm/llvm-project/commit/4bd2307a2085f0ace05e0b1b11c1c47ff3870110
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[clang][ExprConst] Don't diagnose a non-existent init as not constant (#124575)
This test:
```c++
extern Swim& trident; // expected-note {{declared here}}
constexpr auto& gallagher = typeid(trident); // expected-error {{constexpr variable 'gallagher' must be initialized by a constant expression}}
// expected-note at -1 {{initializer of 'trident' is not a constant expression}}
```
diagnosed the initializer of `trident` as not constant, but `trident`
doesn't even have an initializer. Remove that diagnostic in this case.
Commit: 3a975d697f11b5cccda2f2778c3792c179eecb74
https://github.com/llvm/llvm-project/commit/3a975d697f11b5cccda2f2778c3792c179eecb74
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
[gn] port 7e22180c20f (BuiltinsHexagon.td)
Commit: 78b5bb702fe97fe85f66d72598d0dfa7c49fe001
https://github.com/llvm/llvm-project/commit/78b5bb702fe97fe85f66d72598d0dfa7c49fe001
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_subnormal_config.h
A libclc/clc/include/clc/math/math.h
A libclc/clc/include/clc/math/tables.h
M libclc/clspv/lib/math/fma.cl
M libclc/clspv/lib/subnormal_config.cl
R libclc/generic/include/config.h
M libclc/generic/include/math/clc_ldexp.h
M libclc/generic/lib/math/acos.cl
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/acospi.cl
M libclc/generic/lib/math/asin.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/asinpi.cl
M libclc/generic/lib/math/atan.cl
M libclc/generic/lib/math/atan2.cl
M libclc/generic/lib/math/atan2pi.cl
M libclc/generic/lib/math/atanh.cl
M libclc/generic/lib/math/atanpi.cl
M libclc/generic/lib/math/cbrt.cl
M libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/clc_fma.cl
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_hypot.cl
M libclc/generic/lib/math/clc_ldexp.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_remainder.cl
M libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/clc_tan.cl
M libclc/generic/lib/math/clc_tanpi.cl
M libclc/generic/lib/math/cos.cl
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/cospi.cl
M libclc/generic/lib/math/ep_log.cl
M libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/erf.cl
M libclc/generic/lib/math/erfc.cl
M libclc/generic/lib/math/exp.cl
M libclc/generic/lib/math/exp2.cl
M libclc/generic/lib/math/exp_helper.cl
M libclc/generic/lib/math/expm1.cl
M libclc/generic/lib/math/fdim.cl
M libclc/generic/lib/math/fma.cl
M libclc/generic/lib/math/ilogb.cl
M libclc/generic/lib/math/ldexp.cl
M libclc/generic/lib/math/lgamma_r.cl
M libclc/generic/lib/math/log10.cl
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/log2.cl
M libclc/generic/lib/math/log_base.h
M libclc/generic/lib/math/logb.cl
R libclc/generic/lib/math/math.h
M libclc/generic/lib/math/modf.cl
M libclc/generic/lib/math/sin.cl
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
M libclc/generic/lib/math/sinh.cl
M libclc/generic/lib/math/sinpi.cl
M libclc/generic/lib/math/tables.cl
R libclc/generic/lib/math/tables.h
M libclc/generic/lib/math/tanh.cl
M libclc/generic/lib/math/tgamma.cl
M libclc/generic/lib/subnormal_config.cl
M libclc/r600/lib/math/fmax.cl
M libclc/r600/lib/math/fmin.cl
M libclc/spirv/lib/subnormal_config.cl
M libclc/spirv64/lib/subnormal_config.cl
Log Message:
-----------
[libclc][NFC] Move key math headers to CLC (#124739)
Commit: 820c6ac7f5e438cc268ecb1fa2c6b17f0d168000
https://github.com/llvm/llvm-project/commit/820c6ac7f5e438cc268ecb1fa2c6b17f0d168000
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
A clang/test/CodeGenCXX/gh119046.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] call HandleImmediateInvocation before checking for immediate escacalating expressions (reland) (#124708)
HandleImmediateInvocation can call MarkExpressionAsImmediateEscalating
and should always be called before
CheckImmediateEscalatingFunctionDefinition.
However, we were not doing that in `ActFunctionBody`.
Fixes #119046
Commit: 3007f31e7458442cafb7fbd7f5c8b7228b5bd98e
https://github.com/llvm/llvm-project/commit/3007f31e7458442cafb7fbd7f5c8b7228b5bd98e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
A llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll
Log Message:
-----------
[LoopUnroll] Add AArch64 tests for multi-exit loop unrolling.
Test coverage to https://github.com/llvm/llvm-project/pull/124751.
Commit: ee1c6a6bc15091155f294d62d0ab67f75a90b7fb
https://github.com/llvm/llvm-project/commit/ee1c6a6bc15091155f294d62d0ab67f75a90b7fb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
A llvm/test/MachineVerifier/AMDGPU/test_g_incompatible_range.mir
R llvm/test/MachineVerifier/test_g_incompatible_range.mir
Log Message:
-----------
MachineVerifier: Move test into AMDGPU directory
Fixes failures for builds without AMDGPU enabled for test
added in 11db7fb09b36e656a801117d6a2492133e9c2e46
Commit: 6cb71d7e85d551ce71ba0f7c33fd94cb35a5a966
https://github.com/llvm/llvm-project/commit/6cb71d7e85d551ce71ba0f7c33fd94cb35a5a966
Author: David Truby <david.truby at arm.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
R flang/test/HLFIR/unroll-loops.fir
M flang/test/Integration/unroll-loops.f90
A flang/test/Lower/HLFIR/unroll-loops.fir
Log Message:
-----------
[flang][NFC] Restrict -funroll-loops tests to known working targets (#124594)
If -funroll-loops tests are not restricted to specific targets the tests
may behave differently based on the host platform. This patch restricts
the tests to aarch64 and x86_64, and removes the PowerPC XFAIL.
Commit: 9d8d538e40ef040cb53e8db7a32f3024865187f3
https://github.com/llvm/llvm-project/commit/9d8d538e40ef040cb53e8db7a32f3024865187f3
Author: Romaric Jodin <rjodin at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M libclc/clc/lib/clspv/SOURCES
Log Message:
-----------
libclc: clspv: add missing clc_isnan.cl dependency (#124614)
clc_isnan.cl is needed since
https://github.com/llvm/llvm-project/pull/124097
Commit: 68d90cff580fe181ad28247584d32837f3b9940e
https://github.com/llvm/llvm-project/commit/68d90cff580fe181ad28247584d32837f3b9940e
Author: Daniil Fukalov <dfukalov at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.buffer.load.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Fix assert on APInt creation. (#124608)
Since 3494ee95902cef62f767489802e469c58a13ea04 APInt stopped to
implicitly truncate values, therefore it asserts on a big signed value
converted to (implicitly) unsigned APInt.
The change explicitly marks offset as a signed value.
Commit: 7d172f96ff2c4c7cf5c428b79a3c18e067ce0079
https://github.com/llvm/llvm-project/commit/7d172f96ff2c4c7cf5c428b79a3c18e067ce0079
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[CostModel][X86] getShuffleCosts - convert all shuffle cost tables to be CostKind compatible. NFC. (#124753)
No change in actual costs yet, but split the costs per cost kind to make it easier to tweak the numbers in future patches.
Commit: 2abde54aabc4b8878a5665e4d70a0525e9041456
https://github.com/llvm/llvm-project/commit/2abde54aabc4b8878a5665e4d70a0525e9041456
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[gn build] Port de4bbbfdccb6
Commit: a0b049055df592759e4ac1d8032139f385581c63
https://github.com/llvm/llvm-project/commit/a0b049055df592759e4ac1d8032139f385581c63
Author: Venkata Ramanaiah Nalamothu <quic_vnalamot at quicinc.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
A llvm/test/CodeGen/RISCV/debug-line.ll
M llvm/test/CodeGen/RISCV/kcfi-mir.ll
M llvm/test/CodeGen/RISCV/live-sp.mir
M llvm/test/CodeGen/RISCV/rvv/addi-scalable-offset.mir
M llvm/test/CodeGen/RISCV/rvv/emergency-slot.mir
M llvm/test/CodeGen/RISCV/stack-inst-compress.mir
M llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir
M llvm/test/CodeGen/RISCV/zcmp-cm-push-pop.mir
M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
Log Message:
-----------
[RISC-V] Fix incorrect epilogue_begin setting in debug line table (#120623)
The DwarfDebug.cpp implementation expects the epilogue instructions to
have source location of last non-debug instruction after which the epilogue
instructions are inserted. The epilogue_begin is set on location of the first
FrameDestroy instruction with source line information that has been seen in
the epilogue basic block.
In the trunk, the risc-v backend sets the epilogue_begin after the epilogue has
actually begun i.e. after callee saved register reloads and the source line
information is not set on those reload instructions. This is leading to #120553
where, while debugging, breaking on or single stepping to the epilogue_begin
location will make accessing the variables from wrong place as the FP has been
restored to the parent frame's FP.
To fix that, this patch sets FrameSetup/FrameDestroy flags on the callee saved
register spill/reload instructions which is actually correct. Then the
RISCVInstrInfo::loadRegFromStackSlot uses FrameDestroy flag to identify a
reload of the callee saved register in the epilogue and copies the source
line information from insert position instruction to that reload instruction.
Requires PR #120622
Fixes #120553
Commit: d459784cbea334d167b2dca48e0c26115c68e5d3
https://github.com/llvm/llvm-project/commit/d459784cbea334d167b2dca48e0c26115c68e5d3
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
[IR][SPIR-V] Replace of PointerType::get(Type) with opaque version (NFC) (#124755)
Commit: 75622e3f8d9d18de693988f95c44a0011de9208f
https://github.com/llvm/llvm-project/commit/75622e3f8d9d18de693988f95c44a0011de9208f
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/examples/toy/Ch4/mlir/ShapeInferencePass.cpp
M mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch5/mlir/ShapeInferencePass.cpp
M mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
M mlir/examples/toy/Ch6/mlir/ShapeInferencePass.cpp
M mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
M mlir/examples/toy/Ch7/mlir/ShapeInferencePass.cpp
Log Message:
-----------
[MLIR] Define `getArgument()` for Toy tutorial passes
This is important during debugging to be able to dump a pass pipeline.
It is also what is used by `--mlir-print-ir-tree-dir` to compute filenames
during dumps.
Commit: 48df9480dab57f99aa466ade1df6c46e71da25b5
https://github.com/llvm/llvm-project/commit/48df9480dab57f99aa466ade1df6c46e71da25b5
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
[NFC] Suppress spurious deprecation warning with MSVC (#124764)
gcc and clang won't complain about calls to deprecated functions, if
you're calling from a function that is deprecated too. However, MSVC
does care, and expands into maaany deprecation warnings for
getFirstNonPHI.
Suppress this by converting the inlineable copy of getFirstNonPHI into a
non-inline copy.
Commit: e38f4f6904b774dfdd90d78c3fb282f8cc9d07c1
https://github.com/llvm/llvm-project/commit/e38f4f6904b774dfdd90d78c3fb282f8cc9d07c1
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/ast-dump-decl.c
M clang/test/AST/ast-dump-records.c
M clang/test/AST/ast-dump-records.cpp
M clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
M clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
M clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
M clang/test/AST/attr-counted-by-struct-ptrs.c
M clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
M clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
M clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
M clang/test/AST/attr-sized-by-struct-ptrs.c
M clang/test/Import/cxx-anon-namespace/test.cpp
M clang/test/Modules/odr_hash.cpp
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/deduction-crash.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
Revert "[clang] improve print / dump of anonymous declarations (#124605)"
This reverts commit f949f876daeda520a5b7dbeb2cbb35b8c4383acb.
This commit introduces an llvm_unreachable call that is actually
reachable. I posted a reproducer on the pull request discussion.
Commit: 8ce0d05b88f3369ba99866195f587a58a2d75f4c
https://github.com/llvm/llvm-project/commit/8ce0d05b88f3369ba99866195f587a58a2d75f4c
Author: c8ef <c8ef at outlook.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M libc/include/spawn.yaml
Log Message:
-----------
[libc] Revise the definition of `posix_spawn`. (#124686)
Closes #124635.
Some parameter types in the definition of `posix_spawn` currently do not
match the standard. This patch resolves the issue.
ref: https://man7.org/linux/man-pages/man3/posix_spawn.3.html
Commit: a8c82d5fde1dab47a1a3fe27bb8ced8f0eb33ab9
https://github.com/llvm/llvm-project/commit/a8c82d5fde1dab47a1a3fe27bb8ced8f0eb33ab9
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M libclc/clc/include/clc/relational/relational.h
M libclc/clc/lib/generic/relational/clc_isfinite.cl
M libclc/clc/lib/generic/relational/clc_isinf.cl
M libclc/clc/lib/generic/relational/clc_isnan.cl
M libclc/clc/lib/generic/relational/clc_isnormal.cl
M libclc/clc/lib/generic/relational/clc_signbit.cl
Log Message:
-----------
[libclc] Optimize isfpclass-like CLC builtins (#124145)
The builtins we were using to implement __clc_is(finite|inf|nan|normal)
-- __builtin_isfinite, etc. -- don't take vector types so we were
previously scalarizing. The __builtin_isfpclass builtin does take vector
types and thus allows us to keep things in vectors.
There is no change in codegen to the scalar versions of any of these
builtins.
Commit: 5a8fe9e9a777094dba05bdaca8f2dd83af183a0f
https://github.com/llvm/llvm-project/commit/5a8fe9e9a777094dba05bdaca8f2dd83af183a0f
Author: c8ef <c8ef at outlook.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M libc/include/sys/resource.yaml
Log Message:
-----------
[libc] Revise the definition of `{get, set}rlimit`. (#124701)
Closes #124633.
Some parameter types in the definition of `{get, set}rlimit` currently
do not match the standard. This patch resolves the issue.
ref: https://man7.org/linux/man-pages/man2/getrlimit.2.html
Commit: a58e774fba42e13aa00667d644e96b783fc914b4
https://github.com/llvm/llvm-project/commit/a58e774fba42e13aa00667d644e96b783fc914b4
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeDepthwise.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-depthwise.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir
Log Message:
-----------
[mlir][tosa] Make TOSA MUL's Shift an Input (#121953)
The TOSA-v1.0 specification makes the shift attribute of the MUL
(Hammard product) operator an input. Move the `shift` parameter of the
MUL operator in the MILR TOSA dialect from an attribute to an input and
update any lit tests appropriately.
Expand the verifier of the `tosa::MulOp` operation to check the various
constraints defined in the TOSA-v1.0 specification. Specifically, ensure
that all input operands (excluding the optional shift) are of the same
rank. This means that broadcasting tests which previously checked rank-0
tensors would be broadcast are no longer valid and are removed.
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Co-authored-by: TatWai Chong <tatwai.chong at arm.com>
Commit: df122fc734ce002632f3bfe8a5fc5010349dba16
https://github.com/llvm/llvm-project/commit/df122fc734ce002632f3bfe8a5fc5010349dba16
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
M llvm/unittests/Target/SPIRV/CMakeLists.txt
M llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp
Log Message:
-----------
[SPIR-V] Change a way SPIR-V Backend API works with user facing options (#124745)
This PR fixes https://github.com/llvm/llvm-project/issues/124703:
* added a new API call `SPIRVTranslate` that is to replace entirely old
`SPIRVTranslateModule` after existing clients switch into the new
function;
* the new `SPIRVTranslate` doesn't require option parsing, replacing the
`Opts` argument with explicit `CodeGenOptLevel` and `Triple` arguments;
* the old `SPIRVTranslateModule` call is a wrapper for `SPIRVTranslate`,
it doesn't require option parsing either and doesn't hold any logic
inside except for converting string options into `CodeGenOptLevel` and
`Triple` arguments;
* usage of the extensions list is reworked to avoid writes to the global
cl::opt variable `lib/Target/SPIRV/SPIRVSubtarget.cpp::Extensions` --
instead a new class member in SPIRVSubtarget.cpp is implemented that
allows to replace supported extensions after SPIRVSubtarget.cpp is
created;
* both API calls don't require option parsing and don't write to global
cl::opt variables.
Other related/required changes:
* SPIRV::Capability::Shader is marked as an capability of lesser
priority for OpenCL environment (to remediate absence of the
"avoid-spirv-capabilities" command line option in API calls);
* unit tests are updated and extended to cover testing of a newer API
call;
* old API call is marked with TODO to remove it after existing clients
switch into the new function.
Commit: 56a0a7f6d188b13be69962654f068dc01dfd37b5
https://github.com/llvm/llvm-project/commit/56a0a7f6d188b13be69962654f068dc01dfd37b5
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Adding support for more atomic calls (#124671)
The PR follows the earlier
https://github.com/llvm/llvm-project/pull/123840 PR for atomic operation
support in CUF
Commit: 648912582ccb9bda36427244957843fbdd95abaf
https://github.com/llvm/llvm-project/commit/648912582ccb9bda36427244957843fbdd95abaf
Author: c8ef <c8ef at outlook.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M libc/include/llvm-libc-macros/unistd-macros.h
Log Message:
-----------
[libc] Add `FILENO` related macros to `unistd.h`. (#124688)
Closes #124637.
This is necessary to build LLVM with LLVM-libc and align the behavior
with other libc implementations.
ref: https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/unistd.h.html
Commit: f388ca3d9d9a58e3d189458b590ba68dfd9e5a2d
https://github.com/llvm/llvm-project/commit/f388ca3d9d9a58e3d189458b590ba68dfd9e5a2d
Author: c8ef <c8ef at outlook.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Support/Unix/Path.inc
Log Message:
-----------
[NFC] Remove redundant `sys/file.h` header. (#124684)
Closes #124652.
This header was introduced in
https://github.com/llvm/llvm-project/commit/536736995bf5d073853c7e884968c9847b4ae64d,
but it appears that including only `fnctl.h` should be enough.
Hopefully, this patch will not cause build issues on other Unix
platforms.
Commit: ef92e6b99fc2a881f70c4e21bbdd6ae7a0c446c8
https://github.com/llvm/llvm-project/commit/ef92e6b99fc2a881f70c4e21bbdd6ae7a0c446c8
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/test/CodeGen/allow-ubsan-check.c
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
Log Message:
-----------
[BoundsChecking] Update ubsantrap to use GuardKind (#124613)
This change makes it consistent with other uses of ubsantrap.
This also updates the tests. Notably, BoundsChecking/runtimes.ll had guard=3 which passed only because the method of calculating the parameter (`IRB.GetInsertBlock()->getParent()->size()`) happened to give the same answer.
Commit: d76ea250c8b91f59664594b92eb5ab966eb8be90
https://github.com/llvm/llvm-project/commit/d76ea250c8b91f59664594b92eb5ab966eb8be90
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-cmp.ll
Log Message:
-----------
Reland [InstCombine] Teach foldSelectOpOp about samesign (#124320)
Changes: There was a serious bug in the previous patch, leading to a
miscompile. See #122723 for the miscompile report from Alexander, and
the follow-up investigation by Nikita. The patch has since been
reworked, and now includes the testcase from the miscompile.
Follow up on 4a0d53a (PatternMatch: migrate to CmpPredicate) to get rid
of one of the FIXMEs it introduced by replacing a predicate comparison
with CmpPredicate::getMatching.
Co-authored-by: Nikita Popov <npopov at redhat.com>
Commit: a080498c92e4c00f099dab1a3d5dac48f14b7492
https://github.com/llvm/llvm-project/commit/a080498c92e4c00f099dab1a3d5dac48f14b7492
Author: lntue <lntue at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M libc/utils/MPFRWrapper/CMakeLists.txt
Log Message:
-----------
[libc] Update include directory for libcMPCommon target when LLVM_LIBC_MPFR_INSTALL_PATH is set. (#124765)
Fix the current riscv32 bot failures.
Commit: 822954b4a97753b0c7accc606287529518e9d425
https://github.com/llvm/llvm-project/commit/822954b4a97753b0c7accc606287529518e9d425
Author: gbMattN <146744444+gbMattN at users.noreply.github.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
A clang/docs/TypeSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/index.rst
Log Message:
-----------
[TySan] Add initial documentation for Type Sanitizer (#123595)
Add some initial documentation for type sanitizer [From issue #122522]
Commit: 1bc5fe669f5477eadd84270e971591a718693bba
https://github.com/llvm/llvm-project/commit/1bc5fe669f5477eadd84270e971591a718693bba
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/python/mlir/dialects/linalg/__init__.py
M mlir/test/python/dialects/linalg/ops.py
Log Message:
-----------
[mlir][python] implement GenericOp bindings (#124496)
Commit: 947d8ebbf33724245bd419d7b5f750d6aef1057e
https://github.com/llvm/llvm-project/commit/947d8ebbf33724245bd419d7b5f750d6aef1057e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
Log Message:
-----------
[SLP]Unify getNumberOfParts use
Adds getNumberOfParts and uses it instead of similar code across code
base, fixes analysis of non-vectorizable types in
computeMinimumValueSizes.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/124774
Commit: 2f077dfbdf769d2e568ccdcda0e1937af046f81f
https://github.com/llvm/llvm-project/commit/2f077dfbdf769d2e568ccdcda0e1937af046f81f
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
A flang/test/HLFIR/getextent-codegen.fir
Log Message:
-----------
[flang] Support non-index shape in hlfir.get_extent codegen. (#124622)
hlfir.reshape inlining uncovered an existing bug that non-index shapes
result in failures during hlfir.get_extent conversion to FIR.
I could have "fixed" the shape during hlfir.reshape inlining,
but this seems like a better fix.
Commit: 9dd762e8b10586e749b0ddf3542e5dccf8392395
https://github.com/llvm/llvm-project/commit/9dd762e8b10586e749b0ddf3542e5dccf8392395
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/include/mlir-c/BuiltinAttributes.h
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/CAPI/IR/BuiltinAttributes.cpp
M mlir/test/python/dialects/builtin.py
M mlir/test/python/ir/array_attributes.py
M mlir/test/python/ir/attributes.py
Log Message:
-----------
[mlir][python] allow DenseIntElementsAttr for index type (#118947)
Model the `IndexType` as `uint64_t` when converting to a python integer.
With the python bindings,
```python
DenseIntElementsAttr(op.attributes["attr"])
```
used to `assert` when `attr` had `index` type like `dense<[1, 2, 3, 4]>
: vector<4xindex>`.
---------
Co-authored-by: Christopher McGirr <christopher.mcgirr at amd.com>
Co-authored-by: Tiago Trevisan Jost <tiago.trevisanjost at amd.com>
Commit: 1b729c3d70cecd89504927fed56498f851f0d74d
https://github.com/llvm/llvm-project/commit/1b729c3d70cecd89504927fed56498f851f0d74d
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/include/mlir-c/BuiltinAttributes.h
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/CAPI/IR/BuiltinAttributes.cpp
M mlir/test/python/dialects/builtin.py
M mlir/test/python/ir/array_attributes.py
M mlir/test/python/ir/attributes.py
Log Message:
-----------
Revert "[mlir][python] allow DenseIntElementsAttr for index type (#118947)"
This reverts commit 9dd762e8b10586e749b0ddf3542e5dccf8392395.
Commit: 0b80491cd5e7dcb6d5432727d0a2c746a9a9438e
https://github.com/llvm/llvm-project/commit/0b80491cd5e7dcb6d5432727d0a2c746a9a9438e
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/convert-to-llvm.fir
Log Message:
-----------
[flang] Support non-index shape/shift/slice for CG box operations. (#124625)
That is another problem uncovered during hlfir.reshape inlining,
where the shape bits could be any integer type.
This patch adds explicit convertions to `index` type where needed.
Commit: bb95335982774c187984c4465202242b9d70cdb3
https://github.com/llvm/llvm-project/commit/bb95335982774c187984c4465202242b9d70cdb3
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M libclc/generic/lib/math/clc_ldexp.cl
Log Message:
-----------
[libclc][NFC] Clang-format includes
Commit: 17d1523207c6d5fb6b1b47ccf0406a0bb58cb38d
https://github.com/llvm/llvm-project/commit/17d1523207c6d5fb6b1b47ccf0406a0bb58cb38d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/nvptxintrin.h
Log Message:
-----------
[Clang] Minor fixes to 'gpuintrin.h' header
Summary:
The bitmask gives different results to the AMDGPU implementation so it's
not needed. Also fix some comments and casts.
Commit: 063db51cd4467b0ec5d76e4fd41b056a82401278
https://github.com/llvm/llvm-project/commit/063db51cd4467b0ec5d76e4fd41b056a82401278
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll
Log Message:
-----------
Reapply "[msan] Add handlers for AVX masked load/store intrinsics (#123857)"
This reverts commit b9d301cc7e4fe4c442ec15169686fa4a18f5cdfc i.e.,
relands db79fb2a91df31a07f312f8e061936927ac5c506.
I had mistakenly thought this caused a buildbot breakage (the actual
culprit was my other patch,
https://github.com/llvm/llvm-project/pull/123980, which landed at the
same time) and thus had reverted it even though AFAIK it is not broken.
Commit: cfdd937b30acc007016ebbe4afab7bb4d6449e0a
https://github.com/llvm/llvm-project/commit/cfdd937b30acc007016ebbe4afab7bb4d6449e0a
Author: Brad Smith <brad at comstyle.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Support/Unix/Threading.inc
Log Message:
-----------
[llvm] Android has sched_getaffinity() now (#124689)
Commit: 822f74a91106b7ca10e85508eb642e62ef945afa
https://github.com/llvm/llvm-project/commit/822f74a91106b7ca10e85508eb642e62ef945afa
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGen/fake-use-sanitizer.cpp
M clang/test/CodeGen/fake-use-this.cpp
M clang/test/Driver/extend-variable-liveness.c
M llvm/test/CodeGen/MIR/X86/fake-use-tailcall.mir
M llvm/test/CodeGen/X86/fake-use-simple-tail-call.ll
M llvm/test/CodeGen/X86/fake-use-zero-length.ll
M llvm/test/DebugInfo/AArch64/fake-use-global-isel.ll
M llvm/test/DebugInfo/X86/fake-use.ll
M llvm/test/Transforms/CodeGenPrepare/X86/fake-use-split-ret.ll
M llvm/test/Transforms/GVN/fake-use-constprop.ll
Log Message:
-----------
[Clang] Cleanup docs and comments relating to -fextend-variable-liveness (#124767)
This patch contains a number of changes relating to the above flag;
primarily it updates comment references to the old flag names,
"-fextend-lifetimes" and "-fextend-this-ptr" to refer to the new names,
"-fextend-variable-liveness[={all,this}]". These changes are all NFC.
This patch also removes the explicit -fextend-this-ptr-liveness flag
alias, and shortens the help-text for the main flag; these are both
changes that were meant to be applied in the initial PR (#110000), but
due to some user-error on my part they were not included in the merged
commit.
Commit: 8578b816fa9050c33561f06d631459e12645953a
https://github.com/llvm/llvm-project/commit/8578b816fa9050c33561f06d631459e12645953a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[Driver] Fix a build error
This patch fixes:
clang/include/clang/Driver/Options.td:4356:3: error: Expected comma
before next argument
Commit: a4d17c44f14984f8f031d0715ea4d1387e96b741
https://github.com/llvm/llvm-project/commit/a4d17c44f14984f8f031d0715ea4d1387e96b741
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/lib/Sema/HeuristicResolver.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
Log Message:
-----------
[clang][Sema] Generalize HeuristicResolver::resolveTypeToRecordDecl() to resolveTypeToTagDecl() (#124699)
Commit: b108fbe6ea4247e5a3019a4facf611d5a42d465c
https://github.com/llvm/llvm-project/commit/b108fbe6ea4247e5a3019a4facf611d5a42d465c
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fixes for 7f37b34, 0165e33 and 3c64f86
Commit: eb10e94180dd722cf54cfaf1ed9d32aa0bb134a0
https://github.com/llvm/llvm-project/commit/eb10e94180dd722cf54cfaf1ed9d32aa0bb134a0
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
Log Message:
-----------
NFC: convert clang/test/AST/HLSL/StructuredBuffers-AST.hlsl to unix line endings
Commit: e29c085812e259910a3d8b6c2d2f471d1c3eede4
https://github.com/llvm/llvm-project/commit/e29c085812e259910a3d8b6c2d2f471d1c3eede4
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg12xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/expr/expr.const/p3-0x.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-0x.cpp
M clang/test/Modules/cxx-templates.cpp
M clang/test/SemaObjCXX/noescape.mm
M clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/default-arguments.cpp
M clang/test/SemaTemplate/instantiate-template-template-parm.cpp
M clang/test/SemaTemplate/instantiation-default-2.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
M clang/test/SemaTemplate/temp_arg_template.cpp
M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
Log Message:
-----------
[clang] disallow narrowing when matching template template parameters (#124313)
This fixes the core issue described in P3579, following the design
intent of P0522 to not introduce any new cases where a template template
parameter match is allowed for a template which is not valid for all
possible uses.
With this patch, narrowing conversions are disallowed for TTP matching.
This reuses the existing machinery for diagnosing narrowing in a
converted constant expression.
Since P0522 is a DR and we apply it all the way back to C++98, this
brings that machinery to use in older standards, in this very narrow
scope of TTP matching.
This still doesn't solve the ambiguity when partial ordering NTTPs of
different integral types, this is blocked by a different bug which will
be fixed in a subsequent patch (but the test cases are added).
Commit: 986581f6bcef8736c942a9fec9cf12bfbc57c1f6
https://github.com/llvm/llvm-project/commit/986581f6bcef8736c942a9fec9cf12bfbc57c1f6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/DeclTemplate.cpp
Log Message:
-----------
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#124674)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
This patch migrates uses of PointerUnion::dyn_cast to
dyn_cast_if_present (see the definition of PointerUnion::dyn_cast).
Note that we already have dyn_cast_if_present<T*>(ExplicitInfo)
elsewhere in ClassTemplateSpecializationDecl and
VarTemplateSpecializationDecl, meaning that ExplicitInfo is not
guaranteed to be nonnull in those classes.
Commit: 2ef497e5b02650c59aa71676b7d891a138519685
https://github.com/llvm/llvm-project/commit/2ef497e5b02650c59aa71676b7d891a138519685
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#124675)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect TransExpr to be nonnull.
Commit: 69c9bed21b902bf83828c78d69691925f5452c35
https://github.com/llvm/llvm-project/commit/69c9bed21b902bf83828c78d69691925f5452c35
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
Log Message:
-----------
[Serialization] Migrate away from PointerUnion::dyn_cast (NFC) (#124676)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect FD->TemplateOrSpecialization to be nonnull.
Commit: 1d5ce614a7cd266909169bc251d7b1aee743e5a3
https://github.com/llvm/llvm-project/commit/1d5ce614a7cd266909169bc251d7b1aee743e5a3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#124677)
Commit: ef232a7e3486b9494c087ad25830f00bc15d739a
https://github.com/llvm/llvm-project/commit/ef232a7e3486b9494c087ad25830f00bc15d739a
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
A bolt/test/AArch64/remove-nops.s
Log Message:
-----------
[BOLT][AArch64] Remove nops in functions with defined control flow (#124705)
When a function has an indirect branch with unknown control flow, we
preserve nops in order to keep all instruction offsets (from the start
of the function) the same in case the indirect branch is used by a
PC-relative jump table. However, when we know the control flow of the
function, we should be able to safely remove nops.
Commit: 589bef333eb3b4f619ac6a7e7819295b47c05ce6
https://github.com/llvm/llvm-project/commit/589bef333eb3b4f619ac6a7e7819295b47c05ce6
Author: mgcsysinfcat <143941278+mgcsysinfcat at users.noreply.github.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
A mlir/utils/emacs/tblgen-lsp-client.el
Log Message:
-----------
[emacs][lsp][tblgen] add tblgen-lsp-server support for emacs lsp-mode (#76337)
Co-authored-by: mgcsysinfcat <p779yqwdf at mozmail.com>
Co-authored-by: Ronan Keryell <ronan.keryell at amd.com>
Commit: de9b0ddedc43302117b15518ca21f3341cf6b5ff
https://github.com/llvm/llvm-project/commit/de9b0ddedc43302117b15518ca21f3341cf6b5ff
Author: Stephen Tozer <Stephen.Tozer at sony.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/test/CodeGen/extend-variable-liveness.c
M clang/test/CodeGen/fake-use-determinism.c
M clang/test/CodeGen/fake-use-noreturn.cpp
M clang/test/CodeGen/fake-use-this.cpp
Log Message:
-----------
Add explicit triple to fix errors from #110102
Attempted fix for errors observed on:
https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-windows-x64/b8724497761651154417/overview
Several tests that required an explicit triple had none present; this
patch adds those triples.
Commit: 964565c868c4a255f8ebdf412b307beeb390a6bc
https://github.com/llvm/llvm-project/commit/964565c868c4a255f8ebdf412b307beeb390a6bc
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/docs/HIPSupport.rst
Log Message:
-----------
[NFC][docs][HIP] Update HIP docs around `hipstdpar` and SPIR-V (#124803)
This addresses an odd ommision from the 19 release cycle, wherein we
upstreamed HIPSTDPAR support without adding the relevant documentation.
As an added bonus, we also remove a reference to `amdgcnspirv` not
mixing with concrete targets, as that limitation has been addressed.
Commit: 310f55875f2fc69af310b6259e65136f0de4404a
https://github.com/llvm/llvm-project/commit/310f55875f2fc69af310b6259e65136f0de4404a
Author: Artem Belevich <tra at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/test/CodeGen/builtins-nvptx.c
Log Message:
-----------
[CUDA] Make target intrinsics work with ptx 8.7 (#124818)
Fixes build break with CUDA-12.8 introduced in #123398
Commit: 5dab5bf0851f523602944355a2c1c17e7f78ef36
https://github.com/llvm/llvm-project/commit/5dab5bf0851f523602944355a2c1c17e7f78ef36
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/warn-unused-private-field.cpp
Log Message:
-----------
[Clang] handle [[warn_unused]] attribute for unused private fields (#120734)
Fixes #62472
Commit: a255da0c5373f4ebd10c91b011cd572e4d2a6b4c
https://github.com/llvm/llvm-project/commit/a255da0c5373f4ebd10c91b011cd572e4d2a6b4c
Author: Alex Prabhat Bara <alexpbara at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M libc/include/locale.h.def
M libc/include/locale.yaml
M libc/include/math.h.def
M libc/include/setjmp.h.def
M libc/include/stdlib.h.def
M libc/include/stdlib.yaml
M libc/include/string.h.def
M libc/include/string.yaml
M libc/include/sys/time.h.def
M libc/include/sys/time.yaml
M libc/include/wchar.h.def
Log Message:
-----------
[libc] clean up duplicated includes in generated headers (#124524)
Fixes: #124149
Commit: b1972689a43175451f27098b8fd6f58cf7275229
https://github.com/llvm/llvm-project/commit/b1972689a43175451f27098b8fd6f58cf7275229
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaTemplate/cwg2398.cpp
Log Message:
-----------
[clang] fix template argument conversion (#124386)
Converted template arguments need to be converted again, if the
corresponding template parameter changed, as different conversions might
apply in that case.
Commit: bfefa15cc18f6f4b0b07849c619989c1a8c5aef9
https://github.com/llvm/llvm-project/commit/bfefa15cc18f6f4b0b07849c619989c1a8c5aef9
Author: Yi Zhang <cathyzhyi at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
Log Message:
-----------
[mlir][bufferization] Use original type when convert arg for users (#124826)
This change will keep the memory space information for the tensor if
there is any.
Commit: 7bd9c780e36399394fe8eae9678eb448d53e33f0
https://github.com/llvm/llvm-project/commit/7bd9c780e36399394fe8eae9678eb448d53e33f0
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[msan][NFCI] Generalize handleIntrinsicByApplyingToShadow to allow alternative intrinsic for shadows (#124831)
https://github.com/llvm/llvm-project/pull/124159 uses
handleIntrinsicByApplyingToShadow for horizontal add/sub, but Vitaly
recommends always using the add version to avoid false negatives for
fully uninitialized data
(https://github.com/llvm/llvm-project/issues/124662).
This patch lays the groundwork by generalizing
handleIntrinsicByApplyingToShadow to allow using a different intrinsic
(of the same type as the original intrinsic) for the shadow. Planned
work will apply it to horizontal sub.
Commit: 9d8dc45d17088300e9e2086594ca581b119193c8
https://github.com/llvm/llvm-project/commit/9d8dc45d17088300e9e2086594ca581b119193c8
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M flang/include/flang/Tools/TargetSetup.h
M flang/runtime/exceptions.cpp
Log Message:
-----------
[flang] IEEE underflow control for Arm (#124807)
Update IEEE_SUPPORT_UNDERFLOW_CONTROL, IEEE_GET_UNDERFLOW_MODE, and
IEEE_SET_UNDERFLOW_MODE code for Arm.
Commit: 9f660625bee629d2cc644e2b8ac698ed3288693c
https://github.com/llvm/llvm-project/commit/9f660625bee629d2cc644e2b8ac698ed3288693c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M libcxx/include/__new/allocate.h
Log Message:
-----------
[libc++] Disable CFI in __libcpp_allocate (#124805)
Since we're casting uninitialized memory, we must disable CFI checks.
Commit: c47a57393c2bb773e95bcda397a6467f4fffcf9f
https://github.com/llvm/llvm-project/commit/c47a57393c2bb773e95bcda397a6467f4fffcf9f
Author: lntue <lntue at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/exp2m1f16_test.cpp
M libc/test/src/math/smoke/sinpif16_test.cpp
Log Message:
-----------
[libc] Fix conversion warnings for float16 tests. (#124830)
Fixes https://github.com/llvm/llvm-project/issues/124801.
Commit: 6338bde5681cada2181febb4bf64feb51207995e
https://github.com/llvm/llvm-project/commit/6338bde5681cada2181febb4bf64feb51207995e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[VPlan] Use cast<VPRecipeBase> in verifier (NFC).
All users of VPValue must be a VPRecipeBase, use cast.
Commit: ed199c8d7668c14e9e9e8e4bfa59793e3f7f0266
https://github.com/llvm/llvm-project/commit/ed199c8d7668c14e9e9e8e4bfa59793e3f7f0266
Author: lntue <lntue at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M libc/src/__support/FPUtil/except_value_utils.h
Log Message:
-----------
[libc] Workaround for gcc complaining about implicit conversions with the ternary ?: operator. (#124820)
Fixes https://github.com/llvm/llvm-project/issues/120427,
https://github.com/llvm/llvm-project/issues/122745
This is caused by a -Wconversion false-positive bug in gcc:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101537
Commit: 2cbf2798ae55ddc36aac130df21353fc82891bcf
https://github.com/llvm/llvm-project/commit/2cbf2798ae55ddc36aac130df21353fc82891bcf
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaTemplate/cwg2398.cpp
Log Message:
-----------
[clang] fix nondeduced mismatch with nullptr template arguments (#124498)
In deduction, when comparing template arguments of value kind, we should
check if the value matches. Values of different types can still match.
For example, `short(0)` matches `int(0)`.
Values of nullptr kind always match each other, since there is only one
such possible value. Similarly to integrals, the type does not matter.
Commit: 26f4e2a701f7c303f18ed8f97d263138e14bcd48
https://github.com/llvm/llvm-project/commit/26f4e2a701f7c303f18ed8f97d263138e14bcd48
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M libc/docs/gpu/rpc.rst
Log Message:
-----------
[libc][docs] Fix the RPC documentation leaking ports
Summary:
Forgot to close it, that'll make it deadlock after awhile.
Commit: 9d7999885a6aa2c4afc252a645448b4f1666e951
https://github.com/llvm/llvm-project/commit/9d7999885a6aa2c4afc252a645448b4f1666e951
Author: Alex Langford <alangford at apple.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/API/SBDefines.h
Log Message:
-----------
[lldb] Update API headers for SBProgress (#124836)
Some clients only include LLDB.h and they won't get access to SBProgress
without this.
Commit: e89e7c4685aa673173220eace7a0a8b64dbd2391
https://github.com/llvm/llvm-project/commit/e89e7c4685aa673173220eace7a0a8b64dbd2391
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M lldb/utils/lldb-dotest/lldb-dotest.in
Log Message:
-----------
[lldb] Fix lldb-dotest.in to use args determined by CMake (#124811)
This change is required as a result of the changes made in D132642
(bb26ebb4d18c1877cc6fd17aa803609abeb95096).
Commit: a06c89387621b0a040e6203e7f1a2d8243f5be33
https://github.com/llvm/llvm-project/commit/a06c89387621b0a040e6203e7f1a2d8243f5be33
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M libcxxabi/src/cxa_exception_storage.cpp
Log Message:
-----------
[libc++abi] Make once_flag constinit in cxa_exception_storage (#124627)
This makes it clearer that initialization of this global variable is
taking place at compile-time, reducing the likelihood of static
initialization order fiasco.
Commit: 35df525fd00c2037ef144189ee818b7d612241ff
https://github.com/llvm/llvm-project/commit/35df525fd00c2037ef144189ee818b7d612241ff
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/Vector/IR/Vector.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Transforms/Passes.td
M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRVPass.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Transforms/CMakeLists.txt
M mlir/lib/Transforms/Canonicalizer.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][Vector] Add support for poison indices to `Extract/IndexOp` (#123488)
Following up on #122188, this PR adds support for poison indices to
`ExtractOp` and `InsertOp`. It also includes canonicalization patterns
to turn extract/insert ops with poison indices into `ub.poison`.
Commit: c2fba023475fddb893eac29dc9f34dfbdb221cd5
https://github.com/llvm/llvm-project/commit/c2fba023475fddb893eac29dc9f34dfbdb221cd5
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/phi-known-bits.ll
Log Message:
-----------
[ValueTracking] Fix bug of using wrong condition for deducing KnownBits (#124481)
- **[ValueTracking] Add test for issue 124275**
- **[ValueTracking] Fix bug of using wrong condition for deducing
KnownBits**
Fixes https://github.com/llvm/llvm-project/issues/124275
Bug was introduced by https://github.com/llvm/llvm-project/pull/114689
Now that computeKnownBits supports breaking out of recursive Phi
nodes, `IncValue` can be an operand of a different Phi than `P`. This
breaks the previous assumptions we had when using the possibly
condition at `CxtI` to constrain `IncValue`.
Commit: 1f7eb6f403bc0e453b76d9274994d840561e96cf
https://github.com/llvm/llvm-project/commit/1f7eb6f403bc0e453b76d9274994d840561e96cf
Author: Alex Langford <alangford at apple.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M lldb/include/lldb/API/SBProgress.h
M lldb/source/API/SBProgress.cpp
Log Message:
-----------
[lldb] Make SBProgress move-only (#124843)
I wanted to clarify the semantics around SBProgress. Given the nature of
Progress events, copying seems like the wrong idea. Making SBProgress
move-only (like SBStream) seems like the better choice here.
Commit: 4eb7c349a616827a3ec9bea57718516409103caa
https://github.com/llvm/llvm-project/commit/4eb7c349a616827a3ec9bea57718516409103caa
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix build after 35df525fd00c2037ef144189ee818b7d612241ff
Commit: 6bb6c305752adef5a0034e4a039df19487ce8945
https://github.com/llvm/llvm-project/commit/6bb6c305752adef5a0034e4a039df19487ce8945
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Log Message:
-----------
[clang] NFC: cleanup check template argument (#124668)
Commit: 3a1e157454ecd186404eafe75882b88bce772340
https://github.com/llvm/llvm-project/commit/3a1e157454ecd186404eafe75882b88bce772340
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] More fixes for 35df525fd00c2037ef144189ee818b7d612241ff
I missed a couple spots in my previous attempt to fix the build
(4eb7c349a616827a3ec9bea57718516409103caa).
Commit: 548ecde42886149dd4d69366d7c2dc02076a7083
https://github.com/llvm/llvm-project/commit/548ecde42886149dd4d69366d7c2dc02076a7083
Author: Stephen Tozer <Stephen.Tozer at sony.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/test/CodeGen/extend-variable-liveness-except.cpp
Log Message:
-----------
Add extra explicit triple to fix errors from #110102
Attempted fix for errors observed on:
https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-windows-x64/b8724466517233166081/overview
Following the previous fixes, one test that needed an explicit triple
was missed; this commit adds that triple.
Commit: 4a426079d60a664419dfc98855a798c4103fbbf0
https://github.com/llvm/llvm-project/commit/4a426079d60a664419dfc98855a798c4103fbbf0
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll
Log Message:
-----------
[msan] Use horizontal add to compute shadow for horizontal sub (#124835)
This improves the horizontal sub handling (from
https://github.com/llvm/llvm-project/pull/124159), by always using
horizontal add for the shadow, as recommended by Vitaly.
Fixes https://github.com/llvm/llvm-project/issues/124662
Commit: 381218950e9c0fc17256e1fe4093fd108acc2ac4
https://github.com/llvm/llvm-project/commit/381218950e9c0fc17256e1fe4093fd108acc2ac4
Author: nerix <nero.9 at hotmail.de>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/CodeGenCXX/debug-info-ms-novtable.cpp
Log Message:
-----------
[clang-cl]: generate debug info when `novtable` is specified (#124643)
When no vtable is emitted in the debug info because a record was marked
`__declspec(novtable)`, only a forward declaration of that type will be
emitted. This PR fixes that by not omitting the definition for the
`RecordDecl` in this case.
Fixes #124638.
Commit: 38902153fe66cb7a0685728a5a489dff944b4033
https://github.com/llvm/llvm-project/commit/38902153fe66cb7a0685728a5a489dff944b4033
Author: gulfemsavrun <gulfem at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-lto-defaults.ll
Log Message:
-----------
[PassBuilder] Add RelLookupTableConverterPass to LTO (#124053)
[PassBuilder] Add RelLookupTableConverterPass to LTO
This patch adds RelLookupTableConverterPass into the LTO
post-link optimization pass pipeline. This optimization
converts lookup tables to relative lookup tables to make
them PIC-friendly, which is already included in the non-LTO
pass pipeline. This patch adds this optimization to the
post-link optimization pipeline to discover more
opportunities in the LTO context.
Commit: 437040fe3df48eeb8584c25b45f0058e8fbac098
https://github.com/llvm/llvm-project/commit/437040fe3df48eeb8584c25b45f0058e8fbac098
Author: Raphael Kubo da Costa <rakuco at FreeBSD.org>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
Log Message:
-----------
[CMake] Use shm_open, not clock_gettime, to detect librt (#120727)
On systems with glibc, clock_gettime() was moved from librt to libc in
version 2.17, in which case the current librt detection attempt would
always fail.
Look for shm_open instead, like other parts of the tree also do when
looking for librt.
Co-authored-by: Raphael Kubo da Costa <kubo at igalia.com>
Commit: e7f02241ad4d38fc50b63ad589a024323e6bc3c6
https://github.com/llvm/llvm-project/commit/e7f02241ad4d38fc50b63ad589a024323e6bc3c6
Author: Prabhuk <prabhukr at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/TargetRegistry.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86Subtarget.h
Log Message:
-----------
[nfc][llvm] Clean up isUEFI checks (#124845)
The check for `isOSWindows() || isUEFI()` is used in several places
across the codebase. Introducing `isOSWindowsOrUEFI()` in Triple.h
to simplify these checks.
Commit: 8aae191cb6ad1f2dfc468975e4f5e564fea3cbfd
https://github.com/llvm/llvm-project/commit/8aae191cb6ad1f2dfc468975e4f5e564fea3cbfd
Author: yonghong-song <yhs at fb.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Target/BPF/BPFMIPeephole.cpp
A llvm/test/CodeGen/BPF/may_goto_1.ll
A llvm/test/CodeGen/BPF/may_goto_2.ll
Log Message:
-----------
[BPF] Remove 'may_goto 0' instructions (#123482)
Emil Tsalapatis from Meta reported such a case where 'may_goto 0' insn
is generated by clang compiler. But 'may_goto 0' insn is actually a
no-op so it makes sense to remove that in llvm. The patch is also able
to handle the following code pattern
```
...
may_goto 2
may_goto 1
may_goto 0
...
```
where three may_goto insns can all be removed.
---------
Co-authored-by: Yonghong Song <yonghong.song at linux.dev>
Commit: b8cdc5ea2741c7e4062bb211bac7033189b4d802
https://github.com/llvm/llvm-project/commit/b8cdc5ea2741c7e4062bb211bac7033189b4d802
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
A llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
Log Message:
-----------
Reapply "[msan] Add avx512-intrinsics.ll and avx512-intrinsics-upgrade.ll test case (#123980)" (#124500)
This reverts commit b2647ffbf797dd5a457b6b19faab06956934d067 i.e.,
relands https://github.com/llvm/llvm-project/commit/980e86f130eea02bd41b887f4ed896340fc90f6c.
I had reverted the original patch because of buildbot failures (e.g., https://lab.llvm.org/buildbot/#/builders/13/builds/4938/steps/5/logs/FAIL__LLVM__avx512-intrinsics-upgrade_ll). This reland addresses the likely root cause; namely, that the target datalayout had not been specified.
Additionally, this reland improves the test case by replacing undef with extra parameters.
Commit: 28507ac62928d79f647804de4df60409b3ebb364
https://github.com/llvm/llvm-project/commit/28507ac62928d79f647804de4df60409b3ebb364
Author: Fabian Tschopp <fabian.tschopp at modular.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRAttributes.cpp
Log Message:
-----------
[MLIR] Fix thread safety of the deleter in PyDenseResourceElementsAttribute (#124832)
In general, `PyDenseResourceElementsAttribute` can get deleted at any
time and any thread, where unlike the `getFromBuffer` call, the Python
interpreter may not be initialized and the GIL may not be held.
This PR fixes segfaults caused by `PyBuffer_Release` when the GIL is not
being held by the thread calling the deleter.
Commit: 617278e7b0c937fccbf7d67d14f053c3409bc33f
https://github.com/llvm/llvm-project/commit/617278e7b0c937fccbf7d67d14f053c3409bc33f
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
A lld/test/wasm/shared-lazy.s
M lld/wasm/SymbolTable.cpp
Log Message:
-----------
[lld][WebAssembly] Fix for shared library symbols WRT replacing lazy symbols (#124619)
The rule here, which I'm copying from the ELF linker, is that shared
library symbols should take presence, unless the symbol has already be
extracted from the archive. e.g:
```
$ wasm-ld foo.a foo.so ref.o // .so wins
$ wasm-ld foo.a ref.o foo.so // .a wins
```
In the first case the shared library takes precedence because the lazy
symbol is replaced by the .so symbol before it is extracted from the
archive. In the second example the ref.o file causes the archive to be
exracted before the .so file is processed, so in that case the archive
file wins.
Fixes: https://github.com/emscripten-core/emscripten/issues/23501
Commit: 98d6dd39887361ff2161401614da0b7854234419
https://github.com/llvm/llvm-project/commit/98d6dd39887361ff2161401614da0b7854234419
Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LLVM][LangRef][noalias] Remove Redundant Line and Improve Wording (#124685)
Removes a redundant line and improves punctuation and wording in the
paragraph describing the `noalias` attribute.
Commit: 6b654a09c2b689438237252d6f0fbcb25c993703
https://github.com/llvm/llvm-project/commit/6b654a09c2b689438237252d6f0fbcb25c993703
Author: andrewjcg <agallagher at fb.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/asan/asan_suppressions.cpp
M compiler-rt/lib/asan/asan_suppressions.h
A compiler-rt/test/asan/TestCases/suppressions-alloc-dealloc-mismatch.cpp
Log Message:
-----------
[sanitizer] Support "alloc_dealloc_mismatch" suppressions (#124197)
This adds a stack-based suppression for alloc-dealloc-mismatch
violations, using the function name to match.
Commit: 79cbad188afd5268235b00267d37ce39544dbd3c
https://github.com/llvm/llvm-project/commit/79cbad188afd5268235b00267d37ce39544dbd3c
Author: vporpo <vporpodas at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerTest.cpp
Log Message:
-----------
[SandboxVec] Clear Context's state within runOnFunction() (#124842)
`sandboxir::Context` is defined at a pass-level scope with the
`SandboxVectorizerPass` class because the function pass manager `FPM`
object depends on it, and that is in pass-level scope to avoid
recreating the pass pipeline every single time `runOnFunction()` is
called.
This means that the Context's state lives on across function passes. The
problem is twofold:
(i) the LLVM IR to Sandbox IR map can grow very large including objects
from different functions, which is of no use to the vectorizer, as it's
a function-level pass.
(ii) this can result in stale data in the LLVM IR to Sandbox IR object
map, as other passes may delete LLVM IR objects.
To fix both issues this patch introduces a `Context::clear()` function
that clears the `LLVMValueToValueMap`.
Commit: d0052ebbe2e2f691ec42cad3c8613ef387abc53f
https://github.com/llvm/llvm-project/commit/d0052ebbe2e2f691ec42cad3c8613ef387abc53f
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
Log Message:
-----------
[ORC][LLJIT] Install eh-frame registration plugin during platform setup.
Attempt to install the EHFrameRegistrationPlugin during GenericLLVMIRPlatform
setup, rather than object linking layer creation time.
Platform classes are responsible for exception handling: installing the plugin
unconditionally during linking-layer construction could result in frames being
registered more than once when native platform classes are used.
This is a precursor to re-landing compact unwind support (4f0325873fa).
Commit: 60927405f5612158ae0419798838be45a1637911
https://github.com/llvm/llvm-project/commit/60927405f5612158ae0419798838be45a1637911
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/CMakeLists.txt
M clang/include/clang/Basic/Version.inc.in
M clang/lib/Frontend/CompilerInvocation.cpp
Log Message:
-----------
Don't use CLANG_VERSION_MAJOR to check that the value passed to -fclang-abi-compat= is valid (#123998)
Use LLVM_VERSION_MAJOR instead as the maximum allowed value. This change
is needed to fix regression tests that fail when vendors set
CLANG_VERSION_MAJOR to a value that is lower than LLVM_VERSION_MAJOR
when building the compiler.
For example, clang/test/CodeGenCXX/mangle-concept.cpp fails with the
following error if -DCLANG_VERSION_MAJOR=17 is passed to cmake:
invalid value '19' in '-fclang-abi-compat=19'
Commit: ff271d04a2fe0af0ad43e9c0bce1cbb10912dc32
https://github.com/llvm/llvm-project/commit/ff271d04a2fe0af0ad43e9c0bce1cbb10912dc32
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV][VLOPT] Fix assertion failure across blocks (#124734)
Whilst adding a cross-block test, I encountered an assertion failure in
the second pass where we check the instruction popped off the worklist
is a candidate.
The leaf instruction %c in this case will be added to the worklist when
its VL is VLMAX, but during the first pass it will have its VL reduced
to 1.
Then in the second pass when its processed via the worklist, isCandidate
will no longer be true due to its VL == 1.
This fixes it by moving the VL == 1 check to tryReduceVL, keeping it
alongside the other VL check for bailing out early as an optimisation.
Commit: fdadef9be33fb3f0844b85c35a63a8a4137382dd
https://github.com/llvm/llvm-project/commit/fdadef9be33fb3f0844b85c35a63a8a4137382dd
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
Log Message:
-----------
[msan] Handle x86_avx512_(min|max)_p[sd]_512 intrinsics (#124421)
The AVX/SSE variants are already handled heuristically (maybeHandleSimpleNomemIntrinsic via handleUnknownIntrinsic), but the AVX512 variants contain an additional parameter (the rounding method) which fails to match heuristically. This patch generalizes maybeHandleSimpleNomemIntrinsic to allow additional flags (ignored by MSan) and explicitly call it to handle AVX512 min/max ps/pd intrinsics.
It also updates the test added in https://github.com/llvm/llvm-project/pull/123980
Commit: 8c2574832ed2064996389e4259eaf0bea0fa7951
https://github.com/llvm/llvm-project/commit/8c2574832ed2064996389e4259eaf0bea0fa7951
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/ast-dump-decl.c
M clang/test/AST/ast-dump-records.c
M clang/test/AST/ast-dump-records.cpp
M clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
M clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
M clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
M clang/test/AST/attr-counted-by-struct-ptrs.c
M clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
M clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
M clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
M clang/test/AST/attr-sized-by-struct-ptrs.c
A clang/test/Analysis/anonymous-parameter.cpp
M clang/test/Import/cxx-anon-namespace/test.cpp
M clang/test/Modules/odr_hash.cpp
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/deduction-crash.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
Reland: [clang] improve print / dump of anonymous declarations (#124858)
Commit: 3bd3e06f3fe418e24af65457877f40cee0544f9d
https://github.com/llvm/llvm-project/commit/3bd3e06f3fe418e24af65457877f40cee0544f9d
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang/docs/ReleaseNotes.rst
M cmake/Modules/LLVMVersion.cmake
M libcxx/docs/ReleaseNotes.rst
A libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__config
M lld/docs/ReleaseNotes.rst
M llvm/docs/ReleaseNotes.md
M llvm/utils/gn/secondary/llvm/version.gni
M llvm/utils/lit/lit/__init__.py
M openmp/docs/ReleaseNotes.rst
M pstl/docs/ReleaseNotes.rst
Log Message:
-----------
Bump version to 21.0.0git (#124870)
Also clear the release notes.
Commit: 3a3377579f137a0a6e14b60d891a9736707e7e8d
https://github.com/llvm/llvm-project/commit/3a3377579f137a0a6e14b60d891a9736707e7e8d
Author: Hyunsung Lee <ita9naiwa at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/test/Dialect/Math/expand-math.mlir
M mlir/test/mlir-runner/test-expand-math-approx.mlir
Log Message:
-----------
[mlir][math]Update `convertPowfOp` `ExpandPatterns.cpp` (#124402)
The current implementation of `convertPowfOp` requires a calculation of
`a * a` but, max\<fp16\> ~= 65,504, and if `a` is about 16, it will
overflow so get INF in fp8 or fp16 easily.
Remove support when `a < 0`. Overhead of handling negative value of `a`
is large and easy to overflow;
- related issue in iree:
https://github.com/iree-org/iree/issues/15936
Commit: 23763a1200edfe209d1e334d1d1ff71b2a992b3a
https://github.com/llvm/llvm-project/commit/23763a1200edfe209d1e334d1d1ff71b2a992b3a
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] mremap for Linux interception. (#124234)
Commit: 4c7aa6f983685e93ebb8ad0cc41247bca0d6db9b
https://github.com/llvm/llvm-project/commit/4c7aa6f983685e93ebb8ad0cc41247bca0d6db9b
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[msan] Fix -Wunused-variable in non-assertion builds after #124421
Commit: cdced8e5bc422a28b42d1bdfb74629cc720a4dfe
https://github.com/llvm/llvm-project/commit/cdced8e5bc422a28b42d1bdfb74629cc720a4dfe
Author: Alan Li <me at alanli.org>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir
Log Message:
-----------
[MLIR] Implement emulation of static indexing subbyte type vector stores (#115922)
This patch enables unaligned, statically indexed storing of vectors with
sub emulation width element types.
To illustrate the mechanism, consider the example of storing
vector<7xi2> into memref<3x7xi2>[1, 0].
In this case the linearized indices of those bits being overwritten are
[14, 28), which are:
* the last 2 bits of byte no.2
* byte no.3
* first 4 bits of byte no.4
Because memory accesses are in bytes, byte no.2 and no.4 in the above
example are only being modified partially.
In the case of multi-threading scenario, in order to avoid data
contention, these two bytes must be handled atomically.
Commit: 8675cd3facc063673c47ed585bd4b7013119fe1f
https://github.com/llvm/llvm-project/commit/8675cd3facc063673c47ed585bd4b7013119fe1f
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
M llvm/test/CodeGen/RISCV/rvv/vlopt-same-vl.ll
Log Message:
-----------
[RISCV][VLOPT] Compute demanded VLs up front (#124530)
This replaces the worklist by instead computing what VL is demanded by
each instruction's users first, which is done via checkUsers.
The demanded VLs are stored in a DenseMap, and then we can just do a
single forward pass of tryReduceVL where we check if a candidate's
demanded VL is less than its VLOp.
This means the pass should now be linear in complexity, and allows us to
relax the restriction on tied operands in more easily as in #124066.
Commit: 9052b37ab1aa67a039b34356f37236fecc42bac2
https://github.com/llvm/llvm-project/commit/9052b37ab1aa67a039b34356f37236fecc42bac2
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/tools/lli/lli.cpp
Log Message:
-----------
[ORC][LLI] Remove redundant eh-frame registration plugin construction from lli.
As of d0052ebbe2e the setUpGenericLLVMIRPlatform function will automatically
add an instance of the EHFrameRegistrationPlugin (for LLJIT instances whose
object linking layers are ObjectLinkingLayers, not RTDyldObjectLinkingLayers).
This commit removes the redundant plugin creation in the object linking
layer constructor function in lli.cpp to prevent duplicate registration of
eh-frames, which is likely the cause of recent bot failures, e.g.
https://lab.llvm.org/buildbot/#/builders/108/builds/8685.
Commit: 654b76321a602db4d68734e9fd11efbb7d8eb617
https://github.com/llvm/llvm-project/commit/654b76321a602db4d68734e9fd11efbb7d8eb617
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M flang/CMakeLists.txt
M flang/include/flang/Optimizer/Builder/Runtime/Main.h
A flang/include/flang/Runtime/CUDA/init.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/Runtime/Main.cpp
M flang/runtime/CUDA/CMakeLists.txt
A flang/runtime/CUDA/init.cpp
M flang/runtime/environment.cpp
M flang/runtime/environment.h
Log Message:
-----------
[flang][cuda] Allow to set the stack limit size (#124859)
This patch adds a call to the CUFInit function just after `ProgramStart`
when CUDA Fortran is enabled to initialize the CUDA context. This allows
us to set up some context information like the stack limit that can be
defined by an environment variable `ACC_OFFLOAD_STACKSIZE=<value>`.
Commit: 9ec4f474c0f4846fccbd770adeec784c83a9a060
https://github.com/llvm/llvm-project/commit/9ec4f474c0f4846fccbd770adeec784c83a9a060
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/include/llvm/Support/GlobPattern.h
Log Message:
-----------
[GlobPattern] Fix doxygen docs (#124361)
Fix the docs for the `GlobPattern` class.
https://llvm.org/docs/doxygen/classllvm_1_1GlobPattern.html
I've tried to fix this a few times, but I finally got around to building
`doxygen-llvm` to verify that my fixed worked.
For some reason, `\p` does not work well with `/`. Instead I'm using
<code>`</code> to make a codespan, which is more correct anyway.
https://www.doxygen.nl/manual/markdown.html#md_codespan
Commit: b28e879a8323189ee05733a0ef3779a6768a9ea3
https://github.com/llvm/llvm-project/commit/b28e879a8323189ee05733a0ef3779a6768a9ea3
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M clang/unittests/Format/ConfigParseTest.cpp
Log Message:
-----------
[clang-format] Simplify ConfigParseTest for int/unsigned options (#124704)
Also add a number of missing tests for unsigned options.
Commit: ab6d41eae12b29bcb99ed66ca8edb48296ccfe42
https://github.com/llvm/llvm-project/commit/ab6d41eae12b29bcb99ed66ca8edb48296ccfe42
Author: Andarwinux <144242044+Andarwinux at users.noreply.github.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
Add llvm-driver to the list of toolchain tools (#123083)
If LLVM_TOOL_LLVM_DRIVER_BUILD is enabled, make sure
LLVM_TOOLCHAIN_TOOLS includes llvm-driver, otherwise with
LLVM_INSTALL_TOOLCHAIN_ONLY will install an invalid toolchain
Co-authored-by: Andarwinux <Andarwinux at users.noreply.github.com>
Commit: d4159e2a1d1d640077b2e5cde66b0a284049955f
https://github.com/llvm/llvm-project/commit/d4159e2a1d1d640077b2e5cde66b0a284049955f
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Add support for griddepcontrol Ops (#124603)
Adds `griddepcontrol.wait` and `griddepcontrol.launch.dependents`
MLIR Ops to generate griddepcontrol instructions.
`griddepcontrol` - Allows dependent and prerequisite grids as defined by
the runtime to control execution in the following ways:
- `griddepcontrol.wait` - causes the executing thread to wait until all
prerequisite grids in flight have completed and all the memory
operations from the prerequisite grids are performed and made visible
to the current grid.
- `griddepcontrol.launch.dependents` - signals that specific dependents
the runtime system designated to react to this instruction can be
scheduled as soon as all other CTAs in the grid issue the same
instruction or have completed.
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#parallel-synchronization-and-communication-instructions-griddepcontrol
Commit: b0924ed64e0d814ab23fa474c2047030dd3a2f46
https://github.com/llvm/llvm-project/commit/b0924ed64e0d814ab23fa474c2047030dd3a2f46
Author: natedal <125322768+natedal at users.noreply.github.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/test/Transforms/AggressiveInstCombine/memchr.ll
Log Message:
-----------
[AggressiveInstCombine] Add tests for memchr inline threshold (NFC) (#121711)
This adds a test checking that, if length=2, memchr is called. This is
undesirable as it would be faster to directly compare the two array
elements with the target element, rather than calling the external
memchr function.
Commit: 77e44e59665e6c12c3d74c57650040d82e1c7161
https://github.com/llvm/llvm-project/commit/77e44e59665e6c12c3d74c57650040d82e1c7161
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
Log Message:
-----------
[gn] port 60927405f561
Commit: 3feb724496238ce10d32e8c2bd84b4ea50f9977e
https://github.com/llvm/llvm-project/commit/3feb724496238ce10d32e8c2bd84b4ea50f9977e
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/test/CodeGen/X86/jump-table-partition.ll
Log Message:
-----------
[AsmPrinter][ELF] Support profile-guided section prefix for jump tables' (read-only) data sections (#122215)
https://github.com/llvm/llvm-project/pull/122183 adds a codegen pass to
infer machine jump table entry's hotness from the MBB hotness. This is a
follow-up PR to produce `.hot` and or `.unlikely` section prefix for
jump table's (read-only) data sections in the relocatable `.o` files.
When this patch is enabled, linker will see {`.rodata`, `.rodata.hot`,
`.rodata.unlikely`} in input sections. It can map `.rodata.hot` and
`.rodata` in the input sections to `.rodata.hot` in the executable, and
map `.rodata.unlikely` into `.rodata` with a pending extension to
`--keep-text-section-prefix` like
https://github.com/llvm/llvm-project/commit/059e7cbb66a30ce35f3ee43197eed1a106b50c5b,
or with a linker script.
1. To partition hot and jump tables, the AsmPrinter pass slices a function's jump table indices into two groups, one for hot and the other for cold jump tables. It then emits hot jump tables into a `.hot`-prefixed data section and cold ones into a `.unlikely`-prefixed data section, retaining the relative order of `LJT<N>` labels within each group.
2. [ELF only] To have data sections with _dynamic_ names (e.g., `.rodata.hot[.func]`), we implement
`TargetLoweringObjectFile::getSectionForJumpTable` method that accepts a `MachineJumpTableEntry` parameter, and update `selectELFSectionForGlobal` to generate `.hot` or `.unlikely` based on
MJTE's hotness.
- The dynamic JT section name doesn't depend on `-ffunction-section=true` or `-funique-section-names=true`, even though it leverages the similar underlying mechanism to have a MCSection with on-demand name as `-ffunction-section` does.
3. The new code path is off by default.
- Typically, `TargetOptions` conveys clang or LLVM tools' options to code generation passes. To follow the pattern, add option `EnableStaticDataPartitioning` bit in `TargetOptions` and make it
readable through `TargetMachine`.
- To enable the new code path in tools like `llc`, `partition-static-data-sections` option is introduced in
`CodeGen/CommandFlags.h/cpp`.
- A subsequent patch
([draft](https://github.com/llvm/llvm-project/commit/8f36a1374365862b3ca9be5615dd38f02a318c45)) will add a clang option to enable the new code path.
---------
Co-authored-by: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Commit: 1c3ea59daac23f17dadb30903ae1df085ce38a4a
https://github.com/llvm/llvm-project/commit/1c3ea59daac23f17dadb30903ae1df085ce38a4a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn
Log Message:
-----------
[gn build] Port 79cbad188afd
Commit: 2ec27848c00cda734697619047e640eadb254555
https://github.com/llvm/llvm-project/commit/2ec27848c00cda734697619047e640eadb254555
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
M mlir/test/Dialect/MemRef/normalize-memrefs.mlir
Log Message:
-----------
[MLIR] normalize-memrefs: Normalize memref.alloca (#123293)
The pass was only handling `memref.alloc` and this extends it to also
handle `memref.alloca`.
Commit: d34462409757731e158909250d2a4be4f9d2de80
https://github.com/llvm/llvm-project/commit/d34462409757731e158909250d2a4be4f9d2de80
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M mlir/test/lit.cfg.py
Log Message:
-----------
MLIR: asan: Fix python tests under asan on Linux (#123303)
Running MLIR python tests unders asan currently fails with
```
executed command: 'LD_PRELOAD=$(/usr/bin/clang++-17' '-print-file-name=libclang_rt.asan-x86_64.so)' /scratch/slx-llvm/.venv-3.10/bin/python3.10 /scratch/slx-llvm/mlir/test/python/ir/context_lifecycle.py
| 'LD_PRELOAD=$(/usr/bin/clang++-17': command not found
```
because lit doesn't quite understand the syntax.
To fix, we resolve the path to `libclang_rt.asan-x86_64.so` within the
lit configuration. This has the additional benefit that we don't have to
call `clang++` for every test.
Co-authored-by: Philipp-Jan Honysz <Philipp.Honysz at amd.com>
Commit: d1997322cb89c1db345750729f34c4f75d1ff1d1
https://github.com/llvm/llvm-project/commit/d1997322cb89c1db345750729f34c4f75d1ff1d1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-28 (Tue, 28 Jan 2025)
Changed paths:
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[TableGen] Use MCRegister::id() to avoid an implicit conversion from MCRegister to unsigned. NFC
Commit: 267e293510ad0e273443bc1b6c3655f6307e3992
https://github.com/llvm/llvm-project/commit/267e293510ad0e273443bc1b6c3655f6307e3992
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Introduce MAX_CLANG_ABI_COMPAT_VERSION (for #123998)
Commit: 71edfd6230268af93a2195896827cd45d203a250
https://github.com/llvm/llvm-project/commit/71edfd6230268af93a2195896827cd45d203a250
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
Log Message:
-----------
[AMDGPU][NewPM] Sketch out a AMDGPUPassRegistry skeleton (#124785)
Add a dummy pass skeleton list to help track the progress in porting
passes to NPM.
Commit: a3aa452a21f983237873fa85c866b9f0224789bd
https://github.com/llvm/llvm-project/commit/a3aa452a21f983237873fa85c866b9f0224789bd
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
Log Message:
-----------
[CodeGen] RegisterCoalescer: Remove unused AliasAnalysis dependency (#124773)
Commit: 07efe2c18a63423943a4f9d9daeada23601f84c8
https://github.com/llvm/llvm-project/commit/07efe2c18a63423943a4f9d9daeada23601f84c8
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/pr123550.ll
Log Message:
-----------
[SCEV] Check correct value for UB (#124302)
This is a followup to #117152. That patch introduced a check for
UB/poison on BEValue. However, the SCEV we're actually going to use is
Shifted. In some cases, it's possible for Shifted to contain UB, while
BEValue doesn't.
In the test case the values are:
BEValue: (-1 * (zext i8 (-83 + ((-83 /u {1,+,1}<%loop>) *
{-1,+,-1}<%loop>)) to i32))<nuw><nsw>
Shifted: (-173 + (-1 * (zext i8 ((-83 /u {0,+,1}<%loop>) *
{0,+,-1}<%loop>) to i32))<nuw><nsw>)<nuw><nsw>
Fixes https://github.com/llvm/llvm-project/issues/123550.
Commit: c836b8956d393f98e0d4e136799a33f1bd06e5f5
https://github.com/llvm/llvm-project/commit/c836b8956d393f98e0d4e136799a33f1bd06e5f5
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/no_vector_instructions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/streaming-vectorization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-outerloop-scevaddrec.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/ARM/arm-ieee-vectorize.ll
M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-interleaved.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i16-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i8-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-01uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-load-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-scatter-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-scatter-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i16-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i8-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i8.ll
M llvm/test/Transforms/LoopVectorize/explicit_outer_detection.ll
M llvm/test/Transforms/LoopVectorize/explicit_outer_nonuniform_inner.ll
M llvm/test/Transforms/LoopVectorize/explicit_outer_uniform_diverg_branch.ll
M llvm/test/Transforms/LoopVectorize/loop-vect-memdep.ll
M llvm/test/Transforms/LoopVectorize/nounroll.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-limitations.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-scalable.ll
M llvm/test/Transforms/LoopVectorize/scalable-vf-hint.ll
M llvm/test/Transforms/LoopVectorize/scalarized-bitcast.ll
M llvm/test/Transforms/LoopVectorize/uncountable-single-exit-loops.ll
M llvm/test/Transforms/LoopVectorize/vect.stats.ll
M llvm/test/Transforms/LoopVectorize/vplan-unused-interleave-group.ll
Log Message:
-----------
[LoopVectorize][NFC] Disable output for tests that don't need it (#124747)
There are a lot of tests that do not depend upon the IR output
for validation, relying instead on the debug output. For these
tests we can add the -disable-output command line argument.
Commit: 5d3ae5161210c068d01ffba36c8e0761e9971179
https://github.com/llvm/llvm-project/commit/5d3ae5161210c068d01ffba36c8e0761e9971179
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M mlir/include/mlir-c/BuiltinAttributes.h
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/CAPI/IR/BuiltinAttributes.cpp
M mlir/test/python/dialects/builtin.py
M mlir/test/python/ir/array_attributes.py
M mlir/test/python/ir/attributes.py
Log Message:
-----------
Reapply "[mlir][python] allow DenseIntElementsAttr for index type (#118947)" (#124804)
This reapplies #118947 and adapts to nanobind.
Commit: 9326633abd0e59fc77072488ee8cded4fe83c8a1
https://github.com/llvm/llvm-project/commit/9326633abd0e59fc77072488ee8cded4fe83c8a1
Author: Brad Smith <brad at comstyle.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
Log Message:
-----------
[lldb] Remove PATH workaround for Android (#124682)
Commit: 51c7338cc671c90ba9345b53c7ca01dc461341ed
https://github.com/llvm/llvm-project/commit/51c7338cc671c90ba9345b53c7ca01dc461341ed
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/cxx2a.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[clang][bytecode] Fix dummy handling for p2280r4 (#124396)
This makes some other problems show up like the fact that we didn't
suppress diagnostics during __builtin_constant_p evaluation.
Commit: e811cb00e533e9737db689e35ee6cb0d5af536cc
https://github.com/llvm/llvm-project/commit/e811cb00e533e9737db689e35ee6cb0d5af536cc
Author: Jean-Didier PAILLEUX <jean-di.pailleux at outlook.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Integration/unroll.f90
A flang/test/Lower/unroll.f90
M flang/test/Parser/compiler-directives.f90
M flang/test/Semantics/loop-directives.f90
Log Message:
-----------
[flang] Implement !DIR$ UNROLL [N] (#123331)
This patch implements support for the UNROLL directive to control how
many times a loop should be unrolled.
It must be placed immediately before a `DO LOOP` and applies only to the
loop that follows. N is an integer that specifying the unrolling factor.
This is done by adding an attribute to the branch into the loop in LLVM
to indicate that the loop should unrolled.
The code pushed to support the directive `VECTOR ALWAYS` has been
modified to take account of the fact that several directives can be used
before a `DO LOOP`.
Commit: 5a34e6fdceac40da3312d96273e4b5d767f4a481
https://github.com/llvm/llvm-project/commit/5a34e6fdceac40da3312d96273e4b5d767f4a481
Author: Jean-Didier PAILLEUX <jean-di.pailleux at outlook.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/runtime/extensions.cpp
A flang/test/Lower/Intrinsics/chdir.f90
Log Message:
-----------
[flang] Implement CHDIR intrinsic (#124280)
This intrinsic is a gnu extension
(https://gcc.gnu.org/onlinedocs/gfortran/CHDIR.html) and is used in
FLEUR (https://github.com/JuDFTteam/FLEUR).
Commit: e902cf2df1718b46f83ff132bf4ec5f84b163209
https://github.com/llvm/llvm-project/commit/e902cf2df1718b46f83ff132bf4ec5f84b163209
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/test/COFF/arm64x-export.test
Log Message:
-----------
[LLD][COFF] Write both native and EC export symbols to the import library on ARM64X (#124833)
Commit: 1ac3665e66c7ddb20ef26bc275ad005186ab09fb
https://github.com/llvm/llvm-project/commit/1ac3665e66c7ddb20ef26bc275ad005186ab09fb
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
Log Message:
-----------
[clang] Restrict the use of scalar types in vector builtins (#119423)
This commit restricts the use of scalar types in vector math builtins,
particularly the `__builtin_elementwise_*` builtins.
Previously, small scalar integer types would be promoted to `int`, as
per the usual conversions. This would silently do the wrong thing for
certain operations, such as `add_sat`, `popcount`, `bitreverse`, and
others. Similarly, since unsigned integer types were promoted to `int`,
something like `add_sat(unsigned char, unsigned char)` would perform a
*signed* operation.
With this patch, promotable scalar integer types are not promoted to
int, and are kept intact. If any of the types differ in the binary and
ternary builtins, an error is issued. Similarly an error is issued if
builtins are supplied integer types of different signs. Mixing enums of
different types in binary/ternary builtins now consistently raises an
error in all language modes.
This brings the behaviour surrounding scalar types more in line with
that of vector types. No change is made to vector types, which are both
not promoted and whose element types must match.
Fixes #84047.
RFC:
https://discourse.llvm.org/t/rfc-change-behaviour-of-elementwise-builtins-on-scalar-integer-types/83725
Commit: 2a1f79582f93505020339d47b0963d616541a6ab
https://github.com/llvm/llvm-project/commit/2a1f79582f93505020339d47b0963d616541a6ab
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/instructions.ll
Log Message:
-----------
[MLIR] Fix import of invokes with mismatched variadic types (#124828)
This resolves the same issue addressed in
https://github.com/llvm/llvm-project/pull/124286, but for invoke
operations. The issue arose from duplicated logic for both imports. This
PR also refactors the common import code for call and invoke
instructions to mitigate issues in the future.
Commit: 776ef9d1bec66875c554e8a5bd0e3ae8c9543d9a
https://github.com/llvm/llvm-project/commit/776ef9d1bec66875c554e8a5bd0e3ae8c9543d9a
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
Log Message:
-----------
[LoopVectorize][NFC] Regenerate some early exit test CHECK lines (#124900)
Commit: 9ea64dd8781328d831d7c69a586f0c84dece1c11
https://github.com/llvm/llvm-project/commit/9ea64dd8781328d831d7c69a586f0c84dece1c11
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M lldb/docs/resources/build.rst
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Make Python >= 3.8 required for LLDB 21 (#124735)
As decided on
https://discourse.llvm.org/t/rfc-lets-document-and-enforce-a-minimum-python-version-for-lldb/82731.
LLDB 20 recommended `>= 3.8` but did not remove support for anything
earlier. Now we are in what will become LLDB 21, so I'm removing that
support and making
`>= 3.8` required.
See https://docs.python.org/3/c-api/apiabiversion.html#c.PY_VERSION_HEX
for the format of PY_VERSION_HEX.
Commit: db567eaca07133a374991153635a119d9eec066b
https://github.com/llvm/llvm-project/commit/db567eaca07133a374991153635a119d9eec066b
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb][NFC] Format part of ScriptInterpreterPython.cpp
Was flagged in https://github.com/llvm/llvm-project/pull/124735
but done separately so it didn't get in the way of that.
Commit: 89e767f1277b43862ca417810f23f70596536b81
https://github.com/llvm/llvm-project/commit/89e767f1277b43862ca417810f23f70596536b81
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
Log Message:
-----------
[LoopIdiom] Move up atomic checks for memcpy/memmove (NFC) (#124535)
This patch moves up the checks that verify if it is legal to replace the
atomic load/store with memcpy. Currently these checks are done after we
determine to convert the load/store to memcpy/memmove, which makes the
logic a bit confusing.
This patch is a prelude to #50892
Commit: e80d934aa6c1a0adc18a1d7327eec5623fa68357
https://github.com/llvm/llvm-project/commit/e80d934aa6c1a0adc18a1d7327eec5623fa68357
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
R llvm/test/ExecutionEngine/2010-01-15-UndefValue.ll
A llvm/test/ExecutionEngine/Interpreter/2010-01-15-UndefValue.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-target-ext-type.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-cast.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-insertelement.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-insertextractvalue.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-loadstore.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-select.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-shift.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-shuffle.ll
R llvm/test/ExecutionEngine/test-interp-target-ext-type.ll
R llvm/test/ExecutionEngine/test-interp-vec-cast.ll
R llvm/test/ExecutionEngine/test-interp-vec-insertelement.ll
R llvm/test/ExecutionEngine/test-interp-vec-insertextractvalue.ll
R llvm/test/ExecutionEngine/test-interp-vec-loadstore.ll
R llvm/test/ExecutionEngine/test-interp-vec-select.ll
R llvm/test/ExecutionEngine/test-interp-vec-shift.ll
R llvm/test/ExecutionEngine/test-interp-vec-shuffle.ll
Log Message:
-----------
[MCJIT][test] Move remaining MCJIT interpreter tests to Interpreter/ subdirectory (#124744)
I left these alone in #124463 but I think it makes sense to clean these
up as well (which Philip also noted in #124464).
Commit: 89ca3e72ca03efbbfb5ae9b1c71d81f2d1753521
https://github.com/llvm/llvm-project/commit/89ca3e72ca03efbbfb5ae9b1c71d81f2d1753521
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/reduce-xor.ll
M llvm/test/Analysis/CostModel/X86/reduction.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
M llvm/test/Analysis/CostModel/X86/shuffle-transpose.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Analysis/CostModel/X86/vector-insert-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vector-insert-value.ll
M llvm/test/Analysis/CostModel/X86/vector-insert.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-partial-vector-shuffle.ll
M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
Log Message:
-----------
[CostModel][X86] Reduce worst case v8i16/v16i8 SSE2 shuffle costs (#124789)
These were based off instruction count, not throughput - we can probably improve these further, but these throughput numbers match the worse expanded shuffles we see in the vector-shuffle-128-v* codegen tests.
Commit: 690f251063d64a59c0c8065dce7023f1916af17c
https://github.com/llvm/llvm-project/commit/690f251063d64a59c0c8065dce7023f1916af17c
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/outer-dependency-lte.ll
Log Message:
-----------
[LoopInterchange] Handle LE and GE correctly (#124901)
LoopInterchange have converted `DVEntry::LE` and `DVEntry::GE` in
direction vectors to '<' and '>' respectively. This handling is
incorrect because the information about the '=' it lost. This leads to
miscompilation in some cases. To resolve this issue, convert them to '*'
instead.
Resolve #123920
Commit: f20b8e35b3bc276d09a6911746f9d44cbb5de297
https://github.com/llvm/llvm-project/commit/f20b8e35b3bc276d09a6911746f9d44cbb5de297
Author: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/test/Dialect/Linalg/transform-tile-and-winograd-rewrite.mlir
M mlir/test/Dialect/Linalg/transform-tile-winograd.mlir
Log Message:
-----------
[MLIR][Linalg] Fixes for Winograd decomposition and for tiling (#123675)
The PR addresses issues with the filters of 1 x r and of r x 1 and with
the tiling.
---------
Signed-off-by: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
Commit: 5e43418e0edbc365a9fbf699b19573e0cae4bcf4
https://github.com/llvm/llvm-project/commit/5e43418e0edbc365a9fbf699b19573e0cae4bcf4
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M clang/lib/Basic/Targets/ARM.cpp
A clang/test/Sema/arm-execute-only-tls.c
Log Message:
-----------
[ARM] Forbid use of TLS with execute-only (#124806)
Thread-local code generation requires constant pools because most of the
relocations needed for it operate on data, so it cannot be used with
-mexecute-only (or -mpure-code, which is aliased in the driver).
Without this we hit an assertion in the backend when trying to generate
a constant pool.
Commit: 36b3c43524c8ca86a5050496b8773f07c5ccddff
https://github.com/llvm/llvm-project/commit/36b3c43524c8ca86a5050496b8773f07c5ccddff
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/pauthlr-prologue-duplication.mir
Log Message:
-----------
[AArch64] PAUTH_PROLOGUE should not be duplicated with PAuthLR (#124775)
When using PAuthLR, the PAUTH_PROLOGUE expands into a sequence of
instructions which takes the address of one of those instructions, and
uses that address to compute the return address signature. If this is
duplicated, there will be two different addresses used in calculating
the signature, so the epilogue will only be correct for (at most) one of
them.
This change also restricts code generation when using v8.3-A return
address signing, without PAuthLR. This isn't strictly needed, as
duplicating the prologue there would be valid. We could fix this by
having two copies of PAUTH_PROLOGUE, with and without isNotDuplicable,
but I don't think it's worth adding the extra complexity to a security
feature for that.
Commit: 2b55ef187cb6029eed43d7f4c0a3640c32691b31
https://github.com/llvm/llvm-project/commit/2b55ef187cb6029eed43d7f4c0a3640c32691b31
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
Log Message:
-----------
[VPlan] Add helper to run VPlan passes, verify after run (NFC). (#123640)
Add new runPass helpers to run a VPlan transformation. This makes it
easier to add additional checks/functionality for each transform run. In
this patch, an option is added to run the verifier after each VPlan
transform.
Follow-ups will use the same helper to also support printing VPlans
after each transform.
Note that the verifier at the moment requires there to be a canonical IV
and vector loop region, so the final lowering transforms aren't run via
runPass yet.
PR: https://github.com/llvm/llvm-project/pull/123640
Commit: ecc71de53f8786269ce089501432ee555f98f55b
https://github.com/llvm/llvm-project/commit/ecc71de53f8786269ce089501432ee555f98f55b
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Runtime/extensions.h
M flang/runtime/extensions.cpp
A flang/test/Lower/Intrinsics/ierrno.f90
Log Message:
-----------
[flang] Implement IERRNO intrinsic (#124281)
Add the implementation of the IERRNO intrinsic to get the last system
error number, as given by the C errno variable.
This intrinsic is also used in RAMSES
(https://github.com/ramses-organisation/ramses/).
Commit: 12cdf4330d32ce073f88dfaa1ab9a32327b9ef38
https://github.com/llvm/llvm-project/commit/12cdf4330d32ce073f88dfaa1ab9a32327b9ef38
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
A libclc/clc/include/clc/integer/clc_add_sat.h
A libclc/clc/include/clc/integer/clc_sub_sat.h
M libclc/clc/lib/clspv/SOURCES
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/integer/clc_add_sat.cl
A libclc/clc/lib/generic/integer/clc_sub_sat.cl
M libclc/clc/lib/spirv/SOURCES
M libclc/clc/lib/spirv64/SOURCES
M libclc/generic/lib/integer/add_sat.cl
M libclc/generic/lib/integer/sub_sat.cl
M libclc/generic/lib/math/clc_ldexp.cl
Log Message:
-----------
[libclc] Move (add|sub)_sat to CLC; optimize (#124903)
Using the `__builtin_elementwise_(add|sub)_sat` functions allows us to
directly optimize to the desired intrinsic, and avoid scalarization for
vector types.
Commit: 9534d27e3321a3b9e6e79fe6328445575bf26b7b
https://github.com/llvm/llvm-project/commit/9534d27e3321a3b9e6e79fe6328445575bf26b7b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
Log Message:
-----------
[X86] vector-idiv-sdiv-512.ll - regenerate VPTERNLOG comments
Commit: 87782b216fd3e7a8f8b2de04d4af467b390e9a34
https://github.com/llvm/llvm-project/commit/87782b216fd3e7a8f8b2de04d4af467b390e9a34
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
A mlir/test/Dialect/X86Vector/dot-bf16.mlir
M mlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
M mlir/test/Dialect/X86Vector/roundtrip.mlir
M mlir/test/Target/LLVMIR/x86vector.mlir
Log Message:
-----------
[mlir][x86vector] AVX512-BF16 Dot op (#124800)
Adds AVX512 bf16 dot-product operation and defines lowering to LLVM
intrinsics.
AVX512 intrinsic operation definition is extended with an optional
extension field that allows specifying necessary LLVM mnemonic suffix
e.g., `"bf16"` for `x86_avx512bf16_` intrinsics.
Commit: 2f401458266ccd493802e603e3089dca61f8cf6e
https://github.com/llvm/llvm-project/commit/2f401458266ccd493802e603e3089dca61f8cf6e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-insert_subvector.ll
Log Message:
-----------
[RISCV][TTI]Use processShuffleMasks for cost estimations/actual per-register shuffles
Patch adds usage of processShuffleMasks in TTI for RISCV. This function is already used for X86
shuffles estimations and in DAGTypeLegalizer::SplitVecRes_VECTOR_SHUFFLE
functions and in RISCV codegen.
Patch allows better cost estimation for sparse masks and unifies
cost/codegen between different targets/passes
Reviewers: preames
Reviewed By: preames
Pull Request: https://github.com/llvm/llvm-project/pull/118103
Commit: 0a4edb5449e451732d68697dabd71e666c571b8e
https://github.com/llvm/llvm-project/commit/0a4edb5449e451732d68697dabd71e666c571b8e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-29 (Wed, 29 Jan 2025)
Changed paths:
M .ci/metrics/metrics.py
M .github/workflows/libcxx-build-and-test.yaml
M bolt/lib/Core/BinaryFunction.cpp
A bolt/test/AArch64/remove-nops.s
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/Diagnostics.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang/CMakeLists.txt
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/HIPSupport.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
A clang/docs/TypeSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/index.rst
M clang/include/clang/AST/ASTLambda.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/Builtins.td
R clang/include/clang/Basic/BuiltinsHexagon.def
A clang/include/clang/Basic/BuiltinsHexagon.td
R clang/include/clang/Basic/BuiltinsHexagonDep.def
R clang/include/clang/Basic/BuiltinsNVPTX.def
A clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticCategories.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/Version.inc.in
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_neon_incl.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Format/Format.h
M clang/include/clang/Sema/Sema.h
M clang/include/module.modulemap
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/EHScopeStack.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/LogDiagnosticPrinter.cpp
M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
M clang/lib/Frontend/TextDiagnosticPrinter.cpp
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/nvptxintrin.h
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/ast-dump-decl.c
M clang/test/AST/ast-dump-records.c
M clang/test/AST/ast-dump-records.cpp
M clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
M clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
M clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
M clang/test/AST/attr-counted-by-struct-ptrs.c
M clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
M clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
M clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
M clang/test/AST/attr-sized-by-struct-ptrs.c
A clang/test/Analysis/Inputs/ctu-test-import-failure-import.cpp
A clang/test/Analysis/Inputs/ctu-test-import-failure-import.cpp.externalDefMap.ast-dump.txt
A clang/test/Analysis/anonymous-parameter.cpp
A clang/test/Analysis/ctu-test-import-failure.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg12xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/expr/expr.const/p3-0x.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-0x.cpp
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
A clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/builtins-elementwise-math.c
M clang/test/CodeGen/builtins-nvptx.c
A clang/test/CodeGen/extend-variable-liveness-except.cpp
A clang/test/CodeGen/extend-variable-liveness-wide-scalar.cpp
A clang/test/CodeGen/extend-variable-liveness.c
A clang/test/CodeGen/fake-use-determinism.c
A clang/test/CodeGen/fake-use-lambda.cpp
A clang/test/CodeGen/fake-use-landingpad.c
A clang/test/CodeGen/fake-use-noreturn.cpp
A clang/test/CodeGen/fake-use-return-line.c
A clang/test/CodeGen/fake-use-sanitizer.cpp
A clang/test/CodeGen/fake-use-scalar.c
A clang/test/CodeGen/fake-use-this.cpp
A clang/test/CodeGen/fake-use-while.c
M clang/test/CodeGen/integer-overflow.c
A clang/test/CodeGen/pointer-overflow.c
M clang/test/CodeGenCUDA/offloading-entries.cu
A clang/test/CodeGenCXX/debug-info-ms-novtable.cpp
A clang/test/CodeGenCXX/gh119046.cpp
A clang/test/CodeGenHLSL/builtins/WaveActiveMax.hlsl
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/Driver/clang_wrapv_opts.c
A clang/test/Driver/extend-variable-liveness.c
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/Frontend/custom-diag-werror-interaction.c
M clang/test/Headers/__cpuidex_conflict.c
M clang/test/Import/cxx-anon-namespace/test.cpp
M clang/test/Modules/cxx-templates.cpp
M clang/test/Modules/odr_hash.cpp
M clang/test/OpenMP/declare_mapper_codegen.cpp
M clang/test/OpenMP/declare_target_codegen.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/nvptx_target_requires_unified_shared_memory.cpp
M clang/test/OpenMP/openmp_offload_registration.cpp
M clang/test/OpenMP/target_codegen.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_depend_codegen.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_simd_codegen.cpp
M clang/test/OpenMP/target_simd_codegen_registration.cpp
M clang/test/OpenMP/target_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_codegen_registration.cpp
M clang/test/OpenMP/target_teams_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
R clang/test/Preprocessor/builtin_aux_info.cpp
A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_cvt.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_fdot.c
A clang/test/Sema/aarch64-fp8-intrinsics/acle_neon_fp8_fmla.c
A clang/test/Sema/aarch64-sme-attrs-openmp-captured-region.c
A clang/test/Sema/arm-execute-only-tls.c
M clang/test/Sema/attr-cpuspecific.c
M clang/test/Sema/attr-target-mv.c
M clang/test/Sema/attr-target-version.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/diagnose_if.c
M clang/test/Sema/nullptr-prec2x.c
M clang/test/Sema/nullptr.c
M clang/test/Sema/tautological-pointer-comparison.c
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
A clang/test/SemaCXX/diagnose_if-warning-group.cpp
A clang/test/SemaCXX/member-enum-declarations.cpp
M clang/test/SemaCXX/warn-unused-private-field.cpp
A clang/test/SemaHLSL/BuiltIns/WaveActiveMax-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
M clang/test/SemaObjCXX/noescape.mm
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/deduction-crash.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/default-arguments.cpp
M clang/test/SemaTemplate/instantiate-template-template-parm.cpp
M clang/test/SemaTemplate/instantiation-default-2.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
M clang/test/SemaTemplate/temp_arg_template.cpp
M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
M clang/tools/diagtool/ListWarnings.cpp
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/libclang/CXStoredDiagnostic.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M cmake/Modules/LLVMVersion.cmake
M compiler-rt/lib/asan/asan_allocator.cpp
M compiler-rt/lib/asan/asan_suppressions.cpp
M compiler-rt/lib/asan/asan_suppressions.h
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/safestack/safestack_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/tsan/go/buildgo.sh
M compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
R compiler-rt/lib/tsan/rtl/tsan_spinlock_defs_mac.h
A compiler-rt/test/asan/TestCases/suppressions-alloc-dealloc-mismatch.cpp
M flang/CMakeLists.txt
M flang/docs/Intrinsics.md
M flang/docs/ModFiles.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/shape.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Optimizer/Builder/Runtime/Main.h
M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
A flang/include/flang/Runtime/CUDA/init.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Common/default-kinds.cpp
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/TextDiagnosticPrinter.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/HlfirIntrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Main.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-coarray.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-labels.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/cudadevice.f90
M flang/runtime/CUDA/CMakeLists.txt
A flang/runtime/CUDA/init.cpp
M flang/runtime/environment.cpp
M flang/runtime/environment.h
M flang/runtime/exceptions.cpp
M flang/runtime/extensions.cpp
M flang/runtime/io-api.cpp
A flang/test/Evaluate/bug123766.f90
A flang/test/Evaluate/bug124191.f90
A flang/test/Evaluate/fold-arr-char-component.f90
M flang/test/Fir/boxproc.fir
M flang/test/Fir/convert-to-llvm.fir
A flang/test/HLFIR/getextent-codegen.fir
M flang/test/HLFIR/invalid.fir
A flang/test/HLFIR/reshape-lowering.fir
A flang/test/HLFIR/reshape.fir
R flang/test/HLFIR/unroll-loops.fir
A flang/test/Integration/debug-common-block-1.f90
M flang/test/Integration/debug-cyclic-derived-type-3.f90
M flang/test/Integration/unroll-loops.f90
A flang/test/Integration/unroll.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
A flang/test/Lower/HLFIR/reshape.f90
A flang/test/Lower/HLFIR/unroll-loops.fir
A flang/test/Lower/Intrinsics/chdir.f90
A flang/test/Lower/Intrinsics/ierrno.f90
A flang/test/Lower/unroll.f90
M flang/test/Parser/compiler-directives.f90
A flang/test/Semantics/OpenMP/cray-pointer-usage.f90
M flang/test/Semantics/atomic01.f90
M flang/test/Semantics/atomic02.f90
M flang/test/Semantics/atomic03.f90
M flang/test/Semantics/atomic04.f90
M flang/test/Semantics/atomic05.f90
M flang/test/Semantics/atomic06.f90
M flang/test/Semantics/atomic07.f90
M flang/test/Semantics/atomic08.f90
M flang/test/Semantics/atomic09.f90
M flang/test/Semantics/atomic10.f90
M flang/test/Semantics/atomic11.f90
M flang/test/Semantics/bind-c06.f90
A flang/test/Semantics/bug123534.f90
A flang/test/Semantics/bug123538.f90
M flang/test/Semantics/call04.f90
M flang/test/Semantics/call08.f90
M flang/test/Semantics/call13.f90
M flang/test/Semantics/call38.f90
M flang/test/Semantics/complex01.f90
M flang/test/Semantics/critical02.f90
M flang/test/Semantics/doconcurrent01.f90
M flang/test/Semantics/event01b.f90
M flang/test/Semantics/event02b.f90
M flang/test/Semantics/event_query.f90
M flang/test/Semantics/kinds04_q10.f90
A flang/test/Semantics/label19.f90
M flang/test/Semantics/loop-directives.f90
A flang/test/Semantics/modfile71.F90
M flang/test/Semantics/sync-stat-list.f90
A flang/test/Transforms/debug-common-block.fir
M flang/test/Transforms/debug-module-1.fir
M flang/test/Transforms/debug-module-2.fir
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
M flang/test/Transforms/generic-loop-rewriting.mlir
M libc/CMakeLists.txt
A libc/cmake/caches/gpu.cmake
A libc/cmake/modules/LLVMLibCCheckMPC.cmake
M libc/docs/gpu/building.rst
M libc/docs/gpu/rpc.rst
M libc/include/llvm-libc-macros/unistd-macros.h
M libc/include/locale.h.def
M libc/include/locale.yaml
M libc/include/math.h.def
M libc/include/setjmp.h.def
M libc/include/spawn.yaml
M libc/include/stdlib.h.def
M libc/include/stdlib.yaml
M libc/include/string.h.def
M libc/include/string.yaml
M libc/include/sys/resource.yaml
M libc/include/sys/time.h.def
M libc/include/sys/time.yaml
M libc/include/wchar.h.def
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/type_traits.h
M libc/src/__support/FPUtil/except_value_utils.h
A libc/src/__support/complex_basic_ops.h
M libc/src/__support/complex_type.h
M libc/src/complex/generic/CMakeLists.txt
M libc/src/complex/generic/conj.cpp
M libc/src/complex/generic/conjf.cpp
M libc/src/complex/generic/conjf128.cpp
M libc/src/complex/generic/conjf16.cpp
M libc/src/complex/generic/conjl.cpp
M libc/src/complex/generic/cproj.cpp
M libc/src/complex/generic/cprojf.cpp
M libc/src/complex/generic/cprojf128.cpp
M libc/src/complex/generic/cprojf16.cpp
M libc/src/complex/generic/cprojl.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/CMakeLists.txt
M libc/test/src/complex/CMakeLists.txt
M libc/test/src/complex/cprojf_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/exp2m1f16_test.cpp
M libc/test/src/math/smoke/sinpif16_test.cpp
M libc/utils/CMakeLists.txt
A libc/utils/MPCWrapper/CMakeLists.txt
A libc/utils/MPCWrapper/MPCUtils.cpp
A libc/utils/MPCWrapper/MPCUtils.h
A libc/utils/MPCWrapper/check_mpc.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
A libc/utils/MPFRWrapper/MPCommon.cpp
A libc/utils/MPFRWrapper/MPCommon.h
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
A libclc/clc/include/clc/integer/clc_add_sat.h
A libclc/clc/include/clc/integer/clc_sub_sat.h
A libclc/clc/include/clc/math/clc_copysign.h
A libclc/clc/include/clc/math/clc_subnormal_config.h
A libclc/clc/include/clc/math/math.h
A libclc/clc/include/clc/math/tables.h
M libclc/clc/include/clc/relational/relational.h
A libclc/clc/include/clc/shared/binary_def.inc
M libclc/clc/lib/clspv/SOURCES
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/integer/clc_add_sat.cl
A libclc/clc/lib/generic/integer/clc_sub_sat.cl
A libclc/clc/lib/generic/math/clc_copysign.cl
M libclc/clc/lib/generic/relational/clc_all.cl
M libclc/clc/lib/generic/relational/clc_any.cl
M libclc/clc/lib/generic/relational/clc_isfinite.cl
M libclc/clc/lib/generic/relational/clc_isinf.cl
M libclc/clc/lib/generic/relational/clc_isnan.cl
M libclc/clc/lib/generic/relational/clc_isnormal.cl
M libclc/clc/lib/generic/relational/clc_isordered.cl
M libclc/clc/lib/generic/relational/clc_isunordered.cl
M libclc/clc/lib/generic/relational/clc_signbit.cl
M libclc/clc/lib/spirv/SOURCES
M libclc/clc/lib/spirv64/SOURCES
M libclc/clspv/lib/math/fma.cl
M libclc/clspv/lib/subnormal_config.cl
R libclc/generic/include/config.h
M libclc/generic/include/math/clc_ldexp.h
M libclc/generic/lib/integer/add_sat.cl
M libclc/generic/lib/integer/sub_sat.cl
M libclc/generic/lib/math/acos.cl
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/acospi.cl
M libclc/generic/lib/math/asin.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/asinpi.cl
M libclc/generic/lib/math/atan.cl
M libclc/generic/lib/math/atan2.cl
M libclc/generic/lib/math/atan2pi.cl
M libclc/generic/lib/math/atanh.cl
M libclc/generic/lib/math/atanpi.cl
M libclc/generic/lib/math/cbrt.cl
M libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/clc_fma.cl
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_hypot.cl
M libclc/generic/lib/math/clc_ldexp.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_remainder.cl
M libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/clc_tan.cl
M libclc/generic/lib/math/clc_tanpi.cl
M libclc/generic/lib/math/copysign.cl
M libclc/generic/lib/math/cos.cl
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/cospi.cl
M libclc/generic/lib/math/ep_log.cl
M libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/erf.cl
M libclc/generic/lib/math/erfc.cl
M libclc/generic/lib/math/exp.cl
M libclc/generic/lib/math/exp2.cl
M libclc/generic/lib/math/exp_helper.cl
M libclc/generic/lib/math/expm1.cl
M libclc/generic/lib/math/fdim.cl
M libclc/generic/lib/math/fma.cl
M libclc/generic/lib/math/ilogb.cl
M libclc/generic/lib/math/ldexp.cl
M libclc/generic/lib/math/lgamma_r.cl
M libclc/generic/lib/math/log10.cl
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/log2.cl
M libclc/generic/lib/math/log_base.h
M libclc/generic/lib/math/logb.cl
R libclc/generic/lib/math/math.h
M libclc/generic/lib/math/modf.cl
M libclc/generic/lib/math/sin.cl
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
M libclc/generic/lib/math/sinh.cl
M libclc/generic/lib/math/sinpi.cl
M libclc/generic/lib/math/tables.cl
R libclc/generic/lib/math/tables.h
M libclc/generic/lib/math/tanh.cl
M libclc/generic/lib/math/tgamma.cl
M libclc/generic/lib/subnormal_config.cl
M libclc/r600/lib/math/fmax.cl
M libclc/r600/lib/math/fmin.cl
M libclc/spirv/lib/subnormal_config.cl
M libclc/spirv64/lib/subnormal_config.cl
M libcxx/docs/ReleaseNotes.rst
M libcxx/docs/ReleaseNotes/20.rst
A libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/__config
M libcxx/include/__configuration/compiler.h
M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/fuchsia.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__new/allocate.h
M libcxx/include/__type_traits/promote.h
M libcxx/src/experimental/time_zone.cpp
M libcxx/src/include/overridable_function.h
M libcxx/src/iostream.cpp
M libcxx/src/locale.cpp
M libcxx/src/new.cpp
M libcxx/src/support/win32/locale_win32.cpp
M libcxx/src/system_error.cpp
M libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.split/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.factories/range.istream.view/no_unique_address.compile.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/array.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_copy.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_unary.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/ctor/ctor.copy.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h
M libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.equivalence.compile.pass.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/robust_against_adl.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
M libcxxabi/src/cxa_exception_storage.cpp
M libcxxabi/src/stdlib_new_delete.cpp
M lld/COFF/Config.h
M lld/COFF/DLL.cpp
M lld/COFF/DLL.h
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
R lld/Common/BPSectionOrdererBase.cpp
M lld/Common/CMakeLists.txt
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Writer.cpp
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/BPSectionOrderer.h
M lld/MachO/CMakeLists.txt
M lld/MachO/ObjC.cpp
M lld/MachO/Writer.cpp
M lld/docs/ReleaseNotes.rst
R lld/include/lld/Common/BPSectionOrdererBase.h
A lld/include/lld/Common/BPSectionOrdererBase.inc
A lld/test/COFF/arm64x-delayimport.test
M lld/test/COFF/arm64x-export.test
M lld/test/ELF/archive-thin-missing-member.s
M lld/test/ELF/arm-thumb-thunk-v6m-xo.s
M lld/test/ELF/arm-thunk-section-too-large.s
M lld/test/ELF/arm-thunk-toolargesection.s
M lld/test/ELF/arm-v5-reloc-error.s
M lld/test/ELF/bad-archive.s
M lld/test/ELF/fatlto/fatlto.invalid.s
M lld/test/ELF/gc-sections.s
M lld/test/ELF/invalid-cie-reference.s
M lld/test/ELF/invalid/comdat-broken.test
M lld/test/ELF/invalid/data-encoding.test
M lld/test/ELF/invalid/dynamic-section-broken.test
M lld/test/ELF/invalid/invalid-elf.test
M lld/test/ELF/invalid/invalid-file-class.test
M lld/test/ELF/invalid/sht-group-wrong-section.test
M lld/test/ELF/invalid/sht-group.test
M lld/test/ELF/invalid/symtab-sh-info.s
M lld/test/ELF/invalid/verneed-shared.test
M lld/test/ELF/lto/bitcode-nodatalayout.ll
M lld/test/ELF/lto/bitcode-wrapper.ll
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
M lld/test/ELF/lto/internalize-exportdyn.ll
M lld/test/ELF/lto/relocation-model-pic.ll
M lld/test/ELF/lto/relocation-model-static.ll
M lld/test/ELF/partition-errors.s
M lld/test/ELF/partition-icf.s
M lld/test/ELF/partition-move-to-main-startstop.s
M lld/test/ELF/partition-thunk-reuse.s
M lld/test/ELF/partitions.s
M lld/test/ELF/riscv-gp.s
M lld/test/ELF/unsupported-emachine.test
M lld/test/ELF/weak-undef-lib.s
M lld/test/lit.cfg.py
A lld/test/wasm/shared-lazy.s
M lld/wasm/SymbolTable.cpp
M lldb/docs/resources/build.rst
M lldb/docs/use/aarch64-linux.md
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/API/SBDefines.h
M lldb/include/lldb/API/SBProgress.h
M lldb/source/API/SBProgress.cpp
M lldb/source/Host/common/Host.cpp
M lldb/source/Host/common/Socket.cpp
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.h
M lldb/source/Plugins/Process/elf-core/RegisterUtilities.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
A lldb/test/API/linux/aarch64/gcs/corefile
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/IOStream.h
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
M lldb/utils/lldb-dotest/lldb-dotest.in
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/LangRef.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/RemoveDIsDebugInfo.md
M llvm/examples/IRTransforms/SimplifyCFG.cpp
M llvm/include/llvm/ADT/StringTable.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/Frontend/Offloading/Utility.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/Object/SymbolicFile.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/Support/AArch64BuildAttributes.h
M llvm/include/llvm/Support/GlobPattern.h
M llvm/include/llvm/TableGen/StringToOffsetTable.h
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
M llvm/include/llvm/Transforms/Instrumentation/LowerAllowCheckPass.h
M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
M llvm/include/llvm/Transforms/Utils/UnrollLoop.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/RegisterCoalescer.h
M llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/TargetRegistry.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/SandboxIR/Instruction.cpp
M llvm/lib/SandboxIR/Tracker.cpp
M llvm/lib/Support/AArch64BuildAttributes.cpp
A llvm/lib/Support/ARMBuildAttributes.cpp
R llvm/lib/Support/ARMBuildAttrs.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/MemAlloc.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/Unix/Threading.inc
M llvm/lib/TableGen/Main.cpp
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/BPF/BPFMIPeephole.cpp
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonOptimizeSZextends.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoXMips.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
A llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/Internalize.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
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/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/reduce-xor.ll
M llvm/test/Analysis/CostModel/X86/reduction.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
M llvm/test/Analysis/CostModel/X86/shuffle-transpose.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Analysis/CostModel/X86/vector-insert-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vector-insert-value.ll
M llvm/test/Analysis/CostModel/X86/vector-insert.ll
M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
M llvm/test/Analysis/ScalarEvolution/pr123550.ll
M llvm/test/Analysis/ValueTracking/phi-known-bits.ll
A llvm/test/CodeGen/AArch64/arm64-prefetch-addrmode.ll
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
M llvm/test/CodeGen/AArch64/const-shift-of-constmasked.ll
M llvm/test/CodeGen/AArch64/extract-bits.ll
A llvm/test/CodeGen/AArch64/fp8-neon-fdot.ll
A llvm/test/CodeGen/AArch64/fp8-neon-fmla.ll
M llvm/test/CodeGen/AArch64/fpenv.ll
M llvm/test/CodeGen/AArch64/fptrunc.ll
A llvm/test/CodeGen/AArch64/neon-fp8-cvt.ll
A llvm/test/CodeGen/AArch64/pauthlr-prologue-duplication.mir
M llvm/test/CodeGen/AArch64/xbfiz.ll
A llvm/test/CodeGen/AArch64/zeroing-forms-ext.ll
A llvm/test/CodeGen/AArch64/zeroing-forms-rev.ll
A llvm/test/CodeGen/AArch64/zeroing-forms-urecpe-ursqrte-sqabs-sqneg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-memory-metadata.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-split-scalar-load-metadata.mir
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx950.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.sr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.read.tr.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.pk.add.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.buffer.atomic.fadd_rtn_errors.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/mad.u16.ll
M llvm/test/CodeGen/AMDGPU/mmra.ll
M llvm/test/CodeGen/AMDGPU/nested-calls.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-invariant-markers.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
A llvm/test/CodeGen/BPF/may_goto_1.ll
A llvm/test/CodeGen/BPF/may_goto_2.ll
A llvm/test/CodeGen/DirectX/WaveActiveMax.ll
M llvm/test/CodeGen/MIR/X86/fake-use-tailcall.mir
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/CodeGen/RISCV/debug-line.ll
M llvm/test/CodeGen/RISCV/kcfi-mir.ll
M llvm/test/CodeGen/RISCV/live-sp.mir
M llvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
M llvm/test/CodeGen/RISCV/rvv/addi-scalable-offset.mir
M llvm/test/CodeGen/RISCV/rvv/emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
M llvm/test/CodeGen/RISCV/rvv/vlopt-same-vl.ll
M llvm/test/CodeGen/RISCV/select-and.ll
M llvm/test/CodeGen/RISCV/select-bare.ll
M llvm/test/CodeGen/RISCV/select-cc.ll
M llvm/test/CodeGen/RISCV/select-or.ll
M llvm/test/CodeGen/RISCV/stack-inst-compress.mir
M llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir
M llvm/test/CodeGen/RISCV/zcmp-cm-push-pop.mir
A llvm/test/CodeGen/RISCV/zdinx-memoperand.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveMax.ll
M llvm/test/CodeGen/WebAssembly/exception.ll
A llvm/test/CodeGen/X86/fake-use-remove-loads.mir
M llvm/test/CodeGen/X86/fake-use-simple-tail-call.ll
M llvm/test/CodeGen/X86/fake-use-zero-length.ll
M llvm/test/CodeGen/X86/jump-table-partition.ll
A llvm/test/CodeGen/X86/pr124255.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
M llvm/test/DebugInfo/AArch64/fake-use-global-isel.ll
M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
M llvm/test/DebugInfo/X86/fake-use.ll
R llvm/test/ExecutionEngine/2010-01-15-UndefValue.ll
A llvm/test/ExecutionEngine/Interpreter/2010-01-15-UndefValue.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-target-ext-type.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-cast.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-insertelement.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-insertextractvalue.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-loadstore.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-select.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-shift.ll
A llvm/test/ExecutionEngine/Interpreter/test-interp-vec-shuffle.ll
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth_dependencies.s
A llvm/test/ExecutionEngine/MCJIT/fma3-jit.ll
A llvm/test/ExecutionEngine/MCJIT/frem.ll
A llvm/test/ExecutionEngine/MCJIT/mov64zext32.ll
A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-arithm_float.ll
A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-arithm_int.ll
A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-logical.ll
A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-setcond-fp.ll
A llvm/test/ExecutionEngine/MCJIT/test-interp-vec-setcond-int.ll
R llvm/test/ExecutionEngine/fma3-jit.ll
R llvm/test/ExecutionEngine/frem.ll
M llvm/test/ExecutionEngine/lit.local.cfg
R llvm/test/ExecutionEngine/mov64zext32.ll
R llvm/test/ExecutionEngine/test-interp-target-ext-type.ll
R llvm/test/ExecutionEngine/test-interp-vec-arithm_float.ll
R llvm/test/ExecutionEngine/test-interp-vec-arithm_int.ll
R llvm/test/ExecutionEngine/test-interp-vec-cast.ll
R llvm/test/ExecutionEngine/test-interp-vec-insertelement.ll
R llvm/test/ExecutionEngine/test-interp-vec-insertextractvalue.ll
R llvm/test/ExecutionEngine/test-interp-vec-loadstore.ll
R llvm/test/ExecutionEngine/test-interp-vec-logical.ll
R llvm/test/ExecutionEngine/test-interp-vec-select.ll
R llvm/test/ExecutionEngine/test-interp-vec-setcond-fp.ll
R llvm/test/ExecutionEngine/test-interp-vec-setcond-int.ll
R llvm/test/ExecutionEngine/test-interp-vec-shift.ll
R llvm/test/ExecutionEngine/test-interp-vec-shuffle.ll
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll
A llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
A llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt
A llvm/test/MC/RISCV/xmips-invalid.s
A llvm/test/MC/RISCV/xmips-valid.s
M llvm/test/MC/RISCV/xqciac-invalid.s
M llvm/test/MC/RISCV/xqciac-valid.s
A llvm/test/MachineVerifier/AMDGPU/test_g_incompatible_range.mir
M llvm/test/Other/new-pm-lto-defaults.ll
M llvm/test/TableGen/BitsInit.td
A llvm/test/TableGen/BitsInitErrors.td
M llvm/test/TableGen/HwModeSelect.td
M llvm/test/TableGen/MixedCasedMnemonic.td
M llvm/test/TableGen/SDNodeInfoEmitter/ambiguous-constraints.td
M llvm/test/TableGen/SDNodeInfoEmitter/basic.td
M llvm/test/TableGen/SDNodeInfoEmitter/namespace.td
M llvm/test/TableGen/SDNodeInfoEmitter/skipped-nodes.td
M llvm/test/Transforms/AggressiveInstCombine/memchr.ll
M llvm/test/Transforms/CodeGenPrepare/X86/fake-use-split-ret.ll
M llvm/test/Transforms/GVN/fake-use-constprop.ll
M llvm/test/Transforms/InstCombine/add2.ll
M llvm/test/Transforms/InstCombine/select-cmp.ll
A llvm/test/Transforms/LoopInterchange/outer-dependency-lte.ll
A llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invariant-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/no_vector_instructions.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization-cost-tuning.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/streaming-vectorization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-outerloop-scevaddrec.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/ARM/arm-ieee-vectorize.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/force-vect-msg.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-interleaved.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i16-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i8-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-01uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-load-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-interleaved-store-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-scatter-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-scatter-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-store-i8.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i16-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/scatter-i8-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/strided-load-i8.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/explicit_outer_detection.ll
M llvm/test/Transforms/LoopVectorize/explicit_outer_nonuniform_inner.ll
M llvm/test/Transforms/LoopVectorize/explicit_outer_uniform_diverg_branch.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-neg-off.ll
M llvm/test/Transforms/LoopVectorize/loop-vect-memdep.ll
M llvm/test/Transforms/LoopVectorize/nounroll.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-limitations.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-scalable.ll
M llvm/test/Transforms/LoopVectorize/scalable-vf-hint.ll
M llvm/test/Transforms/LoopVectorize/scalarized-bitcast.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/uncountable-single-exit-loops.ll
M llvm/test/Transforms/LoopVectorize/vect.stats.ll
M llvm/test/Transforms/LoopVectorize/vplan-unused-interleave-group.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-minimal.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/PhaseOrdering/vector-trunc-inseltpoison.ll
M llvm/test/Transforms/PhaseOrdering/vector-trunc.ll
A llvm/test/Transforms/SLPVectorizer/ARM/main-gep-with-non-matching-reqs.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/partial-vec-invalid-cost.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
M llvm/test/Transforms/SLPVectorizer/X86/load-partial-vector-shuffle.ll
A llvm/test/Transforms/SLPVectorizer/X86/resized-bv-values-non-power-of2-node.ll
M llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop.ll
M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
M llvm/test/Transforms/lower-builtin-allow-check.ll
M llvm/test/lit.cfg.py
A llvm/test/tools/llvm-mca/RISCV/SiFiveP500/alu.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP500/fp.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP500/load.s
M llvm/tools/lli/lli.cpp
M llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/Object/SymbolicFileTest.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/Target/SPIRV/CMakeLists.txt
M llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerTest.cpp
M llvm/unittests/tools/llvm-exegesis/PowerPC/TargetTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/TargetTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/TestBase.h
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/SDNodeInfoEmitter.cpp
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/lld/Common/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn
M llvm/utils/gn/secondary/llvm/version.gni
M llvm/utils/lit/lit/__init__.py
M mlir/examples/toy/Ch4/mlir/ShapeInferencePass.cpp
M mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch5/mlir/ShapeInferencePass.cpp
M mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
M mlir/examples/toy/Ch6/mlir/ShapeInferencePass.cpp
M mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
M mlir/examples/toy/Ch7/mlir/ShapeInferencePass.cpp
M mlir/include/mlir-c/BuiltinAttributes.h
M mlir/include/mlir/Analysis/DataFlowFramework.h
M mlir/include/mlir/Conversion/LLVMCommon/PrintCallHelper.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/include/mlir/Dialect/LLVMIR/FunctionCallUtils.h
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/include/mlir/Dialect/Vector/IR/Vector.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/include/mlir/IR/CMakeLists.txt
M mlir/include/mlir/IR/OpAsmInterface.td
M mlir/include/mlir/IR/OpImplementation.h
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Transforms/Passes.td
M mlir/lib/Analysis/DataFlowFramework.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/CAPI/IR/BuiltinAttributes.cpp
M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/LLVMCommon/PrintCallHelper.cpp
M mlir/lib/Conversion/MemRefToLLVM/AllocLikeConversion.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRVPass.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
M mlir/lib/Dialect/NVGPU/Transforms/OptimizeSharedMemory.cpp
M mlir/lib/Dialect/Tensor/IR/TensorInferTypeOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeDepthwise.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorShapeCast.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/Interfaces/InferTypeOpInterface.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Transforms/CMakeLists.txt
M mlir/lib/Transforms/Canonicalizer.cpp
M mlir/python/mlir/dialects/linalg/__init__.py
M mlir/test/Conversion/MemRefToLLVM/invalid.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/reshape_fusion.mlir
M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
M mlir/test/Dialect/Linalg/transform-tile-and-winograd-rewrite.mlir
M mlir/test/Dialect/Linalg/transform-tile-winograd.mlir
M mlir/test/Dialect/Math/expand-math.mlir
M mlir/test/Dialect/MemRef/normalize-memrefs.mlir
M mlir/test/Dialect/NVGPU/optimize-shared-memory.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
M mlir/test/Dialect/Tensor/bufferize.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-depthwise.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/Dialect/Vector/ops.mlir
M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned.mlir
M mlir/test/Dialect/Vector/vector-shape-cast-lowering-transforms.mlir
A mlir/test/Dialect/X86Vector/dot-bf16.mlir
M mlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
M mlir/test/Dialect/X86Vector/roundtrip.mlir
A mlir/test/IR/op-asm-interface.mlir
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/nvvmir.mlir
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-host.mlir
A mlir/test/Target/LLVMIR/omptarget-nowait-host-only.mlir
M mlir/test/Target/LLVMIR/x86vector.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/test/lit.cfg.py
M mlir/test/mlir-runner/test-expand-math-approx.mlir
M mlir/test/mlir-tblgen/attr-or-type-builder-invalid.td
M mlir/test/python/dialects/builtin.py
M mlir/test/python/dialects/linalg/ops.py
M mlir/test/python/ir/array_attributes.py
M mlir/test/python/ir/attributes.py
A mlir/utils/emacs/tblgen-lsp-client.el
M offload/DeviceRTL/src/Misc.cpp
M offload/include/PluginManager.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/src/PluginManager.cpp
M offload/test/offloading/requires.c
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
M openmp/docs/ReleaseNotes.rst
M openmp/runtime/tools/summarizeStats.py
M polly/docs/Architecture.rst
M polly/docs/doxygen.cfg.in
M polly/include/polly/CodeGen/IslExprBuilder.h
M polly/include/polly/CodeGen/RuntimeDebugBuilder.h
M polly/include/polly/DependenceInfo.h
M polly/include/polly/ScopInfo.h
M polly/include/polly/Support/SCEVAffinator.h
M polly/include/polly/Support/ScopHelper.h
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
M polly/lib/CodeGen/IslExprBuilder.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/CodeGen/Utils.cpp
M polly/lib/Support/SCEVAffinator.cpp
M polly/lib/Support/ScopHelper.cpp
M polly/lib/Transform/DeLICM.cpp
M polly/lib/Transform/ManualOptimizer.cpp
M polly/lib/Transform/MatmulOptimizer.cpp
M polly/lib/Transform/ScheduleOptimizer.cpp
M polly/lib/Transform/ScheduleTreeTransform.cpp
M polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
M polly/test/CodeGen/multiple-codegens.ll
M polly/test/CodeGen/multiple-scops-in-a-row.ll
M polly/test/CodeGen/reduction_2.ll
M polly/test/CodeGen/scalar-store-from-same-bb.ll
M polly/test/CodeGen/test-invalid-operands-for-select.ll
M polly/test/DeLICM/load-in-cond-inf-loop.ll
M polly/test/DeLICM/pr41656.ll
M polly/test/DeLICM/pr48783.ll
M polly/test/DeLICM/reject_outofquota.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll
M polly/test/ScopDetect/scev_remove_max.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
M polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
M polly/test/ScopInfo/allow-all-parameters-dereferencable.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll
M polly/test/ScopInfo/multidim_gep_pointercast2.ll
M polly/test/ScopInfo/multidim_many_references.ll
M polly/test/ScopInfo/scalar_to_array.ll
M polly/test/ScopInfo/zero_ext_of_truncate.ll
M polly/test/create_ll.sh
M polly/utils/pyscop/isl.py
M polly/www/changelog.html
M polly/www/get_started.html
M polly/www/index.html
M polly/www/projects.html
M polly/www/publications.html
M pstl/docs/ReleaseNotes.rst
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Rebase
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/50c3ea5f6e30...0a4edb5449e4
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