[all-commits] [llvm/llvm-project] bafbe3: [NVPTX] Add support for atomic add for bf16 type (...
Amir Ayupov via All-commits
all-commits at lists.llvm.org
Fri May 10 22:23:32 PDT 2024
Branch: refs/heads/users/aaupov/spr/main.bolt-set-entry-counts-in-bat-yaml-profile
Home: https://github.com/llvm/llvm-project
Commit: bafbe39778a972d0f2869980de22fb00c03a6a35
https://github.com/llvm/llvm-project/commit/bafbe39778a972d0f2869980de22fb00c03a6a35
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/atomics-sm90.ll
Log Message:
-----------
[NVPTX] Add support for atomic add for bf16 type (#89586)
atom.add.noftz.bf16 is supported since SM 9.0 and PTX 7.8
Commit: 3aba4b5b4fe1634fc6f9919f987ddf1bb5a57813
https://github.com/llvm/llvm-project/commit/3aba4b5b4fe1634fc6f9919f987ddf1bb5a57813
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M libcxx/include/__functional/is_transparent.h
M libcxx/include/map
M libcxx/include/set
M libcxx/include/unordered_map
M libcxx/include/unordered_set
Log Message:
-----------
[libc++][NFC] Refactor __is_transparent to be a variable template (#90865)
Commit: 9ef28cf88ca6e45c3ecb75c649463f8797db68d2
https://github.com/llvm/llvm-project/commit/9ef28cf88ca6e45c3ecb75c649463f8797db68d2
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/pr88796.ll
Log Message:
-----------
VectorCombine: add test for crash #88796 (#91200)
Commit: 57b9c15227ec15a5e2abf4587d7d0ad536cff9e6
https://github.com/llvm/llvm-project/commit/57b9c15227ec15a5e2abf4587d7d0ad536cff9e6
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/pr88796.ll
Log Message:
-----------
VectorCombine: fix logical error after m_Trunc match (#91201)
The matcher m_Trunc() matches an Operator with a given Opcode, which
could either be an Instruction or ConstExpr.
VectorCombine::foldTruncFromReductions() incorrectly assumes that the
pattern matched is always an Instruction, and attempts a cast. Fix this.
Fixes #88796.
Commit: 746bf297e2f0f637d2e1c197bf04a32ab04b669a
https://github.com/llvm/llvm-project/commit/746bf297e2f0f637d2e1c197bf04a32ab04b669a
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/do08.f90
Log Message:
-----------
[Flang][OpenMP] Add checks for EXIT from associated loops (#91315)
Extend the checker that deals with CYCLE to handle EXIT also. The
difference for EXIT is that it is not allowed to EXIT from the innermost
associated loops while it is OK to CYCLE in the innermost associated
loop. Also add an incrementer on leaving the DO loop for EXIT checks.
Commit: 602df270a9bfcb52980a93c85eb615c0d91eba0c
https://github.com/llvm/llvm-project/commit/602df270a9bfcb52980a93c85eb615c0d91eba0c
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/lib/Frontend/CompilerInvocation.cpp
A flang/test/Driver/w-option.f90
Log Message:
-----------
[Flang] RFC: Add support for -w option 1/n (#90420)
Add support for the -w option to switch OFF all Flang
warnings. This patch only supports switching OFF the
frontend warnings.
TODO : Support for MLIR, LLVM and Driver warnings.
TODO : Support interactions between -w, -pedantic, -Wall
Commit: 1a498103ee5c4d101e70dc49db11938d8b87b518
https://github.com/llvm/llvm-project/commit/1a498103ee5c4d101e70dc49db11938d8b87b518
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
M mlir/test/Conversion/ArmSMEToLLVM/unsupported.mlir
M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
A mlir/test/Dialect/ArmSME/basic-tile-allocation.mlir
M mlir/test/Dialect/ArmSME/enable-arm-za.mlir
M mlir/test/Dialect/ArmSME/outer-product-fusion.mlir
R mlir/test/Dialect/ArmSME/tile-allocation.mlir
M mlir/test/Dialect/ArmSME/tile-zero-masks.mlir
Log Message:
-----------
[mlir][ArmSME][test] Prepare tests for tile allocation changes (#91358)
This patch:
1. Removes some duplicate test cases
2. Removes unnecessary uses of `-convert-arm-sme-to-llvm`
3. Ensures tile values have uses via `test.some_use()`
1 and 2 will make these tests easier to update. 3 will be needed as
ArmSME operations will be pure.
Commit: dd4bf22b9380e797362fac1415a1796da338b2db
https://github.com/llvm/llvm-project/commit/dd4bf22b9380e797362fac1415a1796da338b2db
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
Log Message:
-----------
[X86] combineBlendOfPermutes - don't introduce lane-crossing permutes without AVX2 support.
Fixes #91433
Commit: 8f21294897befee48f9f72734ea1b0ad4c920aa0
https://github.com/llvm/llvm-project/commit/8f21294897befee48f9f72734ea1b0ad4c920aa0
Author: YunQiang Su <syq at debian.org>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lld/test/ELF/mips-eh_frame-pic.s
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/test/CodeGen/Mips/ehframe-indirect.ll
M llvm/test/DebugInfo/Mips/eh_frame.ll
M llvm/test/MC/Mips/eh-frame.s
Log Message:
-----------
MIPS: Use pcrel|sdata4 for eh_frame (#91291)
Gas uses encoding DW_EH_PE_absptr for PIC, and gnu ld converts it to
DW_EH_PE_sdata4|DW_EH_PE_pcrel.
LLD doesn't have this workarounding, thus complains
```
relocation R_MIPS_32 cannot be used against local symbol; recompile with -fPIC
relocation R_MIPS_64 cannot be used against local symbol; recompile with -fPIC
```
So, let's generates asm/obj files with `DW_EH_PE_sdata4|DW_EH_PE_pcrel`
encoding. In fact, GNU ld supports such OBJs well.
For N64, maybe we should use sdata8, while GNU ld doesn't support it
well, and in fact sdata4 is enough now. So we just ignore the `Large`
for `MCObjectFileInfo::initELFMCObjectFileInfo`. Maybe we should switch
back to sdata8 once GNU LD supports it well.
Fixes: #58377.
Commit: df311a27629618f6ba645bfe3f46e981000cb5da
https://github.com/llvm/llvm-project/commit/df311a27629618f6ba645bfe3f46e981000cb5da
Author: Aleksandr Popov <42888396+aleks-tmb at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
Add interface to check if a call has a deopt bundle (NFC) (#91348)
Encapsulate check that a call has a deopt bundle to make it easier to
change the deopt scheme.
Commit: d4fef93724e290a82d498f0d8df1a84a5ff50ab3
https://github.com/llvm/llvm-project/commit/d4fef93724e290a82d498f0d8df1a84a5ff50ab3
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Split up mutex libraries like ab3a9e724d87a4272782f76b90fb0872a6a86939 did
Commit: aefad851672e6dd17592895066a39aa5b388e5db
https://github.com/llvm/llvm-project/commit/aefad851672e6dd17592895066a39aa5b388e5db
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang-tools-extra/clangd/Preamble.cpp
Log Message:
-----------
[clangd] Fix data race surfaced in clangd-tsan buildbot
We can have concurrent accesses to same PreambleData (e.g.
code-completion and ast-builds). Hence we need to
deep copy TargetOpts.
Commit: 341aecc2dd0f6debcbe9f251a6d2e8a60d327eea
https://github.com/llvm/llvm-project/commit/341aecc2dd0f6debcbe9f251a6d2e8a60d327eea
Author: Weaver <Tom.Weaver at sony.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
Log Message:
-----------
Revert "Revert "Revert "[OpenMP][TR12] change property of map-type modifier."… (#91141)"
This reverts commit a99ce615f19fec6fbb835490b89f53cba3cf9eff.
Caused test failure on following buildbot:
https://lab.llvm.org/buildbot/#/builders/139/builds/65066
Commit: 927913fac74b671b5202eb00a52907d8445c7691
https://github.com/llvm/llvm-project/commit/927913fac74b671b5202eb00a52907d8445c7691
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/ValueMapper.cpp
Log Message:
-----------
[RemoveDIs] Fix remapping of DbgLabelRecords. (#91447)
We already remapped DILocations for DbgVariableRecords, but
DbgLabelRecords have debug locations too that need to be mapped the same
way.
Commit: 19220110acf5ed5cf8be035b7e4a7aed69f0adb1
https://github.com/llvm/llvm-project/commit/19220110acf5ed5cf8be035b7e4a7aed69f0adb1
Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
Log Message:
-----------
[PowerPC][AIX] Refactor existing logic to handle non-zero offsets for aix-small-local-dynamic-tls (#89182)
To enable optimized small local-dynamic access sequence for non-zero
offsets, this patch refactors existing
2a50921553798d2db52ca6330c89f0f8a5bc2215.
Commit: 6fa09616da7436f85eb7e1e1fd74e1ac078ddb0d
https://github.com/llvm/llvm-project/commit/6fa09616da7436f85eb7e1e1fd74e1ac078ddb0d
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
Log Message:
-----------
[analyzer] Use explicit call description mode in MIGChecker (#91331)
This commit explicitly specifies the matching mode (C library function,
any non-method function, or C++ method) for the `CallDescription`s
constructed in the checker `osx.MIG`.
The code was simplified to use a `CallDescriptionMap` instead of a raw
vector of pairs.
This change won't cause major functional changes, but isn't NFC because
it ensures that e.g. call descriptions for a non-method function won't
accidentally match a method that has the same name.
Separate commits have already performed this change in other checkers:
- easy cases: e2f1cbae45f81f3cd9a4d3c2bcf69a094eb060fa,
6d64f8e1feee014e72730a78b62d9d415df112ff
- MallocChecker: d6d84b5d1448e4f2e24b467a0abcf42fe9d543e9
- iterator checkers: 06eedffe0d2782922e63cc25cb927f4acdaf7b30
- InvalidPtr checker: 024281d4d26344f9613b9115ea1fcbdbdba23235
- apiModeling.llvm.ReturnValue: 97dd8e3c4f38ef345b01fbbf0a2052c7875ff7e0
... and follow-up commits will handle the remaining few checkers.
My goal is to ensure that the call description mode is always explicitly
specified and eliminate (or strongly restrict) the vague "may be either
a method or a simple function" mode that's the current default.
Commit: 943617d12ccbd3cf317f0bbec03d9efc700f3953
https://github.com/llvm/llvm-project/commit/943617d12ccbd3cf317f0bbec03d9efc700f3953
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/CodeGen/CGExprAgg.cpp
Log Message:
-----------
Typo fix; NFC
Commit: c5509fedc5757fffece385d9d068e36b26793ade
https://github.com/llvm/llvm-project/commit/c5509fedc5757fffece385d9d068e36b26793ade
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/packoffset.hlsl
A clang/test/SemaHLSL/packoffset-invalid.hlsl
Log Message:
-----------
[HLSL] Support packoffset attribute in AST (#89836)
Add HLSLPackOffsetAttr to save packoffset in AST.
Since we have to parse the attribute manually in ParseHLSLAnnotations,
we could create the ParsedAttribute with a integer offset parameter
instead of string. This approach avoids parsing the string if the offset
is saved as a string in HLSLPackOffsetAttr.
For #57914.
Commit: 737e0bcfe344bd9a8c4e4c3c2e80fdbe93bfaafb
https://github.com/llvm/llvm-project/commit/737e0bcfe344bd9a8c4e4c3c2e80fdbe93bfaafb
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-with-flags.mir
Log Message:
-----------
[GlobalIsel] combine ext of trunc with flags (#87115)
https://github.com/llvm/llvm-project/pull/85592
https://discourse.llvm.org/t/rfc-add-nowrap-flags-to-trunc/77453
https://github.com/llvm/llvm-project/pull/88609
Commit: db4cf7c0fc713c09bbe10dd2be4a3d0fb081014c
https://github.com/llvm/llvm-project/commit/db4cf7c0fc713c09bbe10dd2be4a3d0fb081014c
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
Update CODEOWNERS
Adding myself to linalg dialect
Commit: c84c74e67839a5207d7c6318fc37e607f088a994
https://github.com/llvm/llvm-project/commit/c84c74e67839a5207d7c6318fc37e607f088a994
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Add tests for vector extracts from unpacked types.
Commit: 686a206b2665b6ba9245980489daa79dc8547079
https://github.com/llvm/llvm-project/commit/686a206b2665b6ba9245980489daa79dc8547079
Author: Nabeel Omer <nabeel.omer at sony.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
A llvm/test/Transforms/SampleProfile/Inputs/overflow.proftext
A llvm/test/Transforms/SampleProfile/overflow.ll
Log Message:
-----------
[SampleProfileLoader] Fix integer overflow in generateMDProfMetadata (#90217)
This patch fixes an integer overflow in the SampleProfileLoader pass.
The issue occurs when weights are saturated and Profi isn't being used.
This patch also adds a newline to a debug message to make it more
readable.
Commit: 3ceacd8b9567a25308f7aaa73d266ee3b4c6ab5f
https://github.com/llvm/llvm-project/commit/3ceacd8b9567a25308f7aaa73d266ee3b4c6ab5f
Author: Paul T Robinson <paul.robinson at sony.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/test/CodeGenCoroutines/coro-dwarf.cpp
Log Message:
-----------
[Coro] Relax a debug-info test (#91401)
Debug-info metadata does not have a strictly defined order. Check that
elements are linked to each other correctly, not that metadata appears
in a particular order.
Commit: 665af09a86b8d80af33f170fca89ced9986cf1e5
https://github.com/llvm/llvm-project/commit/665af09a86b8d80af33f170fca89ced9986cf1e5
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Target/DirectX/DXILMetadata.cpp
M llvm/lib/Target/DirectX/DXILMetadata.h
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/TargetParser/Triple.cpp
A llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
A llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[DirectX backend] emits metadata for DXIL version. (#88350)
Emit named metadata "dx.version" for DXIL version.
Default to DXIL 1.0
Commit: 40b322baef143df271d8b9142028aaeeec2a4d78
https://github.com/llvm/llvm-project/commit/40b322baef143df271d8b9142028aaeeec2a4d78
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
A llvm/test/Transforms/IndVarSimplify/trip-count-expansion-loop-guard-preserve-nsw.ll
Log Message:
-----------
[SCEV] Add tests for missed NSW preservation during loop guard handling.
Add test coverage for missed simplification.
Commit: f97f04ec4392c79163179331211ea8c48e61799b
https://github.com/llvm/llvm-project/commit/f97f04ec4392c79163179331211ea8c48e61799b
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp
Log Message:
-----------
[mlir] Fixing a regression that '-D' option of llvm-tblgen is unregistered. (#91329)
PR #89664 introduced a regression that it unregistered llvm-tblgen
option `-D` for macros. The test `TestOps.cpp` failed due to passing a
macros to llvm-tblgen.
It caused our internal build to fail because we append `-DLOCAL_NAME`
into `LLVM_TABLEGEN_FLANGS` in `llvm/lib/cmake/llvm/TableGen.cmake` as
```
list(APPEND LLVM_TABLEGEN_FLAGS "-DLOCAL_NAME")
```
And in `./llvm/lib/Target/PowerPC/PPC.td`, we check it for some
downstream code as:
```
...
#ifdef LOCAL_NAME
...
#endif
```
Now we got error message from mlir-src-sharder as
```
mlir-src-sharder -op-shard-index=1 -DLOCAL_NAME llvm-project/mlir/test/lib/Dialect/Test/TestOps.cpp --write-if-changed -o tools/mlir/test/lib/Dialect/Test/TestOps.1.cpp -d tools/mlir/test/lib/Dialect/Test/TestOps.1.cpp.d
mlir-src-sharder: Unknown command line argument '-DLOCAL_NAME'. Try: 'llvm-project/build/bin/mlir-src-sharder --help'
mlir-src-sharder: Did you mean '-I'?
```
This PR is to fix the regression.
Commit: 9c09b0840e82490ed194207adc03d3e7284b8764
https://github.com/llvm/llvm-project/commit/9c09b0840e82490ed194207adc03d3e7284b8764
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
R clang/test/AST/HLSL/packoffset.hlsl
R clang/test/SemaHLSL/packoffset-invalid.hlsl
Log Message:
-----------
Revert "[HLSL] Support packoffset attribute in AST (#89836)" (#91473)
This reverts commit c5509fedc5757fffece385d9d068e36b26793ade.
Commit: c6efcc925c9969d616bc463171c0423d6a9766af
https://github.com/llvm/llvm-project/commit/c6efcc925c9969d616bc463171c0423d6a9766af
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Transforms/Mem2Reg.h
M mlir/lib/Transforms/Mem2Reg.cpp
Log Message:
-----------
[MLIR][Mem2Reg] Improve performance by avoiding recomputations (#91444)
This commit ensures that Mem2Reg reuses the `DominanceInfo` as well as
block index maps to avoid expensive recomputations. Due to the recent
migration to `OpBuilder`, the promotion of a slot does no longer replace
blocks. Having stable blocks makes the `DominanceInfo` preservable and
additionally allows to cache block index maps between different
promotions.
Performance measurements on very large functions show an up to 4x
speedup by these changes.
Commit: 2c1c67674cb3beb4e091a9f446de5858631cf8ae
https://github.com/llvm/llvm-project/commit/2c1c67674cb3beb4e091a9f446de5858631cf8ae
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Transform/Utils/Utils.h
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Transform/Utils/Utils.cpp
M mlir/lib/Interfaces/ViewLikeInterface.cpp
M mlir/test/Dialect/LLVM/transform-e2e.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/matmul-shared-memory-padding.mlir
M mlir/test/Dialect/Linalg/multisize-tiling-full.mlir
M mlir/test/Dialect/Linalg/promote.mlir
M mlir/test/Dialect/Linalg/promotion_options.mlir
M mlir/test/Dialect/Linalg/tile-conv.mlir
M mlir/test/Dialect/Linalg/tile-indexed.mlir
M mlir/test/Dialect/Linalg/tile-softmax.mlir
M mlir/test/Dialect/Linalg/tile-tensors.mlir
M mlir/test/Dialect/Linalg/tile-to-forall.mlir
M mlir/test/Dialect/Linalg/transform-op-compose-masked-vectorize-and-cleanups.mlir
M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
M mlir/test/Dialect/Linalg/transform-op-hoist-pad-build-packing-loop-nest.mlir
M mlir/test/Dialect/Linalg/transform-op-hoist-pad.mlir
M mlir/test/Dialect/Linalg/transform-op-mmt4d-to-fma.mlir
M mlir/test/Dialect/Linalg/transform-op-pack.mlir
M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize-conv.mlir
M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize.mlir
M mlir/test/Dialect/Linalg/transform-op-scalarize.mlir
M mlir/test/Dialect/Linalg/transform-op-tile.mlir
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
M mlir/test/Dialect/Linalg/transform-ops.mlir
M mlir/test/Dialect/Linalg/transform-patterns.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir
M mlir/test/Dialect/Tensor/tiling.mlir
M mlir/test/Dialect/Transform/ops.mlir
M mlir/test/Dialect/Transform/selective-targeting.mlir
M mlir/test/Dialect/Vector/transform-vector.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul-mixed-types.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-nwc-wcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-nhwc-hwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-ndhwc-dhwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
M mlir/test/Interfaces/TilingInterface/tile-pad-using-interface.mlir
M mlir/test/Interfaces/TilingInterface/tile-using-interface.mlir
M mlir/test/python/dialects/transform_structured_ext.py
Log Message:
-----------
[mlir][transform] Consistent `linalg` `transform` op syntax for dynamic index lists (#90897)
This patch is a first pass at making consistent syntax across the
`LinalgTransformOp`s that use dynamic index lists for size parameters.
Previously, there were two different forms: inline types in the list, or
place them in the functional style tuple. This patch goes for the
latter.
In order to do this, the `printPackedOrDynamicIndexList`,
`printDynamicIndexList` and their `parse` counterparts were modified so
that the types can be optionally provided to the corresponding custom
directives.
All affected ops now use tablegen `assemblyFormat`, so custom
`parse`/`print` functions have been removed. There are a couple ops that
will likely add dynamic size support, and once that happens it should be
made sure that the assembly remains consistent with the changes in this
patch.
The affected ops are as follows: `pack`, `pack_greedily`,
`tile_using_forall`. The `tile_using_for` and `vectorize` ops already
used this syntax, but their custom assembly was removed.
---------
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>
Commit: d6d613aaebc0ae503409ba7719a43b4a55e1ee70
https://github.com/llvm/llvm-project/commit/d6d613aaebc0ae503409ba7719a43b4a55e1ee70
Author: martinboehme <mboehme at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/docs/tools/clang-formatted-files.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
R clang/unittests/Analysis/FlowSensitive/SolverTest.cpp
A clang/unittests/Analysis/FlowSensitive/SolverTest.h
A clang/unittests/Analysis/FlowSensitive/WatchedLiteralsSolverTest.cpp
M llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
[clang][dataflow] Make `SolverTest` a type-parameterized test. (#91455)
This allows the tests to be run against any implementation of `Solver`
instead
of begin specific to `WatchedLiteralsSolver` as they currently are.
Commit: b5afda8d760998641cf08a6d229252924b0ad146
https://github.com/llvm/llvm-project/commit/b5afda8d760998641cf08a6d229252924b0ad146
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
Log Message:
-----------
AMDGPU: Add some more ctlz_zero_undef tests
Commit: 27a062e9ca7c92e89ed4084c3c3affb9fa39aabb
https://github.com/llvm/llvm-project/commit/27a062e9ca7c92e89ed4084c3c3affb9fa39aabb
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/numeric/gcd.bench.cpp
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp
Log Message:
-----------
[libc++] Implement std::gcd using the binary version (#77747)
The binary version is four times faster than current implementation in
my setup, and generally considered a better implementation.
Code inspired by https://en.algorithmica.org/hpc/algorithms/gcd/ which
itself is inspired by
https://lemire.me/blog/2013/12/26/fastest-way-to-compute-the-greatest-common-divisor/
Fix #77648
Commit: 73bb8d9d92f689863c94d48517e89d35dae0ebcf
https://github.com/llvm/llvm-project/commit/73bb8d9d92f689863c94d48517e89d35dae0ebcf
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/test/affinity/redetect.c
Log Message:
-----------
[OpenMP] Fix child processes to use affinity_none (#91391)
When a child process is forked with OpenMP already initialized, the
child process resets its affinity mask and sets proc-bind-var to false
so that the entire original affinity mask is used. This patch corrects
an issue with the affinity initialization code setting affinity to
compact instead of none for this special case of forked children.
The test trying to catch this only testing explicit setting of
KMP_AFFINITY=none. Add test run for no KMP_AFFINITY setting.
Fixes: #91098
Commit: 6ed8434edc5934210a38be99f33b6baed83df85c
https://github.com/llvm/llvm-project/commit/6ed8434edc5934210a38be99f33b6baed83df85c
Author: Prathamesh Tagore <63031630+meshtag at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
Log Message:
-----------
[mlir][fold-memref-alias-ops] Add support for folding memref.expand_shape involving dynamic dims (#89093)
`fold-memref-alias-ops` bails out in presence of dynamic shapes in
`memref.expand_shape` op. Handle this case.
Commit: 2475efa91d8b4fa8f1a2d16052cb6d14be7d5dc6
https://github.com/llvm/llvm-project/commit/2475efa91d8b4fa8f1a2d16052cb6d14be7d5dc6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
Log Message:
-----------
[SLP]Fix PR91467: Look through scalar cast, when trying to cast to another type.
Need to look through the SExt/ZExt scalars to be gathered, when trying
to reduce their width after minbitwidth analysis to prevent permanent
attempts to revectorize such gathered instructions.
Commit: 2868e26d0a6f257d3a8f303c7918f37c690e35a4
https://github.com/llvm/llvm-project/commit/2868e26d0a6f257d3a8f303c7918f37c690e35a4
Author: Matthias Braun <matze at braunis.de>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/CMakeLists.txt
M clang/test/Analysis/scan-build/deduplication.test
M clang/test/Analysis/scan-build/exclude_directories.test
M clang/test/Analysis/scan-build/help.test
M clang/test/Analysis/scan-build/html_output.test
M clang/test/Analysis/scan-build/lit.local.cfg
M clang/test/Analysis/scan-build/plist_html_output.test
M clang/test/Analysis/scan-build/plist_output.test
M clang/test/Analysis/scan-build/rebuild_index/rebuild_index.test
M clang/test/Analysis/scan-build/silence-core-checkers.test
M clang/test/lit.site.cfg.py.in
Log Message:
-----------
Use cmake to find perl executable (#91275)
`clang/tools/scan-build` is implemented in `perl`. However given `perl`
is not mentioned as a required dependency in `GettingStarted.rst` we
should make this optional.
This adds a `find_package(Perl)` check to cmake and disables the
`scan-build` tests when no perl executable is found.
Ideally we would also check if dependent perl modules like `Hash::Util`
are present on the system, but I don't see any pre-existing cmake macros
to easily test this. So for now I go with a plain check for the `perl`
package, at least this allows to use `cmake
-DCMAKE_DISABLE_FIND_PACKAGE_Perl=ON` to manually disable `perl` and the
tests.
Commit: 3a8316216807d64a586b971f51695e23883331f7
https://github.com/llvm/llvm-project/commit/3a8316216807d64a586b971f51695e23883331f7
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 6ed8434edc5934210a38be99f33b6baed83df85c
Commit: 50b45b24220ead33cf5cedc49c13e0336297e4eb
https://github.com/llvm/llvm-project/commit/50b45b24220ead33cf5cedc49c13e0336297e4eb
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/offset-range-known-via-assume.ll
Log Message:
-----------
[LAA] Add tests with forward dependences known via assumes.
Commit: 11a6799740f824282650aa9ec249b55dcf1a8aae
https://github.com/llvm/llvm-project/commit/11a6799740f824282650aa9ec249b55dcf1a8aae
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/LinkInModulesPass.cpp
A clang/test/CodeGen/linking-bitcode-postopt.cpp
Log Message:
-----------
[clang][CodeGen] Omit pre-opt link when post-opt is link requested (#85672)
Currently, when the -relink-builtin-bitcodes-postop option is used we
link builtin bitcodes twice: once before optimization, and again after
optimization.
With this change, we omit the pre-opt linking when the option is set,
and we rename the option to the following:
-Xclang -mlink-builtin-bitcodes-postopt
(-Xclang -mno-link-builtin-bitcodes-postopt)
The goal of this change is to reduce compile time. We do lose the
theoretical benefits of pre-opt linking, but in practice these are small
than the overhead of linking twice. However we may be able to address
this in a future patch by adjusting the position of the builtin-bitcode
linking pass.
Compilations not setting the option are unaffected
Commit: a55127281b2ed5f24f848b9e5c70870ad170bc3f
https://github.com/llvm/llvm-project/commit/a55127281b2ed5f24f848b9e5c70870ad170bc3f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
Log Message:
-----------
[CostModel][X86] getGSVectorCost - add cost kind support
Don't just assume gather/scatter non-throughput costs are 1 - latency and sizelatency (#uops) costs will be high, and codesize (#instructions) needs to account splitting.
Commit: 29b7eb8400f48fe7d8de3cb3741584c329ec597c
https://github.com/llvm/llvm-project/commit/29b7eb8400f48fe7d8de3cb3741584c329ec597c
Author: Juergen Ributzka <juergen at ributzka.de>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
M llvm/test/CodeGen/AArch64/stackmap-liveness.ll
M llvm/test/CodeGen/X86/stackmap-liveness.ll
Log Message:
-----------
[llvm][stackmaps] Include pristine registers for liveness computation. (#90529)
Users of stackmaps and patchpoints need to add all pristine registers to
the
spill set, even so they don't need to be all preserved.
This fixes the liveness computation for stackmaps to include pristine
registers.
This fixes rdar://21228337.
Commit: 9263318f9da22e6632f1aae3e85717ed88fde64f
https://github.com/llvm/llvm-project/commit/9263318f9da22e6632f1aae3e85717ed88fde64f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
Revise the modules document for clarity (#90237)
The intention isn't to add or change the information provided, but to
improve clarity through some grammar fixes, improvements to the
markdown, and so forth.
Commit: 2ceb1291ef3ddb87cb58030cd61d965f4030338f
https://github.com/llvm/llvm-project/commit/2ceb1291ef3ddb87cb58030cd61d965f4030338f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add canScaleShuffleElements helper. NFC.
Returns true if the shuffle mask can be rescaled to the requested number of elements.
Commit: a6171900a446c85c3b53a4a9deba16b746f9f77f
https://github.com/llvm/llvm-project/commit/a6171900a446c85c3b53a4a9deba16b746f9f77f
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
Log Message:
-----------
[RemoveDIs] Change remapDbgVariableRecord to remapDbgRecord (#91456)
We need to remap any DbgRecord, not just DbgVariableRecords.
This is the followup to #91447.
Co-authored-by: PietroGhg <pietro.ghiglio at codeplay.com>
Commit: 5636eb89bd69f9c55f4e4aeafaa8c04aa99e5c84
https://github.com/llvm/llvm-project/commit/5636eb89bd69f9c55f4e4aeafaa8c04aa99e5c84
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
Log Message:
-----------
[X86] combineBlendOfPermutes - allow whole-lane permutation on AVX1 targets.
dd4bf22b9380e797362fac1415a1796da338b2db fixed #91433 but meant we couldn't use vperm2f128 to permute entire 128-bit lanes - if the new 256-bit permutation mask can be scaled to 2x128-bit elements, then we can still fold.
Commit: 6d8901488f160dd92aea5b98fcc21c7fa7c1cbe6
https://github.com/llvm/llvm-project/commit/6d8901488f160dd92aea5b98fcc21c7fa7c1cbe6
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/test/CodeGenHLSL/basic-target.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Options/enable_16bit_types_validation.hlsl
M clang/unittests/Driver/DXCModeTest.cpp
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/IR/Verifier.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[DXIL] Set DXIL Version in DXIL target triple based on shader model version (#91407)
This change set restores commit 080978dd2067d0c9ea7e229aa7696c2480d89ef1 that was reverted to address ASAN
failures and includes a fix for the ASAN failures.
Following is the description of the change:
An earlier commit provided a way to decouple DXIL version from Shader
Model version by representing the DXIL version as `SubArch` in the DXIL
Target Triple and adding corresponding valid DXIL Arch types.
This change constructs DXIL target triple with DXIL version that is
deduced from Shader Model version specified in the following scenarios:
1. When compilation target profile is specified:
For e.g., DXIL target triple `dxilv1.8-unknown-shader6.8-library` is
constructed when `-T lib_6_8` is specified.
2. When DXIL target triple without DXIL version is specified:
For e.g., DXIL target triple `dxilv1.8-pc-shadermodel6.8-library` is
constructed when `-mtriple=dxil-pc-shadermodel6.8-library` is specified.
Updated relevant HLSL tests that check for target triple.
Commit: efad14954c9d5bdfaddaca948be6cd7e71a1d1b0
https://github.com/llvm/llvm-project/commit/efad14954c9d5bdfaddaca948be6cd7e71a1d1b0
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/Support/LEB128.h
M llvm/unittests/Support/LEB128Test.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[Support] Add end/error to decode[US]LEB128AndInc
Follow-up to #85739 to encourage error checking. We make `end` mandatory
and add decodeULEB128AndIncUnsafe to be used without `end`.
Pull Request: https://github.com/llvm/llvm-project/pull/90006
Commit: 8d9b15497d70ac782d7d01a2d606f9fec7e7f642
https://github.com/llvm/llvm-project/commit/8d9b15497d70ac782d7d01a2d606f9fec7e7f642
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/CodeGenAction.cpp
Log Message:
-----------
Fix unused private field warning (#91500)
After 11a6799740f8 "[clang][CodeGen] Omit pre-opt link when post-opt is
link requested (#85672)" I'm seeing a new warning:
> BackendConsumer.h:37:22: error: private field 'FileMgr' is not used
[-Werror,-Wunused-private-field]
Remove the field since it's no longer used.
Commit: 3dcbcce287877322b2902ae271642416fdc8481c
https://github.com/llvm/llvm-project/commit/3dcbcce287877322b2902ae271642416fdc8481c
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
Log Message:
-----------
[clang][CodeGen] Remove now-unused FileManager variable (#91495)
Fixes "error: private field 'FileMgr' is not used" introduced by 11a6799
Commit: b59461ac63aa1770a617f96bab31010442bd2090
https://github.com/llvm/llvm-project/commit/b59461ac63aa1770a617f96bab31010442bd2090
Author: Aleksandr Platonov <platonov.aleksandr at huawei.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/ADT/StringMap.h
M llvm/unittests/ADT/StringSetTest.cpp
Log Message:
-----------
[ADT] Add back ability to compare StringSet (#91374)
StringSet comparison was broken after moving from llvm::Optional to
std::optional because std::nullopt_t is not equality-comparable. Without
this patch a try to compare objects of StringSet type leads to
compilation error:
```
llvm-project/llvm/include/llvm/ADT/StringMap.h:294:33: error: no match for ‘operator==’ (operand types are ‘std::nullopt_t’ and ‘std::nullopt_t’)
294 | if (!(KeyValue.getValue() == FindInRHS->getValue()))
```
Commit: 4298fc5eb5c483fb72db6fce062352087dfd0acf
https://github.com/llvm/llvm-project/commit/4298fc5eb5c483fb72db6fce062352087dfd0acf
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Move strength reduction of mul X, 3/5/9*2^N to combine (#89966)
This moves our last major category tablegen driven multiply strength
reduction into the post legalize combine framework. The one slightly
tricky bit is making sure that we use a leading shl if we can form a
slli.uw, and trailing shl otherwise. Having the trailing shl is critical
for shNadd matching, and folding any following sext.w.
As can be seen in the TD deltas, this allows us to kill off both the
actual multiply patterns and the explicit add (mul X, C) Y patterns. The
later are now handled by the generic shNadd matching code, with the
exception of the THead only C=200 case because we don't (yet) have a
multiply expansion with two shNadd + a shift.
---------
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: a620697340671aea2b0c65449fcddf3c2e4d1917
https://github.com/llvm/llvm-project/commit/a620697340671aea2b0c65449fcddf3c2e4d1917
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/IR/Instructions.cpp
M llvm/unittests/IR/AttributesTest.cpp
Log Message:
-----------
[IR] Check callee param attributes as well in CallBase::getParamAttr() (#91394)
These methods aren't used yet, but may be in the future. This keeps them
in line with other methods like getFnAttr().
Commit: 576838301d23bb779aa9c3f0cc3d086c46add44b
https://github.com/llvm/llvm-project/commit/576838301d23bb779aa9c3f0cc3d086c46add44b
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/IR/Instructions.cpp
Log Message:
-----------
[IR] Remove check for bitcast of called function in CallBase::has/getFnAttrOnCalledFunction (#91392)
With opaque pointers, we shouldn't have bitcasts between function
pointer types.
Commit: 08011cf8453c7c9e87d135f063356b6764a91cbc
https://github.com/llvm/llvm-project/commit/08011cf8453c7c9e87d135f063356b6764a91cbc
Author: XChy <xxs_chy at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/docs/MIRLangRef.rst
Log Message:
-----------
[Docs][NFC] Use opaque ptr in the example (#91502)
Commit: 46435ac19e09039fb146fa6c12da0e640a66d435
https://github.com/llvm/llvm-project/commit/46435ac19e09039fb146fa6c12da0e640a66d435
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M bolt/include/bolt/Passes/FrameAnalysis.h
M bolt/lib/Passes/FrameAnalysis.cpp
Log Message:
-----------
[NFC][BOLT] Remove dead code (SPTAllocatorsId) (#91477)
It seems that SPTAllocatorsId is no longer used in FrameAnalysis, so
let's remove it.
It seems the use of SPTAllocatorsId was removed back in 2019, in commit
cc8415406c7.
Commit: bb6df0804ba0a0b0581aec4156138f5144dbcee2
https://github.com/llvm/llvm-project/commit/bb6df0804ba0a0b0581aec4156138f5144dbcee2
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/ADT/SmallString.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/FuzzMutate/FuzzerCLI.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/DarwinAsmParser.cpp
M llvm/lib/MC/MCSymbolXCOFF.cpp
M llvm/lib/Object/Archive.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Object/OffloadBinary.cpp
M llvm/lib/ObjectYAML/COFFEmitter.cpp
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/ProfileData/GCOV.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/llvm-dwarfdump/Statistics.cpp
M llvm/tools/llvm-extract/llvm-extract.cpp
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/tools/llvm-xray/xray-graph-diff.cpp
M llvm/tools/llvm-yaml-numeric-parser-fuzzer/yaml-numeric-parser-fuzzer.cpp
M llvm/unittests/ADT/StringRefTest.cpp
M llvm/unittests/IR/VerifierTest.cpp
M llvm/unittests/Support/MemoryBufferTest.cpp
M llvm/unittests/Support/YAMLIOTest.cpp
M llvm/unittests/TargetParser/CSKYTargetParserTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[llvm] Use StringRef::operator== instead of StringRef::equals (NFC) (#91441)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
70 under llvm/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: dabdec1001dc368373dd581cf72f37a440873ce3
https://github.com/llvm/llvm-project/commit/dabdec1001dc368373dd581cf72f37a440873ce3
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/ops.mlir
Log Message:
-----------
Fix `memref.expand_shape` verifier (#91501)
Torch-mlir integration is currently blocked on `memref.expand_shape`
verifier errors of the form
```
'memref.expand_shape' op invalid output shape provided at pos 1
```
The verifier code generating these errors was introduced in
https://github.com/llvm/llvm-project/pull/91245. I have commented there
why I believe it's incorrect. This PR has my suggested fix.
Unfortunately, this does not seem to be directly testable on `memref`
IR, because `static_output_shape` is not directly exposed in the custom
assembly format.
Commit: fcfc15b7052a311b7a045e2c6bd26fb5d0b7122c
https://github.com/llvm/llvm-project/commit/fcfc15b7052a311b7a045e2c6bd26fb5d0b7122c
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lldb/cmake/modules/LLDBFramework.cmake
Log Message:
-----------
Add a dependency from lldb-sbapi-dwarf-enums as a dependency of libll… (#91511)
…db-resource-headers
The Xcode build otherwise fails with
```
CMake Error in source/API/CMakeLists.txt:
The custom command generating
/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-standalone/lldb-xcode-build/include/lldb/API/SBLanguages.h
is attached to multiple targets:
lldb-sbapi-dwarf-enums
liblldb-resource-headers
but none of these is a common dependency of the other(s). This is not
allowed by the Xcode "new build system".
CMake Generate step failed. Build files cannot be regenerated correctly.
```
Commit: dbcfa2957d9f99de62fc86db12a857caf929583c
https://github.com/llvm/llvm-project/commit/dbcfa2957d9f99de62fc86db12a857caf929583c
Author: Nicklas Boman <smurfd at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lldb/scripts/generate-sbapi-dwarf-enum.py
Log Message:
-----------
lldb create API folder if it does not exist, before creating SBLangua… (#91128)
Create API folder if it does not exist, before creating SBLanguages.h
Commit: 42d99013bd6b7ed4a085e39c94ab86938d633f8a
https://github.com/llvm/llvm-project/commit/42d99013bd6b7ed4a085e39c94ab86938d633f8a
Author: AdityaK <hiraditya at msn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Log Message:
-----------
NFC: Add a comment indicating UpdateAnalysisInformation invalidates DFS Numbering (#91252)
Commit: 10bdcf6b4cd37d017753b3821fbf8eb2ad924a1a
https://github.com/llvm/llvm-project/commit/10bdcf6b4cd37d017753b3821fbf8eb2ad924a1a
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
Log Message:
-----------
[clang-tidy] Handle implicit casts in hicpp-signed-bitwise for IgnorePositiveIntegerLiterals (#90621)
Improved hicpp-signed-bitwise check by ignoring false positives
involving positive integer literals behind implicit casts when
IgnorePositiveIntegerLiterals is enabled.
Closes #89367
Commit: 37b6ba96dea54e7af3772d78c90bfb3fd61140f6
https://github.com/llvm/llvm-project/commit/37b6ba96dea54e7af3772d78c90bfb3fd61140f6
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/static-accessed-through-instance.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
Log Message:
-----------
[clang-tidy] Handle expr with side-effects in readability-static-accessed-through-instance (#90736)
Improved readability-static-accessed-through-instance check to
support expressions with side-effects.
Originally calls to overloaded operator were
ignored by check, in fear of possible side-effects.
This change remove that restriction, and enables
fix-its for expressions with side-effect via
--fix-notes.
Closes #75163
Commit: 79921fbd5c6223ff7e6c75ed75974b4d16cad529
https://github.com/llvm/llvm-project/commit/79921fbd5c6223ff7e6c75ed75974b4d16cad529
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M libcxx/modules/std/chrono.inc
M libcxx/modules/std/ranges.inc
M libcxx/test/CMakeLists.txt
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
Log Message:
-----------
[libc++][CI] Reenables clang-tidy. (#90077)
The patch does several things:
- fixes module exports
- disables clang-tidy with Clang-17 due to known issues
- disabled clang-tidy on older libstdc++ versions since it lacks C++20
features used
- fixes the CMake dependency
The issue why clang-tidy was not used in the CI was the last issue; the
plugin was not a
dependency of the tests. Without a plugin the tests disable clang-tidy.
This was noticed while investigating
https://github.com/llvm/llvm-project/issues/89898
Commit: a6b623705b13b0f69c302ee7b36fe87f833ff193
https://github.com/llvm/llvm-project/commit/a6b623705b13b0f69c302ee7b36fe87f833ff193
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/test/BUILD.gn
Log Message:
-----------
[gn] port 2868e26d0a6f (PERL_EXECUTABLE)
Commit: db29f20fdd4f715553f663f21021330cb4497e00
https://github.com/llvm/llvm-project/commit/db29f20fdd4f715553f663f21021330cb4497e00
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Ignore returns in DataAggregator
Returns are ignored in perf/pre-aggregated/fdata profile reader (see
DataReader::convertBranchData). They are also omitted in
YAMLProfileWriter by virtue of not having the profile attached to them
in the reader, and YAMLProfileWriter converting the profile attached to
BinaryFunctions. Thus, return profile is universally ignored across all
profile types except BAT YAML.
To make returns ignored for YAML produced in BAT mode, we can:
1) ignore them in YAMLProfileReader,
2) omit them from YAML profile in profile conversion/writing.
The first option is prone to profile staleness issue, where the profiled
binary doesn't match the one to be optimized, and thus returns in the
profile can no longer be reliably detected (as we don't distinguish them
from calls in the profile).
The second option is robust to staleness but requires disassembling the
branch source instruction.
Test Plan: Updated bolt-address-translation-yaml.test
Reviewers: rafaelauler, dcci, ayermolo, maksfb
Reviewed By: maksfb
Pull Request: https://github.com/llvm/llvm-project/pull/90807
Commit: 2f956a35edb61d250a52c4d883f368d060fae57c
https://github.com/llvm/llvm-project/commit/2f956a35edb61d250a52c4d883f368d060fae57c
Author: Artem Belevich <tra at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M llvm/lib/Target/NVPTX/NVPTX.td
Log Message:
-----------
[CUDA] Mark CUDA-12.4 as supported and introduce ptx 8.4. (#91516)
Commit: 7e35a9a0e77aad673a3054855761ee4afd2605c1
https://github.com/llvm/llvm-project/commit/7e35a9a0e77aad673a3054855761ee4afd2605c1
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] Replace dynamic sizes in insert_slice of tensor.cast canonicalization (#91352)
In some cases this pattern may ignore static information due to dynamic
operands in the insert_slice sizes operands, e.g.:
```
%0 = tensor.cast %arg0 : tensor<1x?xf32> to tensor<?x?xf32>
%1 = tensor.insert_slice %0 into %arg1[...] [%s0, %s1] [...]
: tensor<?x?xf32> into tensor<?x?xf32>
```
Can be rewritten into:
```
%1 = tensor.insert_slice %arg0 into %arg1[...] [1, %s1] [...]
: tensor<1x?xf32> into tensor<?x?xf32>
```
This PR updates the matching in the pattern to allow rewrites like this.
Commit: 878c141adcd3a1ea47c4cc8429af5c8522678536
https://github.com/llvm/llvm-project/commit/878c141adcd3a1ea47c4cc8429af5c8522678536
Author: Lily Brown <lily at lily.fyi>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Tools/lsp-server-support/Protocol.h
M mlir/lib/Tools/lsp-server-support/Protocol.cpp
M mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
A mlir/unittests/Tools/lsp-server-support/Protocol.cpp
Log Message:
-----------
[mlir-lsp] Add DiagnosticTag from LSP spec (#91396)
Adds the [DiagnosticTag][diagtag] LSP construct to the LSP support
headers. I also added a unit test file to validate that the `tags` array
is omitted entirely if it's empty.
The LSP spec requires that `Diagnostic::tags` be an array; in order to
conform to that I used `std::vector`, as `SmallVector` doesn't have JSON
decoding support (you can encode it to JSON, but not decode it from
JSON).
[diagtag]:
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#diagnosticTag
Commit: 1464aee3767bf516633ce595ccd89a9cb50ae763
https://github.com/llvm/llvm-project/commit/1464aee3767bf516633ce595ccd89a9cb50ae763
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-distance-backward.ll
Log Message:
-----------
[LAA] Add tests with non-constant backward deps with known min value.
Add a set of tests with non-constant backward dependences, where the
minimum value is known (via the start value of the outer AddRec).
Commit: 63c38ba64ebe079439e29acf43f24c33ecf44f4c
https://github.com/llvm/llvm-project/commit/63c38ba64ebe079439e29acf43f24c33ecf44f4c
Author: Mariusz Borsa <wrotki at msn.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Posix/fake_stack_gc.cpp
Log Message:
-----------
[Sanitizers] Fix fake_test_gc not working on devices (#91284)
The way the LIT RUN command is currently constructed ( %run not --crash
%t ) causes the test failure on devices - since 'not' is a LLVM built
command, not available on devices.
Changing the command to read 'not --crash %run %t' fixes it, as 'not'
now executes on the host running the test.
rdar://115914588
Co-authored-by: Mariusz Borsa <m_borsa at apple.com>
Commit: 9047331f1b4a623332966d888f05bcd3381c8abe
https://github.com/llvm/llvm-project/commit/9047331f1b4a623332966d888f05bcd3381c8abe
Author: David Green <david.green at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/addimm-mulimm.ll
Log Message:
-----------
[AArch64] Add some additional add mul imm tests with multiple uses. NFC
Commit: 5526c8a7425350cff2cd9cafa1bf5f20753e7848
https://github.com/llvm/llvm-project/commit/5526c8a7425350cff2cd9cafa1bf5f20753e7848
Author: Thomas Raoux <thomas.raoux at openai.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
Log Message:
-----------
[MLIR] Model llvm.inline_asm side_effects (#91507)
Allow more cleanups on inline_asm ops modeling side effects based on the
side_effect attributed.
Commit: e3938f4d71493673033f6190454e7e19d5411ea7
https://github.com/llvm/llvm-project/commit/e3938f4d71493673033f6190454e7e19d5411ea7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M offload/plugins-nextgen/common/include/Utils/ELF.h
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Detect native ELF machine from preprocessor (#91282)
Summary:
This gets the target's corresponding ELF value from the preprocessor.
We use this to detect if a given ELF is compatible with the CPU
offloading impolementation for OpenMP. Previously we used defitions from
CMake, but this is easier for people to understand as there may be new
users of this in the future.
Commit: 559accf365a6eb885c24cf15e14aea2eb8e66596
https://github.com/llvm/llvm-project/commit/559accf365a6eb885c24cf15e14aea2eb8e66596
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[AMDGPU] Add VOP3_PACKED to V_PK_{MIN|MAX}IMUM_F16 profile (#91512)
NFCI as far as I understand, added for consitency.
Commit: b1da82ae3dba0982b3a9668ca895ddf4164fb3d1
https://github.com/llvm/llvm-project/commit/b1da82ae3dba0982b3a9668ca895ddf4164fb3d1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Transforms/constant-fold.mlir
Log Message:
-----------
[mlir][arith] Fix overflow bug in arith::CeilDivSIOp::fold (#90947)
The folder for arith::CeilDivSIOp should only be applied when it can be
guaranteed that no overflow would happen. The current implementation
works fine when both dividends are positive and the only arithmetic
operation is the division itself.
However, in cases where either the dividend or divisor is negative (or
both),
the division is split into multiple arith operations, e.g.: `- ( -a /
b)`. That's
additional 2 operations on top of the actual division that can overflow
- the folder should check all 3 ops for overflow.
The current logic doesn't do that - it effectively only checks the last
operation
(i.e. the division). It breaks when using e.g. MININT values (e.g. -128
for
8-bit integers) - negating such values overflows.
This PR makes sure that no folding happens if any of the intermediate
arithmetic operations overflows.
Fixes https://github.com/llvm/llvm-project/issues/89382
Commit: b52160dbae268cc87cb8f6cdf75553ca095e26a9
https://github.com/llvm/llvm-project/commit/b52160dbae268cc87cb8f6cdf75553ca095e26a9
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/Mangled.cpp
Log Message:
-----------
[lldb] Consult Language plugin in GetDisplayDemangledName (#90294)
Give language plugins the opportunity to provide a language specific
display name.
This will be used in a follow up commit. The purpose of this change is
to ultimately display breakpoint locations with a more human friendly
demangling of Swift symbols.
Commit: cec6665f2b7583223eb20519dfc3289011d1d2d7
https://github.com/llvm/llvm-project/commit/cec6665f2b7583223eb20519dfc3289011d1d2d7
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/simplify-libcalls-new.ll
Log Message:
-----------
[MemProf] Optionally update hints on existing hot/cold new calls (#91047)
If directed by an option, update hints on calls to new that already
provide a hot/cold hint.
Commit: 965f3ca3dc5464892e283e176bf058ae04d8b654
https://github.com/llvm/llvm-project/commit/965f3ca3dc5464892e283e176bf058ae04d8b654
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-bitreverse-shift.ll
Log Message:
-----------
[GISel] Fold bitreverse(shl/srl(bitreverse(x),y)) -> srl/shl(x,y) (#91355)
Sibling patch to #89897
Commit: fcf945f4edbad1f2d82df067c2826baa6165dd3e
https://github.com/llvm/llvm-project/commit/fcf945f4edbad1f2d82df067c2826baa6165dd3e
Author: David Green <david.green at arm.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/addimm-mulimm.ll
Log Message:
-----------
[DAG] Fold add(mul(add(A, CA), CM), CB) -> add(mul(A, CM), CM*CA+CB) (#90860)
This is useful when the inner add has multiple uses, and so cannot be
canonicalized by pushing the constants down through the mul. This patch
adds patterns for both `add(mul(add(A, CA), CM), CB)` and with an extra add
`add(add(mul(add(A, CA), CM), B) CB)` as the second can come up when
lowering geps.
Commit: e37bd6c68b50a556ff0e9261cf9eba64afa06bf9
https://github.com/llvm/llvm-project/commit/e37bd6c68b50a556ff0e9261cf9eba64afa06bf9
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M libc/hdr/fenv_macros.h
Log Message:
-----------
[libc][fenv] Add missing FE_* definitions for some environment. (#91519)
Commit: 7ec8a333b5fdf1ee78426fe3557c330aa920aa5f
https://github.com/llvm/llvm-project/commit/7ec8a333b5fdf1ee78426fe3557c330aa920aa5f
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Symbol/SymbolContext.cpp
Log Message:
-----------
[lldb] Display breakpoint locations using display name (#90297)
Adds a `show_function_display_name` parameter to
`SymbolContext::DumpStopContext`. This
parameter defaults to false, but `BreakpointLocation::GetDescription`
sets it to true.
This is NFC in mainline lldb, and will be used to modify how Swift
breakpoint locations are printed.
Commit: 1610eaad39ad882f006f32c29771862a610f8314
https://github.com/llvm/llvm-project/commit/1610eaad39ad882f006f32c29771862a610f8314
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
Log Message:
-----------
[memprof] Make Version2 officially available (#91541)
Commit: 64f4ceb09ec3559368dd775330184b5259531cd3
https://github.com/llvm/llvm-project/commit/64f4ceb09ec3559368dd775330184b5259531cd3
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/IR/Instructions.h
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/Inline/update_invoke_prof.ll
Log Message:
-----------
[Inline][PGO] After inline, update InvokeInst profile counts in caller and cloned callee (#83809)
A related change is https://reviews.llvm.org/D133121, which correctly
preserves both branch weights and value profiles for invoke instruction.
* If the branch weight of the `invokeinst` specifies taken / not-taken branches, there is no scale.
Commit: 99052c4bdf9593a2e648f2c99cabaab36580898c
https://github.com/llvm/llvm-project/commit/99052c4bdf9593a2e648f2c99cabaab36580898c
Author: Augusto Noronha <augusto2112 at me.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
[gardening][DebugInfo][NFC] Improve comment on HashingDISubprogram test (#91543)
Commit: 2fb377432134b12c3522b1ba8fa35ac4d0f14e1d
https://github.com/llvm/llvm-project/commit/2fb377432134b12c3522b1ba8fa35ac4d0f14e1d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
Log Message:
-----------
Revert "[SLP]Fix PR91467: Look through scalar cast, when trying to cast to another type."
This reverts commit 2475efa91d8b4fa8f1a2d16052cb6d14be7d5dc6.
Causes crashes, see comments on https://github.com/llvm/llvm-project/commit/2475efa91d8b4fa8f1a2d16052cb6d14be7d5dc6.
Commit: c0b5a96ac44a70bdc0b138e117e3fea1b49189f5
https://github.com/llvm/llvm-project/commit/c0b5a96ac44a70bdc0b138e117e3fea1b49189f5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/imm.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/imm.ll
Log Message:
-----------
[RISCV] Add tests where we could use Zbs instructions in constant materialization. NFC
Commit: 36d8b37dfaa95b8b4e21cb8269fefb62e1f59c2f
https://github.com/llvm/llvm-project/commit/36d8b37dfaa95b8b4e21cb8269fefb62e1f59c2f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/imm.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/imm.ll
Log Message:
-----------
[RISCV] Add another missed Zbs constant materialization test. NFC
This can be LI+BCLRI+BCLRI.
Commit: 1710c8cf0f8def4984893e9dd646579de5528d95
https://github.com/llvm/llvm-project/commit/1710c8cf0f8def4984893e9dd646579de5528d95
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/test/Fir/dispatch.f90
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/c_ptr_byvalue.f90
M flang/test/HLFIR/call_with_poly_dummy.f90
M flang/test/HLFIR/optional_dummy.f90
M flang/test/HLFIR/order_assignments/where-scheduling.f90
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
M flang/test/Lower/HLFIR/allocatable-and-pointer-status-change.f90
M flang/test/Lower/HLFIR/allocatables-and-pointers.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
M flang/test/Lower/HLFIR/array-ctor-index.f90
M flang/test/Lower/HLFIR/assignment-intrinsics.f90
M flang/test/Lower/HLFIR/assumed-rank-iface-alloc-ptr.f90
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
M flang/test/Lower/HLFIR/binary-ops.f90
M flang/test/Lower/HLFIR/bindc-value-derived.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-percent-val-ref.f90
M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/char_extremum.f03
M flang/test/Lower/HLFIR/charconvert.f90
M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
M flang/test/Lower/HLFIR/convert-variable-block.f90
M flang/test/Lower/HLFIR/convert-variable.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/custom-intrinsic.f90
M flang/test/Lower/HLFIR/designators-component-ref.f90
M flang/test/Lower/HLFIR/designators.f90
M flang/test/Lower/HLFIR/dot_product.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-polymorphic-merge.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref.f90
M flang/test/Lower/HLFIR/expr-addr.f90
M flang/test/Lower/HLFIR/expr-box.f90
M flang/test/Lower/HLFIR/expr-value.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/implicit-type-conversion.f90
M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
M flang/test/Lower/HLFIR/issue80884.f90
M flang/test/Lower/HLFIR/maxloc.f90
M flang/test/Lower/HLFIR/minloc.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/HLFIR/statement-functions.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/transformational.f90
M flang/test/Lower/HLFIR/transpose.f90
M flang/test/Lower/HLFIR/unary-ops.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
M flang/test/Lower/Intrinsics/c_f_procpointer.f90
M flang/test/Lower/Intrinsics/c_funloc-proc-pointers.f90
M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/execute_command_line-optional.f90
M flang/test/Lower/Intrinsics/execute_command_line.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/product.f90
M flang/test/Lower/Intrinsics/signal.f90
M flang/test/Lower/Intrinsics/sizeof.f90
M flang/test/Lower/Intrinsics/sum.f90
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
M flang/test/Lower/OpenACC/acc-atomic-update-array.f90
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-loop-exit.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/flush.f90
M flang/test/Lower/OpenMP/parallel-firstprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause-str.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/array-expression.f90
M flang/test/Lower/character-substrings.f90
M flang/test/Lower/charconvert.f90
M flang/test/Lower/dispatch.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/select-type.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
Log Message:
-----------
[flang] Lowering changes for assigning dummy_scope to hlfir.declare. (#90989)
The lowering produces fir.dummy_scope operation if the current
function has dummy arguments. Each hlfir.declare generated
for a dummy argument is then using the result of fir.dummy_scope
as its dummy_scope operand. This is only done for HLFIR.
I was not able to find a reliable way to identify dummy symbols
in `genDeclareSymbol`, so I added a set of registered dummy symbols
that is alive during the variables instantiation for the current
function. The set is initialized during the mapping of the dummy
argument symbols to their MLIR values. It is reset right after
all variables are instantiated - this is done to avoid generating
hlfir.declare operations with dummy_scope for the clones of
the dummy symbols (e.g. this happens with OpenMP privatization).
If this can be done in a cleaner way, please advise.
Commit: 96568f3539d8a72432a03257a7a8ed2f36014b59
https://github.com/llvm/llvm-project/commit/96568f3539d8a72432a03257a7a8ed2f36014b59
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfLowering.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
A llvm/test/Transforms/PGOProfile/ctx-instrumentation-invalid-roots.ll
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[llvm][ctx_profile] Add instrumentation lowering (#90821)
This adds the instrumentation lowering pass.
(Tracking Issue: #89287, RFC referenced there)
Commit: 1aaab334c53d5c52ae337939e9c853e6e1061128
https://github.com/llvm/llvm-project/commit/1aaab334c53d5c52ae337939e9c853e6e1061128
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Don't use std::vector<std::string> for split extensions in RISCVISAInfo::parseArchString. NFC (#91538)
We can use a SmallVector<StringRef>.
Adjust the code so we check for empty strings in the loop instead of
making a copy of the vector returned from StringRef::split.
This overlaps with #91532 which also removed the std::vector, but
that PR may be more controversial.
Commit: 409ff97aac00e5a677c90353b8b413c2bf46e28f
https://github.com/llvm/llvm-project/commit/409ff97aac00e5a677c90353b8b413c2bf46e28f
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Log Message:
-----------
[InstCombine] Fix comment from #88193 (NFC) (#91427)
It is inaccurate and needs to be corrected.
Commit: ba5170f430b027c6d290f57d7a5d7ba6ee2b265b
https://github.com/llvm/llvm-project/commit/ba5170f430b027c6d290f57d7a5d7ba6ee2b265b
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/lshr.ll
Log Message:
-----------
[InstCombine] Thwart complexity-based canonicalization in shl-add test (NFC) (#91413)
Fixed test for #88193
Commit: 62b5b61f436add042d8729dc9837d055613180d9
https://github.com/llvm/llvm-project/commit/62b5b61f436add042d8729dc9837d055613180d9
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
Log Message:
-----------
[Clang][Sema] Fix lookup of dependent operator= outside of complete-class contexts (#91498)
Fixes a crash caused by #90152.
Commit: 73a01448c733bf08443435927677d0ebd133615b
https://github.com/llvm/llvm-project/commit/73a01448c733bf08443435927677d0ebd133615b
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
A bolt/test/X86/Inputs/jump-table-fixed-ref-pic.s
A bolt/test/X86/jump-table-fixed-ref-pic.test
Log Message:
-----------
[BOLT] Add test case for PIC fixed indirect jump (#91547)
A compiler can generate a redundant indirection for a jump via a fixed
jump table target. Add a test case that covers such pattern that covers
PIC case. We already have non-PIC case detection.
Currently XFAIL.
Commit: 51f178d909d477bd269e0b434af1a7f9373d4e61
https://github.com/llvm/llvm-project/commit/51f178d909d477bd269e0b434af1a7f9373d4e61
Author: Artem Dergachev <adergachev at apple.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/NewDelete-atomics.cpp
Log Message:
-----------
[analyzer] MallocChecker: Recognize std::atomics in smart pointer suppression. (#90918)
Fixes #90498.
Same as 5337efc69cdd5 for atomic builtins, but for `std::atomic` this
time. This is useful because even though the actual builtin atomic is
still there, it may be buried beyond the inlining depth limit.
Also add one popular custom smart pointer class name to the name-based
heuristics, which isn't necessary to fix the bug but arguably a good
idea regardless.
Commit: ea126aebdc9d8205016f355d85dbf1c15f2f4b28
https://github.com/llvm/llvm-project/commit/ea126aebdc9d8205016f355d85dbf1c15f2f4b28
Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
M llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
A llvm/test/CodeGen/PowerPC/aix-shared-lib-tls-model-opt-small-local-dynamic-tls.ll
A llvm/test/CodeGen/PowerPC/aix-shared-lib-tls-model-opt.ll
A llvm/test/CodeGen/PowerPC/check-aix-shared-lib-tls-model-opt-IRattribute.ll
A llvm/test/CodeGen/PowerPC/check-aix-shared-lib-tls-model-opt-Option.ll
Log Message:
-----------
[PowerPC] Tune AIX shared library TLS model at function level (#84132)
Under some circumstance (library loaded with the main program), TLS
initial-exec model can be applied to local-dynamic access(es). We
could use some simple heuristic to decide the update at function level:
* If there is equal or less than a number of TLS local-dynamic access(es)
in the function, use TLS initial-exec model. (the threshold which default to
1 is controlled by hidden option)
Commit: b910bebc300dafb30569cecc3017b446ea8eafa0
https://github.com/llvm/llvm-project/commit/b910bebc300dafb30569cecc3017b446ea8eafa0
Author: Zixu Wang <9819235+zixu-w at users.noreply.github.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/include/llvm/Object/MachO.h
M llvm/lib/Object/MachOObjectFile.cpp
A llvm/test/Object/Inputs/MachO/bind-negative-skip.yaml
A llvm/test/Object/macho-bind-negative-skip.test
Log Message:
-----------
[llvm][MachO] Fix integer truncation in rebase/bind parsing (#89337)
`Count` and `Skip` should use `uint64_t` as they are encoded/decoded
using 64-bit ULEB128.
In `*_OPCODE_DO_*_ULEB_TIMES_SKIPPING_ULEB`, `Skip` could be encoded as
a two's complement for moving `SegmentOffset` backwards. Having a 32-bit
`Skip` truncates the encoded value and leads to a malformed
`AdvanceAmount`
and invalid `SegmentOffset` that extends past valid sections.
Commit: a39a382755c8cf27ecd9a646e720610f48dc09ad
https://github.com/llvm/llvm-project/commit/a39a382755c8cf27ecd9a646e720610f48dc09ad
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/add.ll
Log Message:
-----------
[InstCombine] Thwart complexity-based canonicalization (NFC)
These tests did not test what they were supposed to. The transform
fails to actually handle the commuted cases.
Commit: 0d335f78e45341db53d9f956adcebbb2d2616c9a
https://github.com/llvm/llvm-project/commit/0d335f78e45341db53d9f956adcebbb2d2616c9a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/add.ll
Log Message:
-----------
[InstCombine] Handle more commuted cases in matchesSquareSum()
Commit: f958a7348fcb27c3c6b07f1c8bdb902c7525b845
https://github.com/llvm/llvm-project/commit/f958a7348fcb27c3c6b07f1c8bdb902c7525b845
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/call-guard.ll
M llvm/test/Transforms/InstCombine/fast-math.ll
Log Message:
-----------
[InstCombine] Fix name clashes in check lines (NFC)
These used both lower and upper case variants of the same name,
resulting in malformed check lines when regenerated.
Commit: 8f4f34f10345806b25b892d3df15951ee820de82
https://github.com/llvm/llvm-project/commit/8f4f34f10345806b25b892d3df15951ee820de82
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
Log Message:
-----------
[RISCV] Add test for vmerge.vvm that could have splat sunk. NFC
Commit: 73d423319c0957a9b16ed8d5fb7c8336729b9c38
https://github.com/llvm/llvm-project/commit/73d423319c0957a9b16ed8d5fb7c8336729b9c38
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/apint-and-xor-merge.ll
M llvm/test/Transforms/InstCombine/apint-or.ll
M llvm/test/Transforms/InstCombine/trunc-binop-ext.ll
Log Message:
-----------
[InstCombine] Regenerate test checks (NFC)
Commit: 3a3aeb8eba40e981d3a9ff92175f949c2f3d4434
https://github.com/llvm/llvm-project/commit/3a3aeb8eba40e981d3a9ff92175f949c2f3d4434
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
M llvm/test/CodeGen/PowerPC/merge-string-used-by-metadata.mir
A llvm/test/CodeGen/PowerPC/mergeable-string-pool-exceptions.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-pass-only.mir
Log Message:
-----------
[PPCMergeStringPool] Avoid replacing constant with instruction (#88846)
String pool merging currently, for a reason that's not entirely clear to
me, tries to create GEP instructions instead of GEP constant expressions
when replacing constant references. It only uses constant expressions in
cases where this is required. However, it does not catch all cases where
such a requirement exists. For example, the landingpad catch clause has
to be a constant.
Fix this by always using the constant expression variant, which also
makes the implementation simpler.
Additionally, there are some edge cases where even replacement with a
constant GEP is not legal. The one I am aware of is the
llvm.eh.typeid.for intrinsic, so add a special case to forbid
replacements for it.
Fixes https://github.com/llvm/llvm-project/issues/88844.
Commit: 5baf58b628a4488de3f1a6af7c0df180358ba5dc
https://github.com/llvm/llvm-project/commit/5baf58b628a4488de3f1a6af7c0df180358ba5dc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/test/CodeGen/RISCV/imm.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/imm.ll
Log Message:
-----------
[RISCV] Improve use of BSETI/BCLRI in constant materialization. (#91546)
We failed to use BSETI when bit 31 was set and a few bits above bit 31
were set. We also failed to use multiple BSETI when the low 32 bits were
zero.
I've removed the special cases for constants 0x80000000-0xffffffff and
wrote a more generic algorithm for BSETI.
I've rewritten the BCLRI handling to be similar to the new BSETI
algorithm. This picks up cases where bit 31 is 0 and only a few high
bits are 0.
Commit: 666970cab2e80055cf1e5b5e9025c8f88e0d0732
https://github.com/llvm/llvm-project/commit/666970cab2e80055cf1e5b5e9025c8f88e0d0732
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVPostRAExpandPseudoInsts.cpp
Log Message:
-----------
[RISCV] Remove unnecessary initialization from RISCVPostRAExpandPseudo pass constructor.
It is already initialized in RISCVTargetMachine.cpp
Commit: 2a57657d5571b097eb0070e6f26ad4954c0fd990
https://github.com/llvm/llvm-project/commit/2a57657d5571b097eb0070e6f26ad4954c0fd990
Author: chandan singh <36783761+chandankds at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M openmp/runtime/src/z_Linux_asm.S
A openmp/runtime/test/misc_bugs/omp__kmpc_fork_call_if.c
Log Message:
-----------
[OpenMP] [Flang] Resolved Issue llvm#76121: Implemented Check for Unhandled Arguments in __kmpc_fork_call_if (#82221)
Root cause: Segmentation fault is caused by null pointer dereference
inside the __kmpc_fork_call_if function at
https://github.com/llvm/llvm-project/blob/main/openmp/runtime/src/z_Linux_asm.S#L1186
. __kmpc_fork_call_if is missing case to handle argc=0 .
Fix: Added a check inside the __kmp_invoke_microtask function to handle
the case when argc is 0.
---------
Co-authored-by: Singh <chasingh at amd.com>
Commit: 5adcfd4c17826b2b8f023881baa1c7f79cb23920
https://github.com/llvm/llvm-project/commit/5adcfd4c17826b2b8f023881baa1c7f79cb23920
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[flang][CMake] Add missing dependency to generate Fortran module files (#91517)
Fixes bug https://github.com/llvm/llvm-project/issues/90769. Many thanks
to @Meinersbur for providing the initial thought and solution to this.
Commit: 90ffaa6ccc6dc7351c72979da217bd3eb7fd4491
https://github.com/llvm/llvm-project/commit/90ffaa6ccc6dc7351c72979da217bd3eb7fd4491
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/or-xor.ll
Log Message:
-----------
[InstCombine] Add proper test coverage for or of xors pattern (NFC)
Test all commuted variants of the pattern, most of which currently
fail to fold.
Commit: 534701d5f93369e822f3afc9670e3a42b08dfc6f
https://github.com/llvm/llvm-project/commit/534701d5f93369e822f3afc9670e3a42b08dfc6f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/or-xor.ll
Log Message:
-----------
[InstCombine] Handle commuted variants in or of xor pattern
This pattern only handled commutation in the "or", while all
involved operations are commutative. Make sure we handle all
sixteen patterns.
Commit: 97be79ca126c1a0e174fdbc345a28868edc7cdc7
https://github.com/llvm/llvm-project/commit/97be79ca126c1a0e174fdbc345a28868edc7cdc7
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/Transforms/Reassociate/fast-ArrayOutOfBounds.ll
Log Message:
-----------
[Reassociate] Generate test checks (NFC)
Commit: 042a0b000dfe602ee0432be5ff88c67f531791bc
https://github.com/llvm/llvm-project/commit/042a0b000dfe602ee0432be5ff88c67f531791bc
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/type/main.cpp
Log Message:
-----------
[lldb] Make SBType::GetDirectNestedType (mostly) work with typedefs (#91189)
The implementation is straight-forward, but comes with a big disclaimer.
See #91186 for details.
Commit: fd1bd53ba5a06f344698a55578f6a5d79c457e30
https://github.com/llvm/llvm-project/commit/fd1bd53ba5a06f344698a55578f6a5d79c457e30
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
A lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
A lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
Log Message:
-----------
[lldb/aarch64] Fix unwinding when signal interrupts a leaf function (#91321)
A leaf function may not store the link register to stack, but we it can
still end up being a non-zero frame if it gets interrupted by a signal.
Currently, we were unable to unwind past this function because we could
not read the link register value.
To make this work, this patch:
- changes the function-entry unwind plan to include the `fp|lr = <same>`
rules. This in turn necessitated an adjustment in the generic
instruction emulation logic to ensure that `lr=[sp-X]` can override the
`<same>` rule.
- allows the `<same>` rule for pc and lr in all
`m_all_registers_available` frames (and not just frame zero).
The test verifies that we can unwind in a situation like this, and that
the backtrace matches the one we computed before getting a signal.
Commit: dec8055a1e71fe25d4b85416ede742e8fdfaf3f0
https://github.com/llvm/llvm-project/commit/dec8055a1e71fe25d4b85416ede742e8fdfaf3f0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/TypeDetail.h
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/TableGen/Builder.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp
M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[mlir] Use StringRef::operator== instead of StringRef::equals (NFC) (#91560)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
10 under mlir/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: aacea0d0f67401f5a0b74947f3ff179ade9cbf6d
https://github.com/llvm/llvm-project/commit/aacea0d0f67401f5a0b74947f3ff179ade9cbf6d
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-08 (Wed, 08 May 2024)
Changed paths:
M llvm/docs/TestingGuide.rst
M llvm/test/tools/UpdateTestChecks/lit.local.cfg
A llvm/test/tools/UpdateTestChecks/update_test_body/Inputs/basic-asm.test.expected
A llvm/test/tools/UpdateTestChecks/update_test_body/Inputs/basic.test.expected
A llvm/test/tools/UpdateTestChecks/update_test_body/basic-asm.test
A llvm/test/tools/UpdateTestChecks/update_test_body/basic.test
A llvm/test/tools/UpdateTestChecks/update_test_body/empty-stdout.test
A llvm/test/tools/UpdateTestChecks/update_test_body/gen-absent.test
A llvm/test/tools/UpdateTestChecks/update_test_body/gen-fail.test
A llvm/test/tools/UpdateTestChecks/update_test_body/gen-unterminated.test
A llvm/test/tools/UpdateTestChecks/update_test_body/lit.local.cfg
M llvm/test/tools/llvm-dwarfdump/X86/formclass4.s
M llvm/test/tools/llvm-dwarfdump/X86/prettyprint_type_units_split_v5.s
A llvm/utils/update_test_body.py
Log Message:
-----------
[utils] Add script to generate elaborated IR and assembly tests (#89026)
Generally, IR and assembly test files benefit from being cleaned to
remove unnecessary details. However, for tests requiring elaborate
IR or assembly files where cleanup is less practical (e.g., large amount
of debug information output from Clang), the current practice is to
include the C/C++ source file and the generation instructions as
comments.
This is inconvenient when regeneration is needed. This patch adds
`llvm/utils/update_test_body.py` to allow easier regeneration.
`ld.lld --debug-names` tests (#86508) utilize this script for
Clang-generated assembly tests.
Note: `-o pipefail` is standard (since
https://www.austingroupbugs.net/view.php?id=789) but not supported by
dash.
Link:
https://discourse.llvm.org/t/utility-to-generate-elaborated-assembly-ir-tests/78408
Commit: c4a3d184db5fdffe798208b8281dfe944616f9ed
https://github.com/llvm/llvm-project/commit/c4a3d184db5fdffe798208b8281dfe944616f9ed
Author: Vlad Mishel <43666597+vmishelcs at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libc/src/__support/CPP/CMakeLists.txt
A libc/src/__support/CPP/mutex.h
M libc/src/__support/File/CMakeLists.txt
M libc/src/__support/File/dir.cpp
M libc/src/__support/threads/CMakeLists.txt
M libc/src/__support/threads/fork_callbacks.cpp
M libc/src/__support/threads/thread.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/atexit.cpp
M libc/src/threads/linux/CMakeLists.txt
M libc/src/threads/linux/CndVar.h
M libc/test/src/__support/CPP/CMakeLists.txt
A libc/test/src/__support/CPP/mutex_test.cpp
Log Message:
-----------
[libc] Replace `MutexLock` with `cpp::lock_guard` (#89340)
This PR address issue #89002.
#### Changes in this PR
* Added a simple implementation of `cpp::lock_guard` (an equivalent of
`std::lock_guard`) in libc/src/__support/CPP inspired by the libstdc++
implementation
* Added tests for `cpp::lock_guard` in
/libc/test/src/__support/CPP/mutex_test.cpp
* Replaced all references to `MutexLock` with `cpp::lock_guard`
---------
Co-authored-by: Guillaume Chatelet <gchatelet at google.com>
Commit: 443377a9d1a8d4a69a317a1a892184c59dd0aec6
https://github.com/llvm/llvm-project/commit/443377a9d1a8d4a69a317a1a892184c59dd0aec6
Author: Daniel M. Katz <katzdm at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
M clang/test/SemaCXX/enum-scoped.cpp
Log Message:
-----------
[Clang] Fix P2564 handling of variable initializers (#89565)
The following program produces a diagnostic in Clang and EDG, but
compiles correctly in GCC and MSVC:
```cpp
#include <vector>
consteval std::vector<int> fn() { return {1,2,3}; }
constexpr int a = fn()[1];
```
Clang's diagnostic is as follows:
```cpp
<source>:6:19: error: call to consteval function 'fn' is not a constant expression
6 | constexpr int a = fn()[1];
| ^
<source>:6:19: note: pointer to subobject of heap-allocated object is not a constant expression
/opt/compiler-explorer/gcc-snapshot/lib/gcc/x86_64-linux-gnu/14.0.1/../../../../include/c++/14.0.1/bits/allocator.h:193:31: note: heap allocation performed here
193 | return static_cast<_Tp*>(::operator new(__n));
| ^
1 error generated.
Compiler returned: 1
```
Based on my understanding of
[`[dcl.constexpr]/6`](https://eel.is/c++draft/dcl.constexpr#6):
> In any constexpr variable declaration, the full-expression of the
initialization shall be a constant expression
It seems to me that GCC and MSVC are correct: the initializer `fn()[1]`
does not evaluate to an lvalue referencing a heap-allocated value within
the `vector` returned by `fn()`; it evaluates to an lvalue-to-rvalue
conversion _from_ that heap-allocated value.
This PR turns out to be a bug fix on the implementation of
[P2564R3](https://wg21.link/p2564r3); as such, it only applies to C++23
and later. The core problem is that the definition of a
constant-initialized variable
([`[expr.const/2]`](https://eel.is/c++draft/expr.const#2)) is contingent
on whether the initializer can be evaluated as a constant expression:
> A variable or temporary object o is _constant-initialized_ if [...]
the full-expression of its initialization is a constant expression when
interpreted as a _constant-expression_, [...]
That can't be known until we've finished parsing the initializer, by
which time we've already added immediate invocations and consteval
references to the current expression evaluation context. This will have
the effect of evaluating said invocations as full expressions when the
context is popped, even if they're subexpressions of a larger constant
expression initializer. If, however, the variable _is_
constant-initialized, then its initializer is [manifestly
constant-evaluated](https://eel.is/c++draft/expr.const#20):
> An expression or conversion is _manifestly constant-evaluated_ if it
is [...] **the initializer of a variable that is usable in constant
expressions or has constant initialization** [...]
which in turn means that any subexpressions naming an immediate function
are in an [immediate function
context](https://eel.is/c++draft/expr.const#16):
> An expression or conversion is in an immediate function context if it
is potentially evaluated and either [...] it is a **subexpression of a
manifestly constant-evaluated expression** or conversion
and therefore _are not to be considered [immediate
invocations](https://eel.is/c++draft/expr.const#16) or
[immediate-escalating
expressions](https://eel.is/c++draft/expr.const#17) in the first place_:
> An invocation is an _immediate invocation_ if it is a
potentially-evaluated explicit or implicit invocation of an immediate
function and **is not in an immediate function context**.
> An expression or conversion is _immediate-escalating_ if **it is not
initially in an immediate function context** and [...]
The approach that I'm therefore proposing is:
1. Create a new expression evaluation context for _every_ variable
initializer (rather than only nonlocal ones).
2. Attach initializers to `VarDecl`s _prior_ to popping the expression
evaluation context / scope / etc. This sequences the determination of
whether the initializer is in an immediate function context _before_ any
contained immediate invocations are evaluated.
3. When popping an expression evaluation context, elide all evaluations
of constant invocations, and all checks for consteval references, if the
context is an immediate function context. Note that if it could be
ascertained that this was an immediate function context at parse-time,
we [would never have
registered](https://github.com/llvm/llvm-project/blob/760910ddb918d77e7632be1678f69909384d69ae/clang/lib/Sema/SemaExpr.cpp#L17799)
these immediate invocations or consteval references in the first place.
Most of the test changes previously made for this PR are now reverted
and passing as-is. The only test updates needed are now as follows:
- A few diagnostics in `consteval-cxx2a.cpp` are updated to reflect that
it is the `consteval tester::tester` constructor, not the more narrow
`make_name` function call, which fails to be evaluated as a constant
expression.
- The reclassification of `warn_impcast_integer_precision_constant` as a
compile-time diagnostic adds a (somewhat duplicative) warning when
attempting to define an enum constant using a narrowing conversion. It
also, however, retains the existing diagnostics which @erichkeane
(rightly) objected to being lost from an earlier revision of this PR.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: febd89cafea11e6603f593e41be1a21ca9d009ac
https://github.com/llvm/llvm-project/commit/febd89cafea11e6603f593e41be1a21ca9d009ac
Author: Vadim D <36827317+vvd170501 at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/string-compare.rst
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
A clang-tools-extra/test/clang-tidy/checkers/readability/string-compare-custom-string-classes.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/string-compare.cpp
Log Message:
-----------
[clang-tidy] check `std::string_view` and custom string-like classes in `readability-string-compare` (#88636)
This PR aims to expand the list of classes that are considered to be
"strings" by `readability-string-compare` check.
1. Currently only `std::string;:compare` is checked, but
`std::string_view` has a similar `compare` method. This PR enables
checking of `std::string_view::compare` by default.
2. Some codebases use custom string-like classes that have public
interfaces similar to `std::string` or `std::string_view`. Example:
[TStringBase](https://github.com/yandex/yatool/blob/main/util/generic/strbase.h#L38),
A new option, `readability-string-compare.StringClassNames`, is added to
allow specifying a custom list of string-like classes.
Related to, but does not solve #28396 (only adds support for custom
string-like classes, not custom functions)
Commit: b52fa9461ab73eaf2d04f32c806a1715b2595830
https://github.com/llvm/llvm-project/commit/b52fa9461ab73eaf2d04f32c806a1715b2595830
Author: David Sherwood <57997763+david-arm at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
A llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
A llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll
Log Message:
-----------
[Analysis] Add cost model for experimental.cttz.elts intrinsic (#90720)
In PR #88385 I've added support for auto-vectorisation of some early
exit loops, which requires using the experimental.cttz.elts to calculate
final indices in the early exit block. We need a more accurate cost
model for this intrinsic to better reflect the cost of work required in
the early exit block. I've tried to accurately represent the expansion
code for the intrinsic when the target does not have efficient lowering
for it. It's quite tricky to model because you need to first figure out
what types will actually be used in the expansion. The type used can
have a significant effect on the cost if you end up using illegal vector
types.
Tests added here:
Analysis/CostModel/AArch64/cttz_elts.ll
Analysis/CostModel/RISCV/cttz_elts.ll
Commit: 105dd60fc86a20404bd97ea7132e2c746ade300a
https://github.com/llvm/llvm-project/commit/105dd60fc86a20404bd97ea7132e2c746ade300a
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/test/CodeGen/aapcs64-align.cpp
Log Message:
-----------
[Clang][AArch64] Fixed incorrect _BitInt alignment (#90602)
This patch makes determining alignment and width of BitInt to be target
ABI specific and makes it consistent with [Procedure Call Standard for
the Arm® 64-bit Architecture
(AArch64)](https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst)
for AArch64 targets.
Commit: 8afa6cf510608079e24d07423782c4db20de7498
https://github.com/llvm/llvm-project/commit/8afa6cf510608079e24d07423782c4db20de7498
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx2c.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/functional
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.const_ref.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap_const.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.const_ref.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap_const.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_concepts.h
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_types.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][functional] P2944R3 (partial): Comparisons for `reference_wrapper` (`reference_wrapper` operators only) (#88384)
Implements https://wg21.link/P2944R3 (partially)
Implements https://wg21.link/LWG4071 /
https://cplusplus.github.io/LWG/issue4071 (fixes build failures in the
test suite)
- https://eel.is/c++draft/refwrap.comparisons
Commit: 2cbfe4a823020b2efe53d32ad7eccbc5a037943f
https://github.com/llvm/llvm-project/commit/2cbfe4a823020b2efe53d32ad7eccbc5a037943f
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/combine_vloads.ll
M llvm/test/CodeGen/AMDGPU/dead_bundle.mir
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-global-i1.ll
M llvm/test/CodeGen/AMDGPU/load-local-i1.ll
M llvm/test/CodeGen/AMDGPU/load-local-i8.ll
M llvm/test/CodeGen/AMDGPU/nullptr-long-address-spaces.ll
M llvm/test/CodeGen/AMDGPU/nullptr.ll
M llvm/test/CodeGen/AMDGPU/setcc.ll
M llvm/test/CodeGen/AMDGPU/sext-in-reg.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/store-global.ll
M llvm/test/CodeGen/AMDGPU/store-local.ll
M llvm/test/CodeGen/AMDGPU/trunc-vector-store-assertion-failure.ll
M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
M llvm/test/CodeGen/AMDGPU/unsupported-calls.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca.ll
M llvm/test/CodeGen/AMDGPU/wrong-transalu-pos-fix.ll
Log Message:
-----------
[AMDGPU] Remove duplicate -mtriple options in tests (#91576)
Commit: 643c38333fc1b1e7e705e6e1035c595bbd95bc74
https://github.com/llvm/llvm-project/commit/643c38333fc1b1e7e705e6e1035c595bbd95bc74
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-vuzp.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/neon-perm.ll
M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
Log Message:
-----------
[AArch64] Remove EXT instr before UZP when extracting elements from vector (#91328)
Assembly generated for getting odd/even elements from vector contained
extra EXT instruction. This was due to way llvm constructs DAGs when
vector_shuffling from larger type to smaller. This patch optimises DAG
in these situations, allowing for correct assembly to be emitted.
Commit: 1494d8849fa2aef575dabd431b0060639f4a57c1
https://github.com/llvm/llvm-project/commit/1494d8849fa2aef575dabd431b0060639f4a57c1
Author: jofrn <jofernau at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp
Log Message:
-----------
[AMDGPU] Always Inline preserved analyses (#91198)
When replacing all uses, the structural-hash of the IR can change, so
keep track of changes using Changed variable and return it to pass
manager.
Commit: 6eb9e214b3cb06fc31f2547275e746761c3e41de
https://github.com/llvm/llvm-project/commit/6eb9e214b3cb06fc31f2547275e746761c3e41de
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
A llvm/test/CodeGen/AMDGPU/check-subtarget-features.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-wave32-feature.ll
M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
Log Message:
-----------
RFC: [AMDGPU] Check subtarget features for consistency (#86957)
Implement GCNSubtarget::checkSubtargetFeatures as a canonical place to
check subtarget features for consistency and diagnose any
inconsistencies. To start with, the implementation just checks that
either wavefrontsize32 or wavefrontsize64 is selected.
checkSubtargetFeatures is called at the start of instruction selection.
This is pretty arbitrary. It is just a convenient point at which we have
access to the subtarget that we're going to use for codegenning a
particular function.
Commit: 58a94b1d0ad8df85bc6b1edb22c74ffb718ca1a1
https://github.com/llvm/llvm-project/commit/58a94b1d0ad8df85bc6b1edb22c74ffb718ca1a1
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
A llvm/test/Transforms/SLPVectorizer/X86/extended-vectorized-gathered-inst.ll
Log Message:
-----------
[SLP]Fix PR91467: Look through scalar cast, when trying to cast to another type.
Need to look through the SExt/ZExt scalars to be gathered, when trying
to reduce their width after minbitwidth analysis to prevent permanent
attempts to revectorize such gathered instructions.
Commit: aa16de6399a42421076ed642c3b4f7fb12c6d44b
https://github.com/llvm/llvm-project/commit/aa16de6399a42421076ed642c3b4f7fb12c6d44b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/include/llvm/Linker/IRMover.h
M llvm/lib/Linker/CMakeLists.txt
M llvm/lib/Linker/IRMover.cpp
A llvm/test/Linker/Inputs/strlen.ll
A llvm/test/Linker/libcalls.ll
Log Message:
-----------
[Linker] Propagate `nobuiltin` attributes when linking known libcalls (#89431)
Summary:
As discussed in
https://discourse.llvm.org/t/rfc-libc-ffreestanding-fno-builtin.
LLVM ascribes special semantics to several functions that are known to
be `libcalls`. These are functions that middle-end optimizations may
transforms calls into or perform optimizations based off of known
semantics. However, these assumptions require an opaque function call to
be known valid. In situations like LTO or IR linking it is possible to
bring a libcall definition into the current module. Once this happens,
we can no longer make any guarantees about the semantics of these
functions.
We currently attempt to solve this by preventing all inlining if the
called function has `no-builtin` https://reviews.llvm.org/D74162.
However, this is overly pessimistic as it prevents all inlining even for
non-libcall functions.
This patch modifies the IRMover class to track known libcalls enabled
for the given target. If we encounter a known libcall during IR linking,
we then need to append the `nobuiltin` attribute to the destination
module. Afterwards, all new definitions we link in will be applied as
well.
Commit: 80f9e814ec896fdc57ee84afad8ac4cb1f8e4627
https://github.com/llvm/llvm-project/commit/80f9e814ec896fdc57ee84afad8ac4cb1f8e4627
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-image.c
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M offload/include/PluginManager.h
M offload/include/device.h
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/include/Utils/ELF.h
M offload/plugins-nextgen/common/src/JIT.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/src/CMakeLists.txt
M offload/src/OffloadRTL.cpp
M offload/src/OpenMP/InteropAPI.cpp
M offload/src/PluginManager.cpp
M offload/src/device.cpp
M offload/src/interface.cpp
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
M offload/unittests/Plugins/NextgenPluginsTest.cpp
Log Message:
-----------
[Libomptarget] Statically link all plugin runtimes (#87009)
This patch overhauls the `libomptarget` and plugin interface. Currently,
we define a C API and compile each plugin as a separate shared library.
Then, `libomptarget` loads these API functions and forwards its internal
calls to them. This was originally designed to allow multiple
implementations of a library to be live. However, since then no one has
used this functionality and it prevents us from using much nicer
interfaces. If the old behavior is desired it should instead be
implemented as a separate plugin.
This patch replaces the `PluginAdaptorTy` interface with the
`GenericPluginTy` that is used by the plugins. Each plugin exports a
`createPlugin_<name>` function that is used to get the specific
implementation. This code is now shared with `libomptarget`.
There are some notable improvements to this.
1. Massively improved lifetimes of life runtime objects
2. The plugins can use a C++ interface
3. Global state does not need to be duplicated for each plugin +
libomptarget
4. Easier to use and add features and improve error handling
5. Less function call overhead / Improved LTO performance.
Additional changes in this plugin are related to contending with the
fact that state is now shared. Initialization and deinitialization is
now handled correctly and in phase with the underlying runtime, allowing
us to actually know when something is getting deallocated.
Depends on https://github.com/llvm/llvm-project/pull/86971
https://github.com/llvm/llvm-project/pull/86875
https://github.com/llvm/llvm-project/pull/86868
Commit: b903badd73a2467fdd4e363231f2bf9b0704b546
https://github.com/llvm/llvm-project/commit/b903badd73a2467fdd4e363231f2bf9b0704b546
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
M lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
Log Message:
-----------
[lldb] Attempt to fix signal-in-leaf-function-aarch64 on darwin
Convert settings set EXC_BAD_INSTRUCTION to SIGILL so we get uniform
behavior (and can resume the inferior).
Fix a "omitting the parameter name in a function definition is a C23
extension" warning as a drive-by.
Commit: b452b34932a3f0450026c40fb797698a6671f9a7
https://github.com/llvm/llvm-project/commit/b452b34932a3f0450026c40fb797698a6671f9a7
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
A llvm/test/Transforms/IndVarSimplify/preserving-debugloc.ll
Log Message:
-----------
[DebugInfo][IndVarSimplify] Fix missing debug location updates (#91443)
Adds debug location updates for the newly created `phi`, `add`, `icmp` and `sitofp` instructions in `IndVarSimplify`.
Fixes #91436
Commit: a7ee81e8279e0bf6e05617a4a638e5f2f8e45022
https://github.com/llvm/llvm-project/commit/a7ee81e8279e0bf6e05617a4a638e5f2f8e45022
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libc/src/__support/CPP/mutex.h
Log Message:
-----------
[libc] Remove unused variable causing build errors
Commit: d86b68afd7f0d7684adc312bcdc87f9027d0d896
https://github.com/llvm/llvm-project/commit/d86b68afd7f0d7684adc312bcdc87f9027d0d896
Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/MC/AMDGPU/alignto_mcexpr.s
A llvm/test/MC/AMDGPU/extrasgprs_mcexpr.s
A llvm/test/MC/AMDGPU/occupancy_mcexpr.s
A llvm/test/MC/AMDGPU/totalnumvgpr_mcexpr.s
M llvm/unittests/MC/AMDGPU/CMakeLists.txt
A llvm/unittests/MC/AMDGPU/SIProgramInfoMCExprs.cpp
Log Message:
-----------
MCExpr-ify SIProgramInfo (#88257)
Convert members in SIProgramInfo affected by variables provided by AMDGPUResourceUsageAnalysis into MCExprs.
Commit: e5e66073c3d404f4dedf1b0be160b7815ccf8903
https://github.com/llvm/llvm-project/commit/e5e66073c3d404f4dedf1b0be160b7815ccf8903
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-image.c
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M offload/include/PluginManager.h
M offload/include/device.h
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/include/Utils/ELF.h
M offload/plugins-nextgen/common/src/JIT.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/src/CMakeLists.txt
M offload/src/OffloadRTL.cpp
M offload/src/OpenMP/InteropAPI.cpp
M offload/src/PluginManager.cpp
M offload/src/device.cpp
M offload/src/interface.cpp
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
M offload/unittests/Plugins/NextgenPluginsTest.cpp
Log Message:
-----------
Revert "[Libomptarget] Statically link all plugin runtimes (#87009)"
Caused failures on build-bots, reverting to investigate.
This reverts commit 80f9e814ec896fdc57ee84afad8ac4cb1f8e4627.
Commit: e0d8dbc1dc203983243860c1fcc4698f60de37c0
https://github.com/llvm/llvm-project/commit/e0d8dbc1dc203983243860c1fcc4698f60de37c0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/opt-shuff-tstore.ll
Log Message:
-----------
[X86] opt-shuff-tstore.ll - regenerate checks
Commit: 8b400de79eff2a4fb95f06b6e4d167e65abbf448
https://github.com/llvm/llvm-project/commit/8b400de79eff2a4fb95f06b6e4d167e65abbf448
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86.td
M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
Log Message:
-----------
[X86] Enable TuningSlowDivide64 on Barcelona/Bobcat/Bulldozer/Ryzen Families (#91277)
Despite most AMD cpus having a lower latency for i64 divisions that converge early, we are still better off testing for values representable as i32 and performing a i32 division if possible.
All AMD cpus appear to have been missed when we added the "idivq-to-divl" attribute - this patch now matches Intel cpu behaviour (and the x86-64/v2/3/4 levels).
Unfortunately the difference in code scheduling means I've had to stop using the update_llc_test_checks script and just use old-fashioned CHECK-DAG checks for divl/divq pairs.
Fixes #90985
Commit: c2a87d7e032f8e6c8cbe6ab4c7cfbb7f7996ca9f
https://github.com/llvm/llvm-project/commit/c2a87d7e032f8e6c8cbe6ab4c7cfbb7f7996ca9f
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
Log Message:
-----------
[AMDGPU] Remove unused lambda capture (NFC)
/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp:733:30:
error: lambda capture 'Ctx' is not used [-Werror,-Wunused-lambda-capture]
auto TryGetMCExprValue = [&Ctx](const MCExpr *Value, uint64_t &Res) -> bool {
~^~~
1 error generated.
Commit: ad652efa1f65e16f5380acfba1bb132145984805
https://github.com/llvm/llvm-project/commit/ad652efa1f65e16f5380acfba1bb132145984805
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/CodeGen/aarch64-elf-pauthabi.c
M clang/test/Driver/aarch64-ptrauth.c
M clang/test/Preprocessor/ptrauth_feature.c
Log Message:
-----------
[AArch64][PAC][clang][ELF] Support PAuth ABI core info (#85235)
Depends on #87545
Emit PAuth ABI compatibility tag values as llvm module flags:
- `aarch64-elf-pauthabi-platform`
- `aarch64-elf-pauthabi-version`
For platform 0x10000002 (llvm_linux), the version value bits correspond
to the following LangOptions defined in #85232:
- bit 0: `PointerAuthIntrinsics`;
- bit 1: `PointerAuthCalls`;
- bit 2: `PointerAuthReturns`;
- bit 3: `PointerAuthAuthTraps`;
- bit 4: `PointerAuthVTPtrAddressDiscrimination`;
- bit 5: `PointerAuthVTPtrTypeDiscrimination`;
- bit 6: `PointerAuthInitFini`.
---------
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Commit: 6a8d30b1c1be5e46deb9b3a17915d488e1dbc470
https://github.com/llvm/llvm-project/commit/6a8d30b1c1be5e46deb9b3a17915d488e1dbc470
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
Log Message:
-----------
DAG: Skip 0 sign handling in minimum/maximum lowering for _ieee case (#91326)
dc9664a8adae17f2083fbcc8e96cfce606c56d57 changed the documentation to
assume these order -0 as less than +0.
Commit: e2d17a053edff68c9761aceb8ff8303e3e37172c
https://github.com/llvm/llvm-project/commit/e2d17a053edff68c9761aceb8ff8303e3e37172c
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
Log Message:
-----------
[AMDGPU] Build lane intrinsics in a mangling-agnostic way. NFC. (#91583)
Use the form of CreateIntrinsic that takes an explicit return type and
works out the mangling based on that and the types of the arguments. The
advantage is that this still works if intrinsics are changed to have
type mangling, e.g. if readlane/readfirstlane/writelane are changed to
work on any type.
Commit: d98e3d43e7943f0440013c9f491f323bcc864aa3
https://github.com/llvm/llvm-project/commit/d98e3d43e7943f0440013c9f491f323bcc864aa3
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M bolt/include/bolt/Passes/IndirectCallPromotion.h
Log Message:
-----------
[BOLT][NFC] Apply absorption rule to boolean expression (#91540)
Fixes #91197.
Commit: ed3a60c796c2ed3c9fc59efc83856913ab5860f5
https://github.com/llvm/llvm-project/commit/ed3a60c796c2ed3c9fc59efc83856913ab5860f5
Author: Hongbin Jin <octopus.busts_0w at icloud.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/shift-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/shift-rv64.mir
Log Message:
-----------
[RISCV][GlobalISel] Fix selectShiftMask when shift mask is created from G_AND (#89602)
This patch fixes cases where G_AND creating the shift mask is eliminated
if one of its source operands is a constant, resulting from an incorrect
predicate.
Commit: 0c0fc9a7c6e298269871b4f1bf5fea7fa9048209
https://github.com/llvm/llvm-project/commit/0c0fc9a7c6e298269871b4f1bf5fea7fa9048209
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/Utils/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/MC/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port d86b68afd7f0 (AMDGPUMCTests dependency mess)
Commit: c73516af10f800d0d5641651eefce128b866a155
https://github.com/llvm/llvm-project/commit/c73516af10f800d0d5641651eefce128b866a155
Author: Lang Hames <lhames at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
Log Message:
-----------
[ORC] Add tests for error handling paths in suspended generators.
Test that (1) errors returned from a manually suspended generator are
propagated as expected, and (2) automatic suspension does not interfere with
our ability to resume (and return errors from) a generator.
Commit: cbf1535cc813b2f226498d974c43675832abc233
https://github.com/llvm/llvm-project/commit/cbf1535cc813b2f226498d974c43675832abc233
Author: Lang Hames <lhames at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
Log Message:
-----------
[ORC] Fix fall-through in error case in EPCGenericDylibManager::lookupAsync.
In the event of a serialization error (e.g. due to a network dropout) we should
only run the Complete handler once, passing the serialization error value.
No test-case: This would require a deliberately injected failure in a
remote-JIT test and we don't have the infrastructure for that at the moment.
rdar://126772381
Commit: e88ba6d975d887ca001cae30bfa0c53d91165148
https://github.com/llvm/llvm-project/commit/e88ba6d975d887ca001cae30bfa0c53d91165148
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
Log Message:
-----------
[AArch64] Add intrinsics for multi-vector to ZA array vector accumulators (#88266)
According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics
void_svadd_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svadd_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");
as well as the corresponding `bf16` variants.
Commit: 6f1013a5b3f92d3ae6e378d6706584a2a44e6964
https://github.com/llvm/llvm-project/commit/6f1013a5b3f92d3ae6e378d6706584a2a44e6964
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libc/src/__support/CPP/mutex.h
Log Message:
-----------
[libc] Add template deduction guide for cpp::lock_guard. (#91589)
Fix ctad-maybe-unsupported warnings for `cpp::lock_guard`.
Commit: 8d2ab2a0ec168673696930ba3e3c403656cdfe55
https://github.com/llvm/llvm-project/commit/8d2ab2a0ec168673696930ba3e3c403656cdfe55
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/Parse/ParseOpenACC.cpp
Log Message:
-----------
[OpenACC][NFC] Fix EndLoc behavior of optional clause params
It was discovered while writing the 'wait' clause ast tests that the
'endloc' wasn't set correctly when there was no arguments. This patch
ensures we set it right, and adds an assert to prevent us from messing
it up in the future.
Commit: b1b465218d1fd3e1abe9332ed9ec535c49061425
https://github.com/llvm/llvm-project/commit/b1b465218d1fd3e1abe9332ed9ec535c49061425
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-wait-clause.c
A clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] 'wait' clause for compute construct sema
'wait' takes a few int-exprs (well, a series of async-arguments, but
those are effectively just an int-expr), plus a pair of tags. This
patch adds the support for this to the AST, and does the appropriate
semantic analysis for them.
Commit: c416e43571cca78dea3ee75b2a9fec944c0c65a1
https://github.com/llvm/llvm-project/commit/c416e43571cca78dea3ee75b2a9fec944c0c65a1
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lld/MachO/ObjC.cpp
M lld/test/MachO/objc-category-merging-complete-test.s
Log Message:
-----------
[lld-macho] Add support for non-lazy categories to ObjC category merger (#91548)
In ObjC we can have categories that define a `+load` method that is
called when the category is loaded. In such cases, we shouldn't optimize
the category. These categories are present in the `__objc_nlcatlist`
section. So we scan these section for such categories and ignore them
from optimization.
Commit: 4ad3de901e8acfafdeb59406064f24a3c2ea27e8
https://github.com/llvm/llvm-project/commit/4ad3de901e8acfafdeb59406064f24a3c2ea27e8
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/test/Driver/plugin-driver-args.cpp
Log Message:
-----------
[driver][test] Only check for unused plugin options (#91522)
This fixes matching `clang: error: argument unused during compilation:
'-Werror' [-Werror,-Wunused-command-line-argument]` on AIX.
---------
Co-authored-by: Hubert Tong <hubert-reinterpretcast at users.noreply.github.com>
Commit: b54a5e7271e34530893ae374876e284a65d785d4
https://github.com/llvm/llvm-project/commit/b54a5e7271e34530893ae374876e284a65d785d4
Author: Nico Weber <thakis at chromium.org>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn] port d86b68afd7f0 more
See my comments on https://github.com/llvm/llvm-project/pull/88257.
(The AMDGPU target internal depencencies were among the messiest
among all targets even before that.)
Commit: 139e0aa68dc23d2aeec05de1ae05ebf2aa5fa11e
https://github.com/llvm/llvm-project/commit/139e0aa68dc23d2aeec05de1ae05ebf2aa5fa11e
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
R clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
R llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
Log Message:
-----------
Revert "[AArch64] Add intrinsics for multi-vector to ZA array vector accumulators" (#91597)
Reverts llvm/llvm-project#88266 due to test failures
error: 'expected-error' diagnostics seen but not expected:
(frontend): '-fsyntax-only' action ignored; '-emit-llvm' action
specified previously
Commit: 673cfcd03b7b938b422fee07d8ca4a127d480b1f
https://github.com/llvm/llvm-project/commit/673cfcd03b7b938b422fee07d8ca4a127d480b1f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/include/llvm/Linker/IRMover.h
M llvm/lib/Linker/CMakeLists.txt
M llvm/lib/Linker/IRMover.cpp
R llvm/test/Linker/Inputs/strlen.ll
R llvm/test/Linker/libcalls.ll
Log Message:
-----------
Revert "[Linker] Propagate `nobuiltin` attributes when linking known libcalls (#89431)"
This apparently breaks AMDGPU offloading for unknown reasons. Reverting
for now.
This reverts commit aa16de6399a42421076ed642c3b4f7fb12c6d44b.
Commit: 846ffc7ac1a43dc83fc0ee1280a793988fae7ab0
https://github.com/llvm/llvm-project/commit/846ffc7ac1a43dc83fc0ee1280a793988fae7ab0
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M compiler-rt/test/dfsan/release_shadow_space.c
Log Message:
-----------
Disable flaky test: dfsan/release_shadow_space.c (#91493)
The current pass rate on the bot is ~50%.
https://github.com/llvm/llvm-project/issues/91287
Commit: fa9e90f5d23312587b3a17920941334e0d1a58a1
https://github.com/llvm/llvm-project/commit/fa9e90f5d23312587b3a17920941334e0d1a58a1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-image.c
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M offload/include/PluginManager.h
M offload/include/device.h
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/include/Utils/ELF.h
M offload/plugins-nextgen/common/src/JIT.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/src/CMakeLists.txt
M offload/src/OffloadRTL.cpp
M offload/src/OpenMP/InteropAPI.cpp
M offload/src/PluginManager.cpp
M offload/src/device.cpp
M offload/src/interface.cpp
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
M offload/unittests/Plugins/NextgenPluginsTest.cpp
Log Message:
-----------
[Reland][Libomptarget] Statically link all plugin runtimes (#87009)
This patch overhauls the `libomptarget` and plugin interface. Currently,
we define a C API and compile each plugin as a separate shared library.
Then, `libomptarget` loads these API functions and forwards its internal
calls to them. This was originally designed to allow multiple
implementations of a library to be live. However, since then no one has
used this functionality and it prevents us from using much nicer
interfaces. If the old behavior is desired it should instead be
implemented as a separate plugin.
This patch replaces the `PluginAdaptorTy` interface with the
`GenericPluginTy` that is used by the plugins. Each plugin exports a
`createPlugin_<name>` function that is used to get the specific
implementation. This code is now shared with `libomptarget`.
There are some notable improvements to this.
1. Massively improved lifetimes of life runtime objects
2. The plugins can use a C++ interface
3. Global state does not need to be duplicated for each plugin +
libomptarget
4. Easier to use and add features and improve error handling
5. Less function call overhead / Improved LTO performance.
Additional changes in this plugin are related to contending with the
fact that state is now shared. Initialization and deinitialization is
now handled correctly and in phase with the underlying runtime, allowing
us to actually know when something is getting deallocated.
Depends on https://github.com/llvm/llvm-project/pull/86971
https://github.com/llvm/llvm-project/pull/86875
https://github.com/llvm/llvm-project/pull/86868
Commit: fdede92d435068f31e7ea3a1dddb46d50343dd8c
https://github.com/llvm/llvm-project/commit/fdede92d435068f31e7ea3a1dddb46d50343dd8c
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/debug_rnglists.s
Log Message:
-----------
[lldb][DWARF] Sort ranges list in dwarf 5. (#91343)
Dwarf 5 says "There is no requirement that the entries be ordered in any
particular way" in 2.17.3 Non-Contiguous Address Ranges for rnglist.
Some places assume the ranges are already sorted but it's not.
For example, when [parsing function
info](https://github.com/llvm/llvm-project/blob/bc8a42762057d7036f6871211e62b1c3efb2738a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp#L922-L927),
it validates low and hi address of the function: GetMinRangeBase returns
the first range entry base and GetMaxRangeEnd returns the last range
end. If low >= hi, it stops parsing this function. This causes missing
inline stack frames for those functions.
This change fixes it and updates the test
`lldb/test/Shell/SymbolFile/DWARF/x86/debug_rnglists.s` so that two
ranges in `.debug_rnglists` are out of order and `image lookup -v -s
lookup_rnglists` is still able to produce sorted ranges for the inner
block.
Commit: aa9d467abaeb440dc70b64c0f35b8d5e731f3a19
https://github.com/llvm/llvm-project/commit/aa9d467abaeb440dc70b64c0f35b8d5e731f3a19
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
Log Message:
-----------
Revert "[AArch64] NFC: Add RUN lines for streaming-compatible code." (#91599)
Reverts llvm/llvm-project#90617
Commit: 87235fa9af06b639d7b4b1eb7ac5840fb56cc569
https://github.com/llvm/llvm-project/commit/87235fa9af06b639d7b4b1eb7ac5840fb56cc569
Author: Yuxuan Chen <yuxuanchen1997 at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroElide.cpp
Log Message:
-----------
[NFC] CoroElide: Refactor `Lowerer` into `CoroIdElider` (#91539)
This patch contains no functional changes.
The main goal of this patch is to get better clarity out of the code, to
make intentions and assumptions clear.
One major design problem I had in the past were `Lowerer`. It previously
inherited from `coro::LowererBase` but it doesn't use any of the fields
or methods from `LowererBase`. It might be an artifact leftover from
previous designs of this code.
Furthermore, we should clarify that although one such instance is bound
to the function, `Lowerer` was dedicated to one `CoroId` instruction at
a time. We rely on a sequence of fragile constructs like
`CoroBegins.clear(); DestroyAddr.clear()`. This doesn't help understand
the code.
What's worse is that we have confusing calls like
`elideHeapAllocations(CoroId->getFunction(), ...` and it might get
confused with `CoroId->getCoroutine()`.
The new structure intends to make it clear that we always operate on one
`CoroId` at a time, which may have multiple `CoroBegin`s. Such structure
doesn't rely on frequent `.clear()` that's prone to miss.
Commit: fe0b7983a2f510cdede22cdf6c9227e32ded6a15
https://github.com/llvm/llvm-project/commit/fe0b7983a2f510cdede22cdf6c9227e32ded6a15
Author: Joe Nash <joseph.nash at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/EXPInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Create AMDGPUMnemonicAlias tablegen class (#89288)
AMDGPUMnemonicAlias is a MnemonicAlias that inherits from
GCNPredicateControl, so that we can set predicates on the alias the same
way as Instructions.
Use AssemblerPredicate instead of Requires on aliases
NFC.
Commit: b1cbf4a7c3174471690e20360c2adae173608ae0
https://github.com/llvm/llvm-project/commit/b1cbf4a7c3174471690e20360c2adae173608ae0
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
Log Message:
-----------
[mlir][ArmSME] Add comments in tile-spills-and-fills.mlir (#91450)
* adds comments in tile-spills-and-fills.mlir
* adds comments in ArmSMEIntrinsicOps.td
* updates test in tile-spills-and-fills.mlir not to return 2D scalable
vectors (e.g. vector<[4]x[4]xf32>) - that's not supported and not
needed for that test
Commit: aeab44d3861dbaac1eb8d68d818f432c86322759
https://github.com/llvm/llvm-project/commit/aeab44d3861dbaac1eb8d68d818f432c86322759
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
R clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-todo.cpp
Log Message:
-----------
[NFC][clang-tidy] remove magic-numbers-todo.cpp (#91577)
This XFAIL test is written in 4 years ago and still todo.
4 is already in DefaultIgnoredIntegerValues so I do not think this XFAIL
case can be passed.
Commit: df21ee4c62e97239560485abdcc42aa340de65f7
https://github.com/llvm/llvm-project/commit/df21ee4c62e97239560485abdcc42aa340de65f7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[DAG] Add clang-format off/on wrappers around compact switch handlers. NFC.
Avoids a problem identified in #90503
Commit: eb177803bfc31ea8ce784c6cf5a881a8bbce0bce
https://github.com/llvm/llvm-project/commit/eb177803bfc31ea8ce784c6cf5a881a8bbce0bce
Author: Yinying Li <yinyingli at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/test/Integration/Dialect/SparseTensor/CPU/block.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/block_majors.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0_permute.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1_permute.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_bf16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_f16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dual_sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_abs.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_binary.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cmp.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_collapse_shape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex32.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex64.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_constant_to_sparse_tensor.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_1d_nwc_wcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nhwc_hwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d_ndhwc_dhwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_block.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_dyn.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_ptr.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dot.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_ds.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_empty.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand_shape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_1d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul_slice.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_mult_elt.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_reduction.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_simple.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pooling_nhwc.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_re_im.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_prod.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reshape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_mm_fusion.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scale.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scf_nested.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_select.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_semiring_select.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sign.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sorted_coo.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_storage.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tanh.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_mul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose_coo.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_unary.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_vector_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-gemm-lib.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-sampled-matmul-lib.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-sddmm-lib.mlir
Log Message:
-----------
[mlir][sparse] Change sparse_tensor.print format (#91528)
1. Remove the trailing comma for the last element of memref and add
closing parenthesis.
2. Change integration tests to use the new format.
Commit: 9e1a49cba71416d7e425eb420e86e1120199f4de
https://github.com/llvm/llvm-project/commit/9e1a49cba71416d7e425eb420e86e1120199f4de
Author: David Green <david.green at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/frem-power2.ll
A llvm/test/CodeGen/ARM/frem-power2.ll
Log Message:
-----------
[AArch64][ARM] Add tests for frem power2 lowering. NFC
Commit: 937643b8e1017ce6456de0c05b1673bd9ed0800d
https://github.com/llvm/llvm-project/commit/937643b8e1017ce6456de0c05b1673bd9ed0800d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libcxx/test/support/constexpr_char_traits.h
M libcxx/test/support/nasty_string.h
Log Message:
-----------
[libc++][test] Fixes constexpr char_traits. (#90981)
The issue in nasty_char_traits was discovered by @StephanTLavavej who
provided
the solution they use in MSVC STL. This solution is based on that
example.
The same issue affects the constexpr_char_traits which was discovered in
https://github.com/llvm/llvm-project/pull/88389. This uses the same fix.
Fixes: https://github.com/llvm/llvm-project/issues/74221
Commit: 6c8356579b20a6522d39649bcaaaf77e8e324daf
https://github.com/llvm/llvm-project/commit/6c8356579b20a6522d39649bcaaaf77e8e324daf
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++][ASan] Fix std::basic_string trait type (#91590)
Addresses the comment:
https://github.com/llvm/llvm-project/pull/79536#discussion_r1593652240
Changes the type to `void` instead of `false_type`.
The value is used here:
https://github.com/llvm/llvm-project/blob/6f1013a5b3f92d3ae6e378d6706584a2a44e6964/libcxx/include/__type_traits/is_trivially_relocatable.h#L35-L38
Commit: 2083e97e88ed13d39d9190d65696ad3866c23caa
https://github.com/llvm/llvm-project/commit/2083e97e88ed13d39d9190d65696ad3866c23caa
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
Log Message:
-----------
Fix VectorEmulateNarrowType asserting on scalar type vs vector type. (#91613)
Commit: 28c427e5c022634ef479a98dc46291067a8c6c96
https://github.com/llvm/llvm-project/commit/28c427e5c022634ef479a98dc46291067a8c6c96
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/fold-designator.cpp
M flang/lib/Evaluate/tools.cpp
M flang/test/Semantics/data01.f90
A flang/test/Semantics/data23.f90
Log Message:
-----------
[flang] Ensure that DATA converter can cope with proc ptr error (#90973)
Multiple definitions of a procedure pointer with DATA statements should
elicit an error message, not a compiler crash.
Fixes https://github.com/llvm/llvm-project/issues/90944.
Commit: e9be1292873428a81524f200aaa5cc23b857b22e
https://github.com/llvm/llvm-project/commit/e9be1292873428a81524f200aaa5cc23b857b22e
Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Fixes typo in aarch64 triple (#91622)
Use llvm::Triple:aarch64 as the little-endian triple.
Fixes commit 3e54768d7a0e1cfa65e892b6602993192ecad91e.
Commit: 41f0574c4654fb8a8cbb8c26d453f51a31cfd2a0
https://github.com/llvm/llvm-project/commit/41f0574c4654fb8a8cbb8c26d453f51a31cfd2a0
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/packoffset.hlsl
A clang/test/SemaHLSL/packoffset-invalid.hlsl
Log Message:
-----------
[HLSL] reenable add packoffset in AST (#91474)
This reapplies
https://github.com/llvm/llvm-project/commit/c5509fedc5757fffece385d9d068e36b26793ade
"[HLSL] Support packoffset attribute in AST
(https://github.com/llvm/llvm-project/pull/89836)" with a fix for the
test failure caused by missing -fnative-half-type.
Since we have to parse the attribute manually in ParseHLSLAnnotations,
we could create the ParsedAttribute with an integer offset parameter
instead of string. This approach avoids parsing the string if the offset
is saved as a string in HLSLPackOffsetAttr.
For #57914
Commit: d0bafb5435d5ebd90cdf965a9b35bdfa05dde23b
https://github.com/llvm/llvm-project/commit/d0bafb5435d5ebd90cdf965a9b35bdfa05dde23b
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add coverage for zext.w/h interaction with shift transforms
Two cases where folding the and (which could be a zext.w) through
shifts in generic DAG result in net worse code quality. And one
negative case where keeping a zext.h would result in a longer
critical path.
Commit: 8ed7ea08962bb878d31052c15e811d1a6cda0f07
https://github.com/llvm/llvm-project/commit/8ed7ea08962bb878d31052c15e811d1a6cda0f07
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/modfile12.f90
M flang/test/Semantics/modfile17.f90
A flang/test/Semantics/pdt03.f90
Log Message:
-----------
[flang] Defer conversion of PDT default initializers (#91026)
As the kinds of the integer types of type parameters may well depend on
the values of other type parameters, defer the attempt to convert their
values to the point of type instantiation instead of doing it during
declaration processing.
Commit: 4c3db2588e8b38f75744def6e2dd17c556950e46
https://github.com/llvm/llvm-project/commit/4c3db2588e8b38f75744def6e2dd17c556950e46
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Passes.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
A mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
A mlir/test/Dialect/Linalg/block-pack-matmul-layout.mlir
A mlir/test/Dialect/Linalg/block-pack-matmul-padding.mlir
A mlir/test/Dialect/Linalg/block-pack-matmul.mlir
Log Message:
-----------
[mlir][linalg] Block pack matmul pass (#89782)
Pack a matmul MxNxK operation into 4D blocked layout. Any present batch
dimensions remain unchanged and the result is unpacked back to the
original layout.
Matmul block packing splits the operands into major blocks (outer
dimensions) and minor blocks (inner dimensions). The desired block
layout can be controlled through packing options.
Commit: 317e6ff6290c4c3065cb79c3eaf52f171e40cdfd
https://github.com/llvm/llvm-project/commit/317e6ff6290c4c3065cb79c3eaf52f171e40cdfd
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h
Log Message:
-----------
[NFC] Move parameter into field (#91065)
Fixes #89194.
Commit: e1f279e92ddda4e4fdd6fff165b950d0879fa41e
https://github.com/llvm/llvm-project/commit/e1f279e92ddda4e4fdd6fff165b950d0879fa41e
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libc/src/__support/FPUtil/FMA.h
R libc/src/__support/FPUtil/aarch64/FMA.h
R libc/src/__support/FPUtil/gpu/FMA.h
R libc/src/__support/FPUtil/riscv/FMA.h
R libc/src/__support/FPUtil/x86_64/FMA.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Use __builtin_fma(f) by default if LIBC_TARGET_CPU_HAS_FMA is defined. (#91535)
Commit: ecae3ed958481cba7d60868cf3504292f7f4fdf5
https://github.com/llvm/llvm-project/commit/ecae3ed958481cba7d60868cf3504292f7f4fdf5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/offset-range-known-via-assume.ll
Log Message:
-----------
[LAA] Apply loop guards to dependence distance.
After supporting non-constant dependence distances in 933f49248bf,
applying information from loop guards can help further disambiguate
dependencies.
Commit: 785b143a402a282822c3d5e30bb4e2b1980c0b1e
https://github.com/llvm/llvm-project/commit/785b143a402a282822c3d5e30bb4e2b1980c0b1e
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/examples/python/crashlog.py
M lldb/examples/python/crashlog_scripted_process.py
Log Message:
-----------
[lldb/crashlog] Enforce image loading policy (#91109)
In `27f27d1`, we changed the image loading logic to conform to the
various options (`-a|--load-all` & `-c|--crashed-only`) and loaded them
concurrently.
However, instead of the subset of images that matched the user option,
the thread pool would always run on all the crashlog images, causing
them to be all loaded in the target everytime.
This matches the `-a|--load-all` option behaviour but depending on the
report, it can cause lldb to load thousands of images, which can take a
very long time if the images are downloaded over the network.
This patch fixes that issue by keeping a list of `images_to_load` based
of
the user-provided option. This list will be used with our executor
thread pool to load the images according to the user selection, and
reinstates
the expected default behaviour, by only loading the crashed thread
images and
skipping all the others.
This patch also unifies the way we load images into a single method
that's shared by both the batch mode & the interactive scripted process.
rdar://123694062
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 22c59e01cd2f87164301415c93b60fc3c204dfb8
https://github.com/llvm/llvm-project/commit/22c59e01cd2f87164301415c93b60fc3c204dfb8
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/array-constr-index01.f90
Log Message:
-----------
[flang] Don't crash on bad inherited implied DO type (#91073)
Fortran has an ambiguously defined rule about the typing of index
variables of implied DO loops in DATA statements and array constructors
that omit an explicit type specification. Such indices have the type
that they would have "if they were variables" in the innermost enclosing
scope. Although this could, and perhaps should, be read to mean that
implicit typing rules active in that innermost enclosing scope should be
applied, every other Fortran compiler interprets that language to mean
that if there is a type declaration for that name that is visible from
the enclosing scope, it is applied, and it is an error if that type is
not integer.
Fixes https://github.com/llvm/llvm-project/issues/91053.
Commit: 8585bf7542f1098bd03a667a408d42d2a815d305
https://github.com/llvm/llvm-project/commit/8585bf7542f1098bd03a667a408d42d2a815d305
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/examples/python/crashlog.py
Log Message:
-----------
[lldb/crashlog] Update incorrect help message for `--no-crashed-only` option (#91162)
This patch rephrases the crashlog `--no-crashed-only` option help
message. This option is mainly used in batch mode to symbolicate and
dump all the threads backtraces, instead of only doing it for the
crashed thread which is the default behavior.
rdar://127391524
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: b9e3fa84d3fdfe718a4a3085f7adeda3d81f2568
https://github.com/llvm/llvm-project/commit/b9e3fa84d3fdfe718a4a3085f7adeda3d81f2568
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Progress.cpp
M lldb/unittests/Core/DiagnosticEventTest.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[lldb][enums] Remove broadcast bits from debugger (#91618)
Removes the debugger broadcast bits from `Debugger.h` and instead uses
the enum from `lldb-enumerations.h` and adds the
`eBroadcastSymbolChange` bit to the enum in `lldb-enumerations.h`. This fixes a bug wherein the incorrect broadcast bit could be referenced due both of these enums previously existing and being out-of-sync with each other.
Commit: 7c1b2898302c9f84fa43952f746d79817e1ead40
https://github.com/llvm/llvm-project/commit/7c1b2898302c9f84fa43952f746d79817e1ead40
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/program-parsers.cpp
Log Message:
-----------
[flang] Accept compiler directives between module subprograms (#91230)
Parse and represent compiler directives in a modules
module-subprogram-part between the module subprograms.
Commit: b3a835e129ed8a67cf393f9ee26989b36a3eff1c
https://github.com/llvm/llvm-project/commit/b3a835e129ed8a67cf393f9ee26989b36a3eff1c
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
Log Message:
-----------
[lldb] Verify target stop-hooks support with scripted process (#91107)
This patch makes sure that scripted process are compatible with target
stop-hooks. This wasn't tested in the past, but it turned out to be
working out of the box.
rdar://124396534
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 98c1ba460a697110c64f6d1dd362dcf7088a13ca
https://github.com/llvm/llvm-project/commit/98c1ba460a697110c64f6d1dd362dcf7088a13ca
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[InstrProf] Add vtables with type metadata into symtab (#81051)
The indirect-call-promotion pass will look up the vtable to find out
the virtual function [1],
and add vtable-derived information in icall
candidate [2] for cost-benefit analysis.
[1] https://github.com/llvm/llvm-project/pull/81442/files#diff-a95d1ac8a0da69713fcb3346135d4b219f0a73920318d2549495620ea215191bR395-R416
[2] https://github.com/llvm/llvm-project/pull/81442/files#diff-a95d1ac8a0da69713fcb3346135d4b219f0a73920318d2549495620ea215191bR195-R199
Commit: 7b25ddc559fad078b605c7b3c0d9f4a35a973a52
https://github.com/llvm/llvm-project/commit/7b25ddc559fad078b605c7b3c0d9f4a35a973a52
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
Log Message:
-----------
[flang] Don't crash in expression analysis after detecting error (#91234)
Avoid calling GetArguments() if a fatal error has been detected.
Fixes https://github.com/llvm/llvm-project/issues/91114.
Commit: bce3132cd26c9546a7429da534aed332f4d05d27
https://github.com/llvm/llvm-project/commit/bce3132cd26c9546a7429da534aed332f4d05d27
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libcxx/docs/Status/SpaceshipProjects.csv
Log Message:
-----------
[libc++][doc] Updates Spaceship status page.
The completed chrono parts no longer need an implementation.
Commit: d742c2aa25226c2b48f3917ed86a5a224cf25734
https://github.com/llvm/llvm-project/commit/d742c2aa25226c2b48f3917ed86a5a224cf25734
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/compute-offsets.cpp
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/test/Semantics/equivalence01.f90
Log Message:
-----------
[flang] Move EQUIVALENCE object checking to check-declarations.cpp (#91259)
Move EQUIVALENCE object checking from resolve-names-utils.cpp to
check-declarations.cpp, where it can work on fully resolved symbols and
reduce clutter in name resolution. Add a check for EQUIVALENCE objects
that are not ObjectEntityDetails symbols so that attempts to equivalence
a procedure are caught.
Commit: 5ad418b55c167fbdce31b92467e90eb3a03d85ce
https://github.com/llvm/llvm-project/commit/5ad418b55c167fbdce31b92467e90eb3a03d85ce
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/lib/Parse/ParseOpenACC.cpp
Log Message:
-----------
Remove stale TODO comment
Commit: 90501be35b2c4ad314a45634062e0dfe878d8621
https://github.com/llvm/llvm-project/commit/90501be35b2c4ad314a45634062e0dfe878d8621
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/bind-c03.f90
M flang/test/Semantics/bind-c06.f90
M flang/test/Semantics/bindings01.f90
M flang/test/Semantics/resolve81.f90
M flang/test/Semantics/resolve85.f90
Log Message:
-----------
[flang] Accept interoperable types without BIND(C) (#91363)
A derived type that meets (most of) the requirements of an interoperable
type but doesn't actually have the BIND(C) attribute can be accepted as
an interoperable type, with optional warnings.
Commit: 8fd838a8c499b4ce2822d51d1c661058ccc08c7d
https://github.com/llvm/llvm-project/commit/8fd838a8c499b4ce2822d51d1c661058ccc08c7d
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/Transforms/InterleavedAccess/RISCV/interleaved-accesses.ll
Log Message:
-----------
[RISC-V] Limit vscale interleaving to addrspace 0. (#91573)
The vlseg and vsseg intrinsic functions are not overloaded on pointer
type, so cannot handle non-default address spaces.
This fixes an error we see after #90583.
Commit: c3d2af0f4e180e67c4c5dd0f83bed1ea226f4565
https://github.com/llvm/llvm-project/commit/c3d2af0f4e180e67c4c5dd0f83bed1ea226f4565
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] VPEVLBasedIVPHI is a VPSingleDefRecipe.
VPEVLBasedIVPHIRecipe inherits from VPSingleDefRecipe. Add
VPEVLBasedIVPHISC to VPSingleDefRecipe::classof to make isa/dyn_cast &
co work as expected.
Split off https://github.com/llvm/llvm-project/pull/67934.
Commit: b942c24845a39e6161c8623b1efc4e2083d879e9
https://github.com/llvm/llvm-project/commit/b942c24845a39e6161c8623b1efc4e2083d879e9
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/lib/Semantics/data-to-inits.cpp
Log Message:
-----------
[flang] Don't crash on not-yet-implemented feature (#91368)
A procedure pointer can be initialized in a DATA statement, but
semantics crashes if the initializer is the name of an intrinsic
function. This patch fixes that crash so that compilation survives to
the point where lowering admits that it doesn't yet support the feature.
Addresses https://github.com/llvm/llvm-project/issues/91295.
Commit: 19b41f40a4b93a6243c816b80b6e664a4418f79f
https://github.com/llvm/llvm-project/commit/19b41f40a4b93a6243c816b80b6e664a4418f79f
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/entry01.f90
Log Message:
-----------
[flang] Complete RESULT() name constraint checking (#91476)
There are two constraints in the language that prohibit the use of an
ENTRY name being used as the RESULT() variable of the function or
another ENTRY name in the same function's scope; neither can the name of
the function be used as the RESULT() of an ENTRY.
Move most of the existing partial enforcement of these constraints from
name resolution into declaration checking, complete it, and add more
cases to the tests.
Commit: a51d92a44740fd1b17930de183c9ad6d993029b1
https://github.com/llvm/llvm-project/commit/a51d92a44740fd1b17930de183c9ad6d993029b1
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/stmt-func01.f90
Log Message:
-----------
[flang] Fix crash in semantics on error case (#91482)
An erroneous statement function declaration exposed an unhandled
situation in a utility routine in semantics. Patch that hole and add a
test.
Fixes https://github.com/llvm/llvm-project/issues/91429.
Commit: dcf92a249233cab103f848dd12e96e0d642a8899
https://github.com/llvm/llvm-project/commit/dcf92a249233cab103f848dd12e96e0d642a8899
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
A clang/test/CXX/dcl/dcl.init/aggr.cpp
Log Message:
-----------
[clang][NFC] Add examples from [dcl.init.aggr] to C++ conformance tests (#91435)
This patch adds examples from 2024-04-22 draft of
[[dcl.init.aggr]](http://eel.is/c++draft/dcl.init.aggr) to C++
conformance tests. Testing is done via constant evaluation and static
asserts. As far as I can see, the rest of the conformance suite is
typically testing the latest language mode at the time of writing (with
a notable exception of defect report tests), so I'm also testing in the
latest language mode.
Commit: d36b4abb51a9f84d436f184581b15021fdf22114
https://github.com/llvm/llvm-project/commit/d36b4abb51a9f84d436f184581b15021fdf22114
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Rework liblldb (#91549)
Previously we were linking liblldb as a shared library, but also linking
the contents into the lldb binary. This is invalid and results in subtle
runtime issues because of duplicate constants, like the global plugin
registry. This now links the dylib to lldb directly. This requires we
switch to cc_binary instead because cc_shared_library expects your
library to export all symbols in your transitive dependency tree, where
we only want to export lldb symbols.
Commit: 75ebcbf24abb2e5b045ec920bc86f667516e4cc6
https://github.com/llvm/llvm-project/commit/75ebcbf24abb2e5b045ec920bc86f667516e4cc6
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
Log Message:
-----------
[Clang][Sema] Revert changes to operator= lookup in templated classes from #91498, #90999, and #90152 (#91620)
This reverts changes in #91498, #90999, and #90152 which make
`operator=` dependent whenever the current class is templated.
Commit: 8ac928fea8d561261133e0337a2777fcda99f7ba
https://github.com/llvm/llvm-project/commit/8ac928fea8d561261133e0337a2777fcda99f7ba
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/time_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/clock_t.h
A libc/hdr/types/clockid_t.h
A libc/hdr/types/struct_timeval.h
A libc/hdr/types/suseconds_t.h
A libc/hdr/types/time_t.h
M libc/src/__support/CMakeLists.txt
A libc/src/__support/time/CMakeLists.txt
A libc/src/__support/time/clock_gettime.h
A libc/src/__support/time/linux/CMakeLists.txt
A libc/src/__support/time/linux/clock_gettime.cpp
A libc/src/__support/time/units.h
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/gettimeofday.h
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
R libc/src/time/linux/clockGetTimeImpl.h
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
Log Message:
-----------
[libc][NFC] adjust time related implementations (#91485)
Commit: ddad7c3c84a8706ad539f1a69660a31a00b411a2
https://github.com/llvm/llvm-project/commit/ddad7c3c84a8706ad539f1a69660a31a00b411a2
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
A clang/test/CodeGen/aarch64-fmv-dependencies.c
A clang/test/Driver/aarch64-fmv.c
Log Message:
-----------
[AArch64] add some more tests for FMV (#91490)
Add a couple of tests to make it clear:
- when FMV should be enabled and disabled by the driver.
- which extensions are enabled/disabled based on the dependencies
specified in TargetParser.
Commit: f4a7e1f9bac1f11e1db1c0a895f3f681838f89f2
https://github.com/llvm/llvm-project/commit/f4a7e1f9bac1f11e1db1c0a895f3f681838f89f2
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/examples/python/crashlog.py
Log Message:
-----------
[lldb/crashlog] Fix module binary resolution (#91631)
This patch fixes a bug in when resolving and loading modules from the
binary image list.
When loading a module, we would first use the UUID from the binary image
list with `dsymForUUID` to fetch the dSYM bundle from our remote build
records and copy the executable locally.
If we failed to find a matching dSYM bundle for that UUID on the build
record, let's say if that module was built locally, we use Spotlight
(`mdfind`) to find the dSYM bundle once again using the UUID.
Prior to this patch, we would set the image path to be the same as the
symbol file. This resulted in trying to load the dSYM as a module in
lldb, which isn't allowed.
This patch address that by looking for a binary matching the image
identifier, next to the dSYM bundle and try to load that instead.
rdar://127433616
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 639a740035b732e9bc0f43f3f95d1ce3acf82e1b
https://github.com/llvm/llvm-project/commit/639a740035b732e9bc0f43f3f95d1ce3acf82e1b
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/test/Driver/aarch64-implied-sme-features.c
M clang/test/Driver/aarch64-implied-sve-features.c
M lldb/test/Shell/Commands/command-disassemble-aarch64-extensions.s
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[AArch64] move extension information into tablgen (#90987)
Generate TargetParser extension information from tablegen. This includes FMV extension information. FMV only extensions are represented by a separate tablegen class.
Use MArchName/ArchKindEnumSpelling to avoid renamings.
Cases where there is simply a case difference are handled by
consistently uppercasing the AEK_ name in the emitted code.
Remove some Extensions which were not needed.
These had AEK entries but were never actually used for anything.
They are not present in Extensions[] data.
Commit: 99f45b4c5b67cccb7845580a67b42776f49ef0e2
https://github.com/llvm/llvm-project/commit/99f45b4c5b67cccb7845580a67b42776f49ef0e2
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fix new CodeGen dep (#91654)
```
.../AMDGPUUtilsAndDesc/AMDGPUCallLowering.h:17:10: fatal error: 'llvm/CodeGen/GlobalISel/CallLowering.h' file not found
```
https://buildkite.com/llvm-project/upstream-bazel/builds/97166
Commit: db9421381980cdf3d6914f8898a77d3237325019
https://github.com/llvm/llvm-project/commit/db9421381980cdf3d6914f8898a77d3237325019
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/examples/python/crashlog.py
Log Message:
-----------
[lldb/crashlog] Fix test failure when creating a target using command options (#91653)
This should fix the various crashlog test failures on the bots:
```
lldb-shell :: ScriptInterpreter/Python/Crashlog/app_specific_backtrace_crashlog.test
lldb-shell :: ScriptInterpreter/Python/Crashlog/interactive_crashlog_json.test
lldb-shell :: ScriptInterpreter/Python/Crashlog/interactive_crashlog_legacy.test
lldb-shell :: ScriptInterpreter/Python/Crashlog/last_exception_backtrace_crashlog.test
lldb-shell :: ScriptInterpreter/Python/Crashlog/skipped_status_interactive_crashlog.test
```
When we create a target by using the command option, we don't set it in
the crashlog object which later on cause us to fail loading the images.
rdar://127832961
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: ca3917538de1deeb0e51f11fbdbe295b6d3768d1
https://github.com/llvm/llvm-project/commit/ca3917538de1deeb0e51f11fbdbe295b6d3768d1
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/docs/ClangOffloadBundler.rst
M clang/lib/Driver/OffloadBundler.cpp
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[ClangOffloadBundler] make hipv4 and hip compatible (#91637)
The distinction between the hip and hipv4 offload kinds is historically
based. Originally, these designations might have indicated different
versions of the code object ABI (Application Binary Interface). However,
as the system has evolved, the ABI version is now embedded directly
within the code object itself, making these historical distinctions
irrelevant during the unbundling process. Consequently, hip and hipv4
are treated as compatible in current implementations, facilitating
interchangeable handling of code objects without differentiation based
on offload kind. This change streamlines code management within the
ecosystem.
Commit: 5a0e0b659fb5c652c66a083224bf300b4ae32452
https://github.com/llvm/llvm-project/commit/5a0e0b659fb5c652c66a083224bf300b4ae32452
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
R libc/hdr/time_macros.h
M libc/hdr/types/CMakeLists.txt
R libc/hdr/types/clock_t.h
R libc/hdr/types/clockid_t.h
R libc/hdr/types/struct_timeval.h
R libc/hdr/types/suseconds_t.h
R libc/hdr/types/time_t.h
M libc/src/__support/CMakeLists.txt
R libc/src/__support/time/CMakeLists.txt
R libc/src/__support/time/clock_gettime.h
R libc/src/__support/time/linux/CMakeLists.txt
R libc/src/__support/time/linux/clock_gettime.cpp
R libc/src/__support/time/units.h
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/gettimeofday.h
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
A libc/src/time/linux/clockGetTimeImpl.h
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
Log Message:
-----------
Revert "[libc][NFC] adjust time related implementations" (#91657)
Reverts llvm/llvm-project#91485. It breaks GPU and fuchisa.
Commit: dfff57e751f6bae12172a1a246e1f8b33db042f8
https://github.com/llvm/llvm-project/commit/dfff57e751f6bae12172a1a246e1f8b33db042f8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add isel special case for (and (shl X, c2), c1) -> (slli_uw (srli x, c3-c2), c3). (#91638)
Where c1 is a shifted mask with 32 set bits and c3 trailing zeros.
Commit: a3457369cd12b093185a5bda3443e08a4390f3ed
https://github.com/llvm/llvm-project/commit/a3457369cd12b093185a5bda3443e08a4390f3ed
Author: Min Hsu <min.hsu at sifive.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
Log Message:
-----------
[Orc] Fix `-Wsign-compare` warnings in unittest
Multiple compares against `LookupsCompleted`, which is effectively an
unsigned long, with constant signed integer were throwing -Wsign-compare
warnings.
This is effectively NFC.
Commit: 8466480bdad9d1ef858329ec51cd910c419036a0
https://github.com/llvm/llvm-project/commit/8466480bdad9d1ef858329ec51cd910c419036a0
Author: Min Hsu <min.hsu at sifive.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[ProfData] Remove unused variable in unittest
Removed unused `VTables` in unittests/ProfileData/InstrProfTest.cpp.
NFC.
Commit: 04ce10357b485e5e03480b1ca2e91e75c50b1fef
https://github.com/llvm/llvm-project/commit/04ce10357b485e5e03480b1ca2e91e75c50b1fef
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Dialect/SCF/transform-op-coalesce.mlir
Log Message:
-----------
[mlir][SCF] Avoid generating unnecessary div/rem operations during coalescing (#91562)
When coalescing is some of the loops are unit-trip we can avoid
generating div/rem instructions during delinearization. Ideally we could
use some thing like `affine.delinearize` to handle this but tthat causes
dependence issues.
Commit: ba66dfb11bcaef5e0dc21358b3712b491d61d020
https://github.com/llvm/llvm-project/commit/ba66dfb11bcaef5e0dc21358b3712b491d61d020
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
Log Message:
-----------
[lldb] Fixed SyntaxWarning: invalid escape sequence \[ \d \s (#91146)
Reproduced with Python 3.12.3
Commit: 5d51db75e46155d0f3d70cf3253d3b075cfcf93a
https://github.com/llvm/llvm-project/commit/5d51db75e46155d0f3d70cf3253d3b075cfcf93a
Author: asraa <asraa at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/lib/Dialect/Affine/Transforms/AffineScalarReplacement.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/test/Dialect/Affine/scalrep.mlir
Log Message:
-----------
[mlir][affine] Use alias analysis to redetermine intervening memory effects in affine-scalrep (#90859)
This fixes a TODO to use alias analysis to determine whether a read op
intervenes between two write operations to the same memref.
Signed-off-by: Asra <asraa at google.com>
Commit: a99cb96dfa97c04c3313cb3770b876fee20eb131
https://github.com/llvm/llvm-project/commit/a99cb96dfa97c04c3313cb3770b876fee20eb131
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Allow trivial operator++ (#91102)
This PR adds the support for trivial operator++ implementations. T&
operator++() and T operator++(int) are trivial if the callee is trivial.
Also allow incrementing and decrementing of a POD member variable.
Also treat any __builtin_ functions as trivial.
Commit: 8a3277acbc7b7af917f570f7d6430dda41c4d9ee
https://github.com/llvm/llvm-project/commit/8a3277acbc7b7af917f570f7d6430dda41c4d9ee
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-wasm.c
M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
M llvm/test/CodeGen/WebAssembly/half-precision.ll
M llvm/test/CodeGen/WebAssembly/offset.ll
M llvm/test/MC/WebAssembly/simd-encodings.s
Log Message:
-----------
[WebAssembly] Implement prototype f32.store_f16 instruction. (#91545)
Adds a builtin and intrinsic for the f32.store_f16 instruction.
The instruction stores an f32 value as an f16 memory. Specified at:
https://github.com/WebAssembly/half-precision/blob/29a9b9462c9285d4ccc1a5dc39214ddfd1892658/proposals/half-precision/Overview.md
Note: the current spec has f32.store_f16 as opcode 0xFD0121, but this is
incorrect and will be changed to 0xFC31 soon.
Commit: 1e97d114b5b2b522de7e0aa9c950199de0798d53
https://github.com/llvm/llvm-project/commit/1e97d114b5b2b522de7e0aa9c950199de0798d53
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/test/tools/dsymutil/ARM/empty-map.test
M llvm/test/tools/dsymutil/cmdline.test
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/Options.td
M llvm/tools/dsymutil/dsymutil.cpp
Log Message:
-----------
[dsymutil] Add -q/--quiet flag to suppress warnings (#91658)
Add a -q/--quiet flag to suppress dsymutil output. For now the flag is
limited to dsymutil, though there might be other places in the DWARF
linker that could be conditionalized by this flag.
The motivation is having a way to silence the "no debug symbols in
executable" warning. This is useful when we want to generate a dSYM for
a binary not containing debug symbols, but still want a dSYM that can be
indexed by spotlight.
rdar://127843467
Commit: 95f208f97e709139c3ecbce552bcf1e34b9fcf12
https://github.com/llvm/llvm-project/commit/95f208f97e709139c3ecbce552bcf1e34b9fcf12
Author: Anthony Ha <anthonyha96 at gmail.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/RemoteAwarePlatform.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Target/Platform.cpp
M lldb/source/Target/RemoteAwarePlatform.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
Log Message:
-----------
[lldb] Unify CalculateMD5 return types (#91029)
This is a retake of https://github.com/llvm/llvm-project/pull/90921
which got reverted because I forgot to modify the CalculateMD5 unit test
I had added in https://github.com/llvm/llvm-project/pull/88812
The prior failing build is here:
https://lab.llvm.org/buildbot/#/builders/68/builds/73622
To make sure this error doesn't happen, I ran `ninja
ProcessGdbRemoteTests` and then executed the resulting test binary and
observed the `CalculateMD5` test passed.
# Overview
In my previous PR: https://github.com/llvm/llvm-project/pull/88812,
@JDevlieghere suggested to match return types of the various calculate
md5 functions.
This PR achieves that by changing the various calculate md5 functions to
return `llvm::ErrorOr<llvm::MD5::MD5Result>`.
The suggestion was to go for `std::optional<>` but I opted for
`llvm::ErrorOr<>` because local calculate md5 was already possibly
returning `ErrorOr`.
To make sure I didn't break the md5 calculation functionality, I ran
some tests for the gdb remote client, and things seem to work.
# Testing
1. Remote file doesn't exist
![image](https://github.com/llvm/llvm-project/assets/1326275/b26859e2-18c3-4685-be8f-c6b6a5a4bc77)
1. Remote file differs
![image](https://github.com/llvm/llvm-project/assets/1326275/cbdb3c58-555a-401b-9444-c5ff4c04c491)
1. Remote file matches
![image](https://github.com/llvm/llvm-project/assets/1326275/07561572-22d1-4e0a-988f-bc91b5c2ffce)
## Test gaps
Unfortunately, I had to modify
`lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp` and I
can't test the changes there. Hopefully, the existing test suite / code
review from whomever is reading this will catch any issues.
Commit: f893dccbba372792e7e7095d741f98a234654875
https://github.com/llvm/llvm-project/commit/f893dccbba372792e7e7095d741f98a234654875
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/JumpThreading/thread-two-bbs.ll
Log Message:
-----------
Replace uses of ConstantExpr::getCompare. (#91558)
Use ICmpInst::compare() where possible, ConstantFoldCompareInstOperands
in other places. This only changes places where the either the fold is
guaranteed to succeed, or the code doesn't use the resulting compare if
we fail to fold.
Commit: f865dbff17ca516d605b053d5556c1498c300a42
https://github.com/llvm/llvm-project/commit/f865dbff17ca516d605b053d5556c1498c300a42
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep-inbounds.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/reorder-gep.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Support GEP reordering for different types (#90802)
This doesn't show up in existing lit tests, but has an impact on real
code -- especially after the canonicalization of GEPs to i8.
Alive2 tests for the inbounds handling:
Case 1: https://alive2.llvm.org/ce/z/6bfFY3
Case 2: https://alive2.llvm.org/ce/z/DkLMLF
Commit: e4763ca83b90eed96be6fd83a9867e435f4b8ffe
https://github.com/llvm/llvm-project/commit/e4763ca83b90eed96be6fd83a9867e435f4b8ffe
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/test/ctx_profile/CMakeLists.txt
A compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test
A compiler-rt/test/ctx_profile/lit.cfg.py
A compiler-rt/test/ctx_profile/lit.site.cfg.py.in
M compiler-rt/test/lit.common.cfg.py
A llvm/lib/ProfileData/CtxInstrContextNode.h
Log Message:
-----------
[ctx_profile] Pull `ContextNode` in a `.inc` file (#91669)
This pulls out `ContextNode` as we need to use it pretty much as-is to implement a writer. The writer will be implemented on the LLVM side because it takes a dependency on BitStreamWriter.
Since we can't reuse a header between compiler-rt and llvm, we use a header file which is copied on both sides, and test that the 2 copies are identical.
The changes adds the necessary other stuff for compiler-rt/ctx_profile testing.
Commit: 0fd017ce43875283ecce55f18f721f47ba37a920
https://github.com/llvm/llvm-project/commit/0fd017ce43875283ecce55f18f721f47ba37a920
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test
A llvm/include/llvm/ProfileData/CtxInstrContextNode.h
R llvm/lib/ProfileData/CtxInstrContextNode.h
Log Message:
-----------
[nfc][ctx_profile] Move `CtxInstrContextNode.h` in `include`
Follow-up from PR #91669.
Commit: db78ee0cb82669302a5e0f18a15fd53346a73823
https://github.com/llvm/llvm-project/commit/db78ee0cb82669302a5e0f18a15fd53346a73823
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M lld/MachO/ObjC.cpp
Log Message:
-----------
[lld-macho] Fix address sanitizer for category merging (#91680)
FIxing the address sanitizer issue reported in
https://github.com/llvm/llvm-project/pull/91548 .
The problem comes from the assignment `auto bodyData = newSectionData`
which defaults to `SmallVector<uint8_t> data = newSectionData` - which
actually creates a copy of the data, placed on the stack.
By explicitly using `ArrayRef` instead, we make sure that the original
copy is used.
We also change the assignment in `ObjcCategoryMerger::newStringData`
from `auto` to `SmallVector<uint8_t> &` to make it explicit.
Commit: d24eaef92525d03b4b64c7b4acd07197bdfb57cc
https://github.com/llvm/llvm-project/commit/d24eaef92525d03b4b64c7b4acd07197bdfb57cc
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
Log Message:
-----------
[RISCV] Sink vector select splat operands (#91554)
vmerge.vxm allows us to splat the true operand of a select, so sink it
where possible to reduce vector register pressure.
Commit: 427beff2ad274f38f9de682f48f550cdcf5fc505
https://github.com/llvm/llvm-project/commit/427beff2ad274f38f9de682f48f550cdcf5fc505
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[OpenMP][MLIR] Add `private` clause to `omp.target` (#91202)
Commit: e069bb7fd85b69abded27b44f33bf40a522ab9b6
https://github.com/llvm/llvm-project/commit/e069bb7fd85b69abded27b44f33bf40a522ab9b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Use map::count instead of hasExtension in RISCVISAInfo::updateCombination. NFC
hasExtension check isSupportedExtension before the map lookup. All
of the extensions we check for in updateCombination should be valid
extension names so we can bypass that to save some time.
Commit: 0d31ac8893c382117abfb238f52c9736b2a38a8d
https://github.com/llvm/llvm-project/commit/0d31ac8893c382117abfb238f52c9736b2a38a8d
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M .github/workflows/release-tasks.yml
Log Message:
-----------
workflows: Remove top-level permissions from release-tasks.yml (#91088)
This is the recommend best practice and we also don't need write access
for all jobs.
Commit: 720dfd94dfe83d8ce57ad3fe317563d7e1a9c602
https://github.com/llvm/llvm-project/commit/720dfd94dfe83d8ce57ad3fe317563d7e1a9c602
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M .github/workflows/release-doxygen.yml
Log Message:
-----------
workflows: Fix missing GITHUB_TOKEN in release-doxygen.yml upload step (#91091)
We were accidentally setting the GITHUB_TOKEN environment variable in
the previous step.
Commit: 181e2e8fb9efe6e8f3f7fc094516f125659b687c
https://github.com/llvm/llvm-project/commit/181e2e8fb9efe6e8f3f7fc094516f125659b687c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[nfc][memprof] Add missing license to `MemProfTest` (#91695)
Commit: 21be8182239a9c87a50071d122d5532037fd8305
https://github.com/llvm/llvm-project/commit/21be8182239a9c87a50071d122d5532037fd8305
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[analyzer] Support determining origins in a conditional operator in WebKit checkers. (#91143)
This PR adds the support for determining the origin of a pointer in a
conditional operator.
Because such an expression can have two distinct origins each of which
needs to be visited, this PR refactors tryToFindPtrOrigin to take a
callback instead of returning a pair.
The callback is called for the second operand and the third operand of
the conditioanl operator (i.e. E2 and E3 in E1 ? E2 : E3).
Also treat nullptr and integer literal as safe pointer origins in the
local variable checker.
Commit: 2c5f470da6ab313f7c6a1aa53fb40dbcbde338f1
https://github.com/llvm/llvm-project/commit/2c5f470da6ab313f7c6a1aa53fb40dbcbde338f1
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h
Log Message:
-----------
[AMDGPU] Move LDS utilities from amdgpu-lower-module-lds pass to AMDGPUMemoryUtils (#88002)
This moves some of the utility methods from amdgpu-lower-module-lds pass to AMDGPUMemoryUtils.
Commit: 87f3407856e61a73798af4e41b28bc33b5bf4ce6
https://github.com/llvm/llvm-project/commit/87f3407856e61a73798af4e41b28bc33b5bf4ce6
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[X86][Driver] Do not add `-evex512` for `-march=native` when the target doesn't support AVX512 (#91694)
Commit: 06ad86361ab29d344a5e2e22903c2739743c77be
https://github.com/llvm/llvm-project/commit/06ad86361ab29d344a5e2e22903c2739743c77be
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
Log Message:
-----------
[NFC] Prefer `str.resize(len)` over `str.substr(0, len)` (#91067)
Commit: 135d92f903161e66ff82ab846acfbc5015ef3096
https://github.com/llvm/llvm-project/commit/135d92f903161e66ff82ab846acfbc5015ef3096
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-09 (Thu, 09 May 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
Log Message:
-----------
[Driver] Use StringRef::operator== instead of StringRef::equals (NFC) (#91698)
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.
- StringRef::operator==/!= outnumber StringRef::equals by a factor of
13 under clang/ in terms of their usage.
- The elimination of StringRef::equals brings StringRef closer to
std::string_view, which has operator== but not equals.
- S == "foo" is more readable than S.equals("foo"), especially for
!Long.Expression.equals("str") vs Long.Expression != "str".
Commit: e7e13c6ffec58fe67a23d173387e96d5ebb8f84b
https://github.com/llvm/llvm-project/commit/e7e13c6ffec58fe67a23d173387e96d5ebb8f84b
Author: Lang Hames <lhames at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
Log Message:
-----------
[ORC] Fix another error fall-through in EPCGenericDylibManager::lookupAsync.
The early return added in this commit should have been added in cbf1535cc81.
No test-case: This would require a deliberately injected failure in a
remote-JIT test and we don't have the infrastructure for that at the moment.
rdar://126772381
Commit: 0ebe48f068c0ca69f76ed68b621c9294acd75f76
https://github.com/llvm/llvm-project/commit/0ebe48f068c0ca69f76ed68b621c9294acd75f76
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/commutable.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/double-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/float-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/frm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/half-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tamu.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tuma.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tumu.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-masked-vops.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/sf_vfnrclip_x_f_qf.ll
M llvm/test/CodeGen/RISCV/rvv/sf_vfnrclip_xu_f_qf.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
M llvm/test/CodeGen/RISCV/rvv/vaadd.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/vasub.ll
M llvm/test/CodeGen/RISCV/rvv/vasubu.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv.ll
M llvm/test/CodeGen/RISCV/rvv/vfmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfrdiv.ll
M llvm/test/CodeGen/RISCV/rvv/vfrec7.ll
M llvm/test/CodeGen/RISCV/rvv/vfredosum.ll
M llvm/test/CodeGen/RISCV/rvv/vfredusum.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.w.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfwredosum.ll
M llvm/test/CodeGen/RISCV/rvv/vfwredusum.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.w.ll
M llvm/test/CodeGen/RISCV/rvv/vnclip.ll
M llvm/test/CodeGen/RISCV/rvv/vnclipu.ll
M llvm/test/CodeGen/RISCV/rvv/vsmul-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vsmul-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vssra-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vssra-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vssrl-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vssrl-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm.mir
Log Message:
-----------
[RISCV] Move RISCVInsertVSETVLI after CSR/VXRM passes (#91701)
This further splits off #91440 to inch RISCVInsertVSETVLI closer to post
vector regalloc.
As noted in #91440, most of the diffs are from moving vsetvli insertion
after the vxrm/csr insertion passes, but these are getting conflated
with the changes from moving to LiveIntervals.
One idea was that we could try and remove some of these diffs by
manually moving back the vsetvlis past the vxrm/csr instructions. But
this meant having to touch up the LiveIntervals again which seemed to
lead to even more diffs.
This instead just moves RISCVInsertVSETVLI after RISCVInsertReadWriteCSR
and RISCVInsertWriteVXRM so we can isolate those changes.
Commit: 5bde2aa1080ba90021f8f5e0c48744ddfc0d6f15
https://github.com/llvm/llvm-project/commit/5bde2aa1080ba90021f8f5e0c48744ddfc0d6f15
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Symbol/TypeList.h
M lldb/include/lldb/Symbol/TypeMap.h
M lldb/source/Symbol/Type.cpp
M lldb/source/Symbol/TypeList.cpp
M lldb/source/Symbol/TypeMap.cpp
A lldb/test/API/python_api/sbmodule/FindTypes/Makefile
A lldb/test/API/python_api/sbmodule/FindTypes/TestSBModuleFindTypes.py
A lldb/test/API/python_api/sbmodule/FindTypes/main.cpp
M lldb/unittests/Symbol/TestType.cpp
Log Message:
-----------
[lldb] Improve type name parsing (#91586)
Parsing of '::' scopes in TypeQuery was very naive and failed for names
with '::''s in template arguments. Interestingly, one of the functions
it was calling (Type::GetTypeScopeAndBasename) was already doing the
same thing, and getting it (mostly (*)) right. This refactors the
function so that it can return the scope results, fixing the parsing of
names like std::vector<int, std::allocator<int>>::iterator.
Two callers of GetTypeScopeAndBasename are deleted as the functions are
not used (I presume they stopped being used once we started pruning type
search results more eagerly).
(*) This implementation is still not correct when one takes c++
operators into account -- e.g., something like `X<&A::operator<>::T` is
a legitimate type name. We do have an implementation that is able to
handle names like these (CPlusPlusLanguage::MethodName), but using it is
not trivial, because it is hidden in a language plugin and specific to
method name parsing.
---------
Co-authored-by: Michael Buch <michaelbuch12 at gmail.com>
Commit: 2dbe89d15046bedcc36a5de1242e20aa91a5e598
https://github.com/llvm/llvm-project/commit/2dbe89d15046bedcc36a5de1242e20aa91a5e598
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/TokenKinds.def
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement __reference_converts_from_temporary (#91199)
This completes the required language support for P2255R2.
Commit: 7e52ad3b5b9509d0873965e8492ab01141342822
https://github.com/llvm/llvm-project/commit/7e52ad3b5b9509d0873965e8492ab01141342822
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/unittests/Analysis/FlowSensitive/WatchedLiteralsSolverTest.cpp
Log Message:
-----------
Fix a warning for #91455 [-Wc++20-extensions]
Commit: 2a61eebc66c0903cf3834a520b1f975ac3cdf92b
https://github.com/llvm/llvm-project/commit/2a61eebc66c0903cf3834a520b1f975ac3cdf92b
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
Log Message:
-----------
Cleanup asserts in BranchParameters and DecisionParameters
Commit: 6ce4c4ca2bb846c2b8d64dc2b3d3496785c9edff
https://github.com/llvm/llvm-project/commit/6ce4c4ca2bb846c2b8d64dc2b3d3496785c9edff
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
Log Message:
-----------
[clang-format][NFC] Drop a redundant clang::format::
Commit: 6aac30fa43f094ac25269bda163dc89a88cb8da7
https://github.com/llvm/llvm-project/commit/6aac30fa43f094ac25269bda163dc89a88cb8da7
Author: Jack Styles <jack.styles at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Preprocessor/aarch64-target-features.c
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParserCommon.h
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/TargetParser/ARMTargetParserCommon.cpp
Log Message:
-----------
Update FEAT_PAuth_LR behaviour for AArch64 (#90614)
Currently, LLVM enables `-mbranch-protection=standard` as `bti+pac-ret`.
To align LLVM with the behaviour in GNU, this has been updated to
`bti+pac-ret+pc` when FEAT_PAuth_LR is enabled as an optional feature
via the `-mcpu=` options. If this is not enabled, then this will revert
to the existing behaviour.
Commit: 5d24217c2c1c06358168cae65d3ff8632b28cd7d
https://github.com/llvm/llvm-project/commit/5d24217c2c1c06358168cae65d3ff8632b28cd7d
Author: Petr Hosek <phosek at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/fseparate-named-sections.c
Log Message:
-----------
[Clang] Pass -fseparate-named-sections from the driver (#91567)
This is a follow up to #91028.
Commit: a76518cadc5eaa6b6d07334e2b5bc08382aabe49
https://github.com/llvm/llvm-project/commit/a76518cadc5eaa6b6d07334e2b5bc08382aabe49
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
Log Message:
-----------
[lldb][ELF] Return address class map changes from symbol table parsing methods (#91585)
Instead of updating the member of the ObjectFileELF instance. This means
that if one object file asks another to parse the symbol table, that
first object's can update its address class map with the same changes
that the other object did.
(I'm not returning a reference to the other object's m_address_class_map
member because there may be other things in there not related to the
symbol table being parsed)
This will fix the code added in
https://github.com/llvm/llvm-project/pull/90622 which broke the test
`Expr/TestStringLiteralExpr.test` on 32 bit Arm Linux.
This happened because we had the program file, then asked for a better
object file, which returned the same program file again. This creates a
second ObjectFileELF for the same file, so when we tell the second
instance to parse the symbol table it actually calls into the first
instance, leaving the address class map of the second instance empty.
Which caused us to put an Arm breakpoint instuction at a Thumb return
address and broke the ability to call mmap.
Commit: 23b673e5b4b73b42864fcd7d63c1e974317ed4d6
https://github.com/llvm/llvm-project/commit/23b673e5b4b73b42864fcd7d63c1e974317ed4d6
Author: David Green <david.green at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/sve-reassocadd.ll
Log Message:
-----------
[DAG][AArch64] Handle vscale addressing modes in reassociationCanBreakAddressingModePattern (#89908)
reassociationCanBreakAddressingModePattern tries to prevent bad add
reassociations that would break adrressing mode patterns. This adds
support for vscale offset addressing modes, making sure we don't break
patterns that already exist. It does not optimize _to_ the correct
addressing modes yet, but prevents us from optimizating _away_ from
them.
Commit: e6d29be566d19a6558597ed1ede4783e85485749
https://github.com/llvm/llvm-project/commit/e6d29be566d19a6558597ed1ede4783e85485749
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/test/Driver/aarch64-fmv.c
Log Message:
-----------
[clang] fix FMV test for Win x Arm builds (#91490)
Commit: 641949654910a533076e35517d084e2961adbdfa
https://github.com/llvm/llvm-project/commit/641949654910a533076e35517d084e2961adbdfa
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A flang/test/Integration/debug-loc-1.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[flang][OMPIRBuilder] Keep debug location in sync with insert point. (#89953)
A customer reported an issue which I have reduced to the test in the PR.
If built with debug info enabled, the build fails with the following
error in the verifier.
!dbg attachment points at wrong subprogram for function
The problem happened because some of the functions in OMPIRBuilder.cpp
updated the insertion point with the passed in location but did not
change the current debug location. This caused a stale debug location to
be attached to the instruction.
I have solved it by replacing restoreIP with updateToLocation which
updates both the insertion point and debug location. The
updateToLocation is used in many places already, so this PR brings
functions that I have changed in line with rest of the file.
Slight issue is that I am not checking the return type of
updateToLocation as there is no good value I could return in that case.
But if we have a condition where updateToLocation will return false,
these functions will fail in any case.
I have added a test that checks that build does not fail. I was not sure
what is the correct location for the test should be. Happy to move it to
more appropriate location.
Commit: fc57f88f007497a4ead0ec8607ac66e1847b02d6
https://github.com/llvm/llvm-project/commit/fc57f88f007497a4ead0ec8607ac66e1847b02d6
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[Clang] Fix Undefined Behavior introduced by #91199 (#91718)
We stack allocated an OpaqueExpr that would be used after it was
destroyed.
e.g https://lab.llvm.org/buildbot/#/builders/57/builds/34909
Commit: 1aca8ed5a7eeed264fdc2694deca8a4a4dba3689
https://github.com/llvm/llvm-project/commit/1aca8ed5a7eeed264fdc2694deca8a4a4dba3689
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
Log Message:
-----------
[lldb][ELF] Add a comment to explain address class map type
It was pointed out that ordering is crucial here, so note that.
I also looked into using a vector instead, as described in
https://llvm.org/docs/ProgrammersManual.html#dss-sortedvectorset.
Which this is in theory perfect for, but we have at least 2 places
that update the map and both would need to sort/unique each time.
Plus this code is pretty bug prone.
If there is future refactoring it's one thing to consider.
Commit: b277bf56d7654877a1c4b59dc08bc96b4d75b649
https://github.com/llvm/llvm-project/commit/b277bf56d7654877a1c4b59dc08bc96b4d75b649
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Clean up lowering of VECTOR_SPLICE operations. (#91330)
Remove DAG combine that is performing type legalisation and instead
add isel patterns for all legal types.
Commit: 64d4ade3bb7d0d8cc87a777f4964e68f2f25edf9
https://github.com/llvm/llvm-project/commit/64d4ade3bb7d0d8cc87a777f4964e68f2f25edf9
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-fmlas16.ll
Log Message:
-----------
[AArch64] Add intrinsics for 16-bit non-widening FMLA/FMLS (#88553)
According to the specification in
https://github.com/ARM-software/acle/pull/309
add the following intrinsics
void svmla[_single]_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16_t zm)
void svmla[_single]_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16_t zm)
void svmls[_single]_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16_t zm)
void svmls[_single]_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16_t zm)
void svmla_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16x2_t zm)
void svmla_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16x4_t zm)
void svmls_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16x2_t zm)
void svmls_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16x4_t zm)
void svmla_lane_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16_t zm, uint64_t imm_idx)
void svmla_lane_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16_t zm, uint64_t imm_idx)
void svmls_lane_za16[_f16]_vg1x2(uint32_t slice, svfloat16x2_t zn,
svfloat16_t zm, uint64_t imm_idx)
void svmls_lane_za16[_f16]_vg1x4(uint32_t slice, svfloat16x4_t zn,
svfloat16_t zm, uint64_t imm_idx)
as well as the corresponding `_bf16` variants.
Commit: 2e8d8155969f90b8f17634ce9a8e4541fb21dbab
https://github.com/llvm/llvm-project/commit/2e8d8155969f90b8f17634ce9a8e4541fb21dbab
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Log Message:
-----------
[TTI] Support scalable offsets in getScalingFactorCost (#88113)
Part of the work to support vscale-relative immediates in LSR.
Commit: 28767afd53353d9333b0adf6f0fafa1592092532
https://github.com/llvm/llvm-project/commit/28767afd53353d9333b0adf6f0fafa1592092532
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-distance-backward.ll
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
Log Message:
-----------
[LAA] Support backward dependences with non-constant distance. (#91525)
Following up to 933f49248, also update the code reasoning about
backwards dependences to support non-constant distances.
Update the code to use the signed minimum distance instead of a constant
distance
This means e checked the lower bound of the dependence distance and the
distance may be larger at runtime (and safe for vectorization). Whether
to classify it as Unknown or Backwards depends on the vector width and
LAA was updated to take TTI to get the maximum vector register width.
If the minimum dependence distance is larger than the max vector width,
we consider it as backwards-vectorizable. Otherwise we classify them as
Unknown, so we re-try with runtime checks.
PR: https://github.com/llvm/llvm-project/pull/91525
Commit: fa4e8995cb6b6281a94261bee34242a39fd9f462
https://github.com/llvm/llvm-project/commit/fa4e8995cb6b6281a94261bee34242a39fd9f462
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64] Make wfxt a full Extension (#90987)
Before #90987 WFxT did not have an AEK_WFXT, so it was assumed to be an
FMV-only extension. However it also had a SubtargetFeature. This commit
combines the two. This fixes an issue where -mattr=+wfxt was ignored,
but has the side effect of allowing +wfxt as an option to -march.
Commit: 2371a6410dd83e82862e1c4dce1f7411efbe6b1c
https://github.com/llvm/llvm-project/commit/2371a6410dd83e82862e1c4dce1f7411efbe6b1c
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mopa.ll
Log Message:
-----------
[AArch64] Add intrinsics for non-widening FMOPA/FMOPS (#88105)
According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics
void svmopa_za16[_f16]_m(uint64_t tile, svbool_t pn, svbool_t pm,
svfloat16_t zn, svfloat16_t zm)
__arm_streaming __arm_inout("za");
void svmops_za16[_f16]_m(uint64_t tile, svbool_t pn,
svbool_t pm, svfloat16_t zn, svfloat16_t zm)
__arm_streaming __arm_inout("za");
as well as the corresponding `bf16` variants.
Commit: f5e49279c01436971001e107a0a3435510b9ae98
https://github.com/llvm/llvm-project/commit/f5e49279c01436971001e107a0a3435510b9ae98
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/is-safe-to-sink-bug.ll
Log Message:
-----------
AMDGPU: fix isSafeToSink expecting exactly one predecessor (#89224)
isSafeToSink needs to check if machine cycle has divergent exit branch
but first it needs the MBB that contains cycle exit branch.
Early-tailduplication can delete exit block created by structurize-cfg
so there is still exactly one cycle exit block but the new cycle exit
block can have multiple predecessors.
Simplify search for MBBs that contain cycle exit branch by introducing
helper method getExitingBlocks in GenericCycle.
Fixes #89200
Commit: 73681b8fee930274e6dc11d4471b44666d6d0dfd
https://github.com/llvm/llvm-project/commit/73681b8fee930274e6dc11d4471b44666d6d0dfd
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
Log Message:
-----------
[NFC][LLVM] Simplify SVE isel DAG patterns. (#91510)
We have many instances of (Ty ZPR:$op) than can be written as Ty:$Op.
Whilst other operands can also be simplified this patch focuses on
removing redundant instances of PPR, PNR and ZPR only.
Commit: 5ad7a210ff850eed1f255f81f0609efedabe3bb7
https://github.com/llvm/llvm-project/commit/5ad7a210ff850eed1f255f81f0609efedabe3bb7
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64] wfxt must depend on itself (#90987)
Commit: f52ca632787a5d4227689726e14dae6749e1e650
https://github.com/llvm/llvm-project/commit/f52ca632787a5d4227689726e14dae6749e1e650
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll
Log Message:
-----------
[LAA] Drop x86_64 target triple to fix test on builds with X86.
Follow-up o fix test after 28767afd53353d9333b0adf6f0fafa1592092532.
Commit: 200f3bd39562f4d605f13567398025d30fa27d61
https://github.com/llvm/llvm-project/commit/200f3bd39562f4d605f13567398025d30fa27d61
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Scope.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/SemaAccess.cpp
A clang/test/SemaCXX/PR12361.cpp
Log Message:
-----------
[Clang][Sema] access checking of friend declaration should not be delayed (#91430)
attempt to fix https://github.com/llvm/llvm-project/issues/12361
Consider this example:
```cpp
class D {
class E{
class F{};
friend void foo(D::E::F& q);
};
friend void foo(D::E::F& q);
};
void foo(D::E::F& q) {}
```
The first friend declaration of foo is correct. After that, the second
friend declaration delayed access checking and set its previous
declaration to be the first one. When doing access checking of `F`(which
is private filed of `E`), we put its canonical declaration(the first
friend declaration) into `EffectiveContext.Functions`. Actually, we are
still checking the first one. This is incorrect due to the delayed
checking.
Creating a new scope to indicate we are parsing a friend declaration and
doing access checking in time.
Commit: 8c852ab57932a5cd954cb0d050c3d2ab486428df
https://github.com/llvm/llvm-project/commit/8c852ab57932a5cd954cb0d050c3d2ab486428df
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
Log Message:
-----------
[Clang][Sema] Revise the transformation of CTAD parameters of nested class templates (#91628)
This fixes a regression introduced by bee78b88f.
When we form a deduction guide for a constructor, basically, we do the
following work:
- Collect template parameters from the constructor's surrounding class
template, if present.
- Collect template parameters from the constructor.
- Splice these template parameters together into a new template
parameter list.
- Turn all the references (e.g. the function parameter list) to the
invented parameter list by applying a `TreeTransform` to the function
type.
In the previous fix, we handled cases of nested class templates by
substituting the "outer" template parameters (i.e. those not declared at
the surrounding class template or the constructor) with the
instantiating template arguments. The approach per se makes sense, but
there was a flaw in the following case:
```cpp
template <typename U, typename... Us> struct X {
template <typename V> struct Y {
template <typename T> Y(T) {}
};
template <typename T> Y(T) -> Y<T>;
};
X<int>::Y y(42);
```
While we're transforming the parameters for `Y(T)`, we first attempt to
transform all references to `V` and `T`; then, we handle the references
to outer parameters `U` and `Us` using the template arguments from
`X<int>` by transforming the same `ParamDecl`. However, the first step
results in the reference `T` being `<template-param-0-1>` because the
invented `T` is the last of the parameter list of the deduction guide,
and what we're substituting with is a corresponding parameter pack
(which is `Us`, though empty). Hence we're messing up the substitution.
I think we can resolve it by reversing the substitution order, which
means handling outer template parameters first and then the inner
parameters.
There's no release note because this is a regression in 18, and I hope
we can catch up with the last release.
Fixes https://github.com/llvm/llvm-project/issues/88142
Commit: 452f4393c70e0ffecf8e394f82b1eaeaa8d224af
https://github.com/llvm/llvm-project/commit/452f4393c70e0ffecf8e394f82b1eaeaa8d224af
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-shr-lt-gt.ll
Log Message:
-----------
[InstCombine] Precommit tests for #86111
The upcoming patch adds logic to prefer to use constants close to
power-of-two in these ashr exact + slt/ult patterns when it has a choice
on which constant can be used.
Commit: 3be8e2c95d3dca5b2fdea889649a69dce8605e65
https://github.com/llvm/llvm-project/commit/3be8e2c95d3dca5b2fdea889649a69dce8605e65
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-shr-lt-gt.ll
Log Message:
-----------
[InstCombine] Prefer to keep power-of-2 constants when combining ashr exact and slt/ult of a constant (#86111)
We have flexibility in what constant to use when combining an `ashr
exact` with a slt or ult of a constant, and it's not possible to revisit
this decision later in the compilation pipeline after the `ashr exact`
is removed. Keeping a constant close to power-of-2 (pow2val + 1) should
be no worse than neutral, and in some cases may allow better codegen
later on for targets that can more cheaply generate power of 2 (which
may be selectable if converting back to setle/setge) or near power of 2
constants.
Alive2 proofs:
<https://alive2.llvm.org/ce/z/2BmPnq> and
<https://alive2.llvm.org/ce/z/DtuhnR>
Commit: d48bf8aef2abeb915b1e04e1b78051869088df42
https://github.com/llvm/llvm-project/commit/d48bf8aef2abeb915b1e04e1b78051869088df42
Author: DianQK <dianqk at dianqk.net>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
A llvm/test/Transforms/Inline/inline-cost-switch-default.ll
M llvm/test/Transforms/Inline/inline-switch-default-2.ll
M llvm/test/Transforms/Inline/inline-switch-default.ll
Log Message:
-----------
Reapply "[InlineCost] Correct the default branch cost for the switch statement (#85160)"
This reverts commit c6e4f6309184814dfc4bb855ddbdb5375cc971e0.
Commit: 561b6ab96e9d5b38a5d2672e6cc6823389b75a3f
https://github.com/llvm/llvm-project/commit/561b6ab96e9d5b38a5d2672e6cc6823389b75a3f
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M openmp/runtime/CMakeLists.txt
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[OpenMP][AIX] Implement __kmp_get_load_balance() for AIX (#91520)
AIX has the `/proc` filesystem where `/proc/<pid>/lwp/<tid>/lwpsinfo` has
the thread state in binary, similar to Linux's
`/proc/<pid>/task/<tid>/stat` where the state is in ASCII. However, the
definition of state info `R` in `lwpsinfo` is `runnable`. In Linux,
state `R` means the thread is `running`. Therefore, `lwpsinfo` is not
ideal for our purpose of getting the current load of the system. This
patch uses `perfstat_cpu()` in AIX system library `libperfstat.a` to
obtain the number of threads current running on logical CPUs.
Commit: 195d8ac26d91ca798733c3a5f58d67992d43503d
https://github.com/llvm/llvm-project/commit/195d8ac26d91ca798733c3a5f58d67992d43503d
Author: Xiang Li <python3kgae at outlook.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/CodeGen/DirectX/embed-dxil.ll
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
[DirectX] Fix DXIL part header version encoding (#91506)
Move MinorVersion be the lower 8 bit.
Set DXIL version in DXContainerObjectWriter::writeObject.
Fixes #89952
Commit: 4cf3f032283d8426c9b7829c7ccf0ab01939c7db
https://github.com/llvm/llvm-project/commit/4cf3f032283d8426c9b7829c7ccf0ab01939c7db
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
Log Message:
-----------
[clang-tidy] use llvm::any_of refactor getAnalyzerCheckersAndPackages [NFC] (#91713)
Commit: 8fc9e3d577c02d2b97c952fbafb75db0100462a9
https://github.com/llvm/llvm-project/commit/8fc9e3d577c02d2b97c952fbafb75db0100462a9
Author: David Green <david.green at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/frem-power2.ll
M llvm/test/CodeGen/ARM/frem-power2.ll
Log Message:
-----------
[DAG] Lower frem of power-2 using div/trunc/mul+sub (#91148)
If we are lowering a frem and the divisor is known to be an integer power-2, we
can use the formula 'frem = x - trunc(x / d) * d'. This avoids the more
expensive call to fmod. The results are identical as fmod so long as d is a
power-2 (so the mul does not round incorrectly), and the sign of the return is
either always positive or not important for zeroes (nsz).
Unfortunately Alive2 does not handle this well at the moment. I was using
exhaustive checking to test this:
(https://gist.github.com/davemgreen/6078015f30d3bacd1e9572f8db5d4b64).
I found this in cpythons implementation of float_pow. I currently added it as a
DAG combine for frem with power-2 fp constants.
Commit: 63177422a834f4b81d59b827b5f2a1c5a9083749
https://github.com/llvm/llvm-project/commit/63177422a834f4b81d59b827b5f2a1c5a9083749
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[OpenACC][NFC] Fix isa behavior for OpenACC types
I discovered while working on a different patch that I'd not implemented
the 'classof' for any of the Clauses, which resulted in 'isa' always
returning 'true' for all of the types. This patch goes through all the
existing clauses and adds 'classof' such that it will work correctly.
Additionally, in doing this, I found a bug where I was doing a cast to
the wrong type in the ASTWriter, so this fixes that problem as well.
Commit: 331f22af4b4c849a97c97e6803e0c8cab57fa10b
https://github.com/llvm/llvm-project/commit/331f22af4b4c849a97c97e6803e0c8cab57fa10b
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/EXPInstructions.td
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
Log Message:
-----------
[AMDGPU] Remove unnecessary predicates from aliases. NFC. (#91602)
So long as the target of the alias is predicated with HasImageInsts or
similar, the alias itself does not need this predicate.
Commit: 52271a5c11f6abde1fa1221db304212b5eb8ec7c
https://github.com/llvm/llvm-project/commit/52271a5c11f6abde1fa1221db304212b5eb8ec7c
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/include/variant
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.dtor/dtor.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
Log Message:
-----------
[libc++] Make `constexpr std::variant`. Implement P2231R1 (#83335)
Fixes #86686
Commit: 9232591b04d7a4586e88bdbd1c3e513775c73560
https://github.com/llvm/llvm-project/commit/9232591b04d7a4586e88bdbd1c3e513775c73560
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libcxx/test/support/atomic_helpers.h
Log Message:
-----------
[libc++][NFC] Use TestEachPointerType in TestEachAtomicType (#91480)
That way, if we ever expand TestEachPointerType we will pick up those
changes in TestEachAtomicType.
Commit: c5c8ae43545e917e624edd93695d1b265bae1e5c
https://github.com/llvm/llvm-project/commit/c5c8ae43545e917e624edd93695d1b265bae1e5c
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
Log Message:
-----------
[flang] Use i16 instead of i2 for cmdstat (#91647)
The code for preparing cmdstat was generating an i2 constant with value
0, casting it, and then storing it into i16 storage. Just generate i16
constant directly.
Commit: 92dfe20acd4b101c58d7eb72cb7c0a9d4ae36385
https://github.com/llvm/llvm-project/commit/92dfe20acd4b101c58d7eb72cb7c0a9d4ae36385
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libc/src/math/generic/powf.cpp
M libc/test/src/math/powf_test.cpp
Log Message:
-----------
[libc][math] Fix exact cases for powf. (#91488)
It was reported from the CORE-MATH project that the `powf`
implementation did not round correctly when `x^y` is either exact for
exactly half-way.
This PR deals with the potential exact cases when `y` is an integer `2 <
y < 25`. In such cases, the results of `x^y` is exactly representable in
double precision.
Commit: 023cdfcc1a5bdef7f12bb6da9328f93b477c38b8
https://github.com/llvm/llvm-project/commit/023cdfcc1a5bdef7f12bb6da9328f93b477c38b8
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
Log Message:
-----------
Update stale comments of the demangler, NFC (#91740)
To reflect what the actual code does.
Commit: b8f4f39d3d43d348e31fc5709b72e1f51392e52d
https://github.com/llvm/llvm-project/commit/b8f4f39d3d43d348e31fc5709b72e1f51392e52d
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libc/src/__support/threads/linux/callonce.cpp
Log Message:
-----------
[libc] avoid cmpxchg on the fastpath of callonce (#91748)
Avoid `cmpxchg` operation if the function has already been called.
The destination operand of `cmpxchg` may receive a write cycle without
regard to the result of the comparison
Commit: d8f8ac8f5f9c787df94ba1ed99b04795afa40ba7
https://github.com/llvm/llvm-project/commit/d8f8ac8f5f9c787df94ba1ed99b04795afa40ba7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Don't pre-split before the loop in parseNormalizedArchString. (#91684)
We can extract each extension as we process them without much
complexity.
I changed the error message for cases where there are double underscores
or a trailing underscore. I think this is an improvement over the
previous error.
Commit: d358b2de458e0611a3f474a9c3e3deff926c07c4
https://github.com/llvm/llvm-project/commit/d358b2de458e0611a3f474a9c3e3deff926c07c4
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A clang/test/CXX/drs/cwg0xx.cpp
A clang/test/CXX/drs/cwg10xx.cpp
A clang/test/CXX/drs/cwg11xx.cpp
A clang/test/CXX/drs/cwg12xx.cpp
A clang/test/CXX/drs/cwg13xx.cpp
A clang/test/CXX/drs/cwg14xx.cpp
A clang/test/CXX/drs/cwg15xx.cpp
A clang/test/CXX/drs/cwg16xx.cpp
A clang/test/CXX/drs/cwg17xx.cpp
A clang/test/CXX/drs/cwg18xx.cpp
A clang/test/CXX/drs/cwg19xx.cpp
A clang/test/CXX/drs/cwg1xx.cpp
A clang/test/CXX/drs/cwg20xx.cpp
A clang/test/CXX/drs/cwg21xx.cpp
A clang/test/CXX/drs/cwg22xx.cpp
A clang/test/CXX/drs/cwg23xx.cpp
A clang/test/CXX/drs/cwg24xx.cpp
A clang/test/CXX/drs/cwg25xx.cpp
A clang/test/CXX/drs/cwg26xx.cpp
A clang/test/CXX/drs/cwg27xx.cpp
A clang/test/CXX/drs/cwg28xx.cpp
A clang/test/CXX/drs/cwg2xx.cpp
A clang/test/CXX/drs/cwg3xx.cpp
A clang/test/CXX/drs/cwg4xx.cpp
A clang/test/CXX/drs/cwg5xx.cpp
A clang/test/CXX/drs/cwg6xx.cpp
A clang/test/CXX/drs/cwg7xx.cpp
A clang/test/CXX/drs/cwg8xx.cpp
A clang/test/CXX/drs/cwg9xx.cpp
R clang/test/CXX/drs/dr0xx.cpp
R clang/test/CXX/drs/dr10xx.cpp
R clang/test/CXX/drs/dr11xx.cpp
R clang/test/CXX/drs/dr12xx.cpp
R clang/test/CXX/drs/dr13xx.cpp
R clang/test/CXX/drs/dr14xx.cpp
R clang/test/CXX/drs/dr15xx.cpp
R clang/test/CXX/drs/dr16xx.cpp
R clang/test/CXX/drs/dr17xx.cpp
R clang/test/CXX/drs/dr18xx.cpp
R clang/test/CXX/drs/dr19xx.cpp
R clang/test/CXX/drs/dr1xx.cpp
R clang/test/CXX/drs/dr20xx.cpp
R clang/test/CXX/drs/dr21xx.cpp
R clang/test/CXX/drs/dr22xx.cpp
R clang/test/CXX/drs/dr23xx.cpp
R clang/test/CXX/drs/dr24xx.cpp
R clang/test/CXX/drs/dr25xx.cpp
R clang/test/CXX/drs/dr26xx.cpp
R clang/test/CXX/drs/dr27xx.cpp
R clang/test/CXX/drs/dr28xx.cpp
R clang/test/CXX/drs/dr2xx.cpp
R clang/test/CXX/drs/dr3xx.cpp
R clang/test/CXX/drs/dr4xx.cpp
R clang/test/CXX/drs/dr5xx.cpp
R clang/test/CXX/drs/dr6xx.cpp
R clang/test/CXX/drs/dr7xx.cpp
R clang/test/CXX/drs/dr8xx.cpp
R clang/test/CXX/drs/dr9xx.cpp
Log Message:
-----------
[clang][NFC] Rename C++ CWG DR test files to use `cwg` prefix
This is a follow-up for ed128c7df9b4e60bfd814dc9fd22de1dde4a2c1c
Commit: ef71c79d85fb3f94f19a92a84ab44719d112c1bd
https://github.com/llvm/llvm-project/commit/ef71c79d85fb3f94f19a92a84ab44719d112c1bd
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Update C++ DR status page
Commit: 099c1527f6088305fc253e9598685faa85544a8e
https://github.com/llvm/llvm-project/commit/099c1527f6088305fc253e9598685faa85544a8e
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/AST/ASTConcept.cpp
M clang/unittests/AST/CMakeLists.txt
A clang/unittests/AST/ConceptPrinterTest.cpp
M llvm/utils/gn/secondary/clang/unittests/AST/BUILD.gn
Log Message:
-----------
[AST] Print the separator "," for template arguments in ConceptReference::print (#91750)
Commit: 9a7262c2601874e5aa64c5db19746770212d4b44
https://github.com/llvm/llvm-project/commit/9a7262c2601874e5aa64c5db19746770212d4b44
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h
A lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
Log Message:
-----------
[lldb][DWARF] Delay struct/class/union definition DIE searching when parsing declaration DIEs. (#90663)
This is the implementation for
https://discourse.llvm.org/t/rfc-delay-definition-die-searching-when-parse-a-declaration-die-for-record-type/78526.
#### Motivation
Currently, lldb eagerly searches for definition DIE when parsing a
declaration DIE for struct/class/union definition DIE. It will search
for all definition DIEs with the same unqualified name (just
`DW_AT_name` ) and then find out those DIEs with same fully qualified
name. Then lldb will try to resolve those DIEs to create the Types from
definition DIEs. It works fine most time. However, when built with
`-gsimple-template-names`, the search graph expands very quickly,
because for the specialized-template classes, they don’t have template
parameter names encoded inside `DW_AT_name`. They have
`DW_TAG_template_type_parameter` to reference the types used as template
parameters. In order to identify if a definition DIE matches a
declaration DIE, lldb needs to resolve all template parameter types
first and those template parameter types might be template classes as
well, and so on… So, the search graph explodes, causing a lot
unnecessary searching/type-resolving to just get the fully qualified
names for a specialized-template class. This causes lldb stack overflow
for us internally on template-heavy libraries.
#### Implementation
Instead of searching for definition DIEs when parsing declaration DIEs,
we always construct the record type from the DIE regardless if it's
definition or declaration. The process of searching for definition DIE
is refactored to `DWARFASTParserClang::FindDefinitionTypeForDIE` which
is invoked when 1) completing the type on
`SymbolFileDWARF::CompleteType`. 2) the record type needs to start its
definition as a containing type so that nested classes can be added into
it in `PrepareContextToReceiveMembers`.
The key difference is `SymbolFileDWARF::ResolveType` return a `Type*`
that might be created from declaration DIE, which means it hasn't starts
its definition yet. We also need to change according in places where we
want the type to start definition, like `PrepareContextToReceiveMembers`
(I'm not aware of any other places, but this should be a simple call to
`SymbolFileDWARF::FindDefinitionDIE`)
#### Result
It fixes the stack overflow of lldb for the internal binary built with
simple template name. When constructing the fully qualified name built
with `-gsimple-template-names`, it gets the name of the type parameter
by resolving the referenced DIE, which might be a declaration (we won't
try to search for the definition DIE to just get the name).
I got rough measurement about the time using the same commands (set
breakpoint, run, expr this, exit). For the binary built without
`-gsimple-template-names`, this change has no impact on time, still
taking 41 seconds to complete. When built with
`-gsimple-template-names`, it also takes about 41 seconds to complete
wit this change.
Commit: 062f6fe324e98b0994e49bc14eb45b20aa0807c4
https://github.com/llvm/llvm-project/commit/062f6fe324e98b0994e49bc14eb45b20aa0807c4
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/InstallAPI/MachO.h
A clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Modules/module.modulemap
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/foo.h
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/macro_defs.h
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/public.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/Headers/Zippered.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/PrivateHeaders/Zippered_Private.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.tbd
A clang/test/InstallAPI/Inputs/Zippered/Zippered.yaml
A clang/test/InstallAPI/exclusive-passes-2.test
A clang/test/InstallAPI/exclusive-passes-platform.test
A clang/test/InstallAPI/exclusive-passes-zippered.test
A clang/test/InstallAPI/exclusive-passes.test
A clang/test/InstallAPI/invalid-exclusive-passes.test
A clang/test/InstallAPI/project-header-only-args.test
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M llvm/include/llvm/TextAPI/Utils.h
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
[InstallAPI] Support mutually exclusive parse options (#90686)
Projects like libc use mutually exclusive macros to compile files
multiple times and then merge the result into the final library. For
installapi to accept these, we'd need to parse the same declarations in
different ways. This patch adds the basic pipelining for installapi to
create the correct TBD file.
* -Xproject allows: -fmodules, -fobjc-arc, fvisibility=hidden, prefix
headers
* -Xlabel allows: -D and -U settings
* Error on 'private' and 'public' labels -X<label>
* Xplatform allows: -iframework <path> This is to support the case where
zippered frameworks want to pass in iOSSupport search path.
Commit: 871f4839f988a1ef59ea0371e0f25c8651a899f2
https://github.com/llvm/llvm-project/commit/871f4839f988a1ef59ea0371e0f25c8651a899f2
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Fix a race during shutdown (#91591)
lldb-dap was setting a flag which was meant to shut it down as soon as
it sent a terminated event. The problem with this flag is two-fold:
- as far as I can tell (definitely not an expert here), there's no
justification for this in the protocol spec. The only way I found to
shut the server down was to send it a disconnect request.
- the flag did not actually work most of the time, because it's only
checked between requests so nothing will happen if the server starts
listening for a new request before a different thread manages to send
the terminated event. And since the next request is usually the
disconnect request, everything will operate normally.
The combination of these two things meant that the issue was largely
unnoticable, except for rare flaky test failures, which happened when
the handler thread was too slow, and checked the flag after it has
already been said. This caused the test suite to complain as it did not
get a response to the disconnect request. This situation could be
s(t)imulated by adding a sleep to the and of the main loop, which
delayed the flag check, and caused the DAP tests to fail reliably.
This patch changes the shutdown condition to only trigger when the
disconnect request has been received. Since the flag can now only be set
from the handler thread, it no longer needs to be atomic.
Commit: 3bde7983986d8ce637f6bb506860859249787751
https://github.com/llvm/llvm-project/commit/3bde7983986d8ce637f6bb506860859249787751
Author: Alex Langford <alangford at apple.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/scripts/generate-sbapi-dwarf-enum.py
Log Message:
-----------
[lldb] Put SBSourceLanguageName in lldb namespace (#91685)
Commit: 265953cc26b40c4f9a3300baa18c2b7a45074b74
https://github.com/llvm/llvm-project/commit/265953cc26b40c4f9a3300baa18c2b7a45074b74
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
Log Message:
-----------
[ctx_profile] Arena should zero-initialize its allocation area.
Commit: 7c555cb2349b7f5f3b8336c40f38965aca354472
https://github.com/llvm/llvm-project/commit/7c555cb2349b7f5f3b8336c40f38965aca354472
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/cuf02.cuf
Log Message:
-----------
[flang][cuda] Reapply restriction on kernel subprogram but not device (#91764)
The restriction was completely removed in #89677. This was a bit too
much. Reapply the restriction on elemental, pure and recursive but only
for kernel subprogram (`grid_global` and `global` attributes).
Commit: 842f7b0fe7f70f5f66d925e57bab0123eedcc5d2
https://github.com/llvm/llvm-project/commit/842f7b0fe7f70f5f66d925e57bab0123eedcc5d2
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64] make +dit non-FMV-only (#90987)
Required to fix an llvm-test-suite failure:
error: expected writable system register or pstate: "msr DIT, x0"
Commit: 514d80b4feea3c788c1b0821959e96f63c8b8f3d
https://github.com/llvm/llvm-project/commit/514d80b4feea3c788c1b0821959e96f63c8b8f3d
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/test/Driver/fp-contract.c
M clang/test/Driver/fp-model.c
Log Message:
-----------
[Driver,test] Add -Werror to -ffp-contract/-ffp-model tests
Test that these combinations do not lead to a warning.
-funsafe-math-optimizations -ffp-contract=off
and
-ffast-math -ffp-contract=off
may issue a warning after #91271.
Commit: e513f2c69b13322d0289cbb74c91a84996382baa
https://github.com/llvm/llvm-project/commit/e513f2c69b13322d0289cbb74c91a84996382baa
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
Log Message:
-----------
[mlir][tosa] Cleanups for post-merge review comments in tosa-infer-shapes (#87660)
This change addresses some of the additional review feedback on
https://github.com/llvm/llvm-project/pull/87234.
A summary of the changes:
1. Cleaned up the language to use 'roll back' rather than revert to
reduce the chance of confusion. Improved some function names as well.
2. Eliminated string comparisons on dialect names.
3. Prevented the introduction of redundant tensor.cast operations for
the same value.
---------
Co-authored-by: Spenser Bauman <sabauma at fastmail>
Commit: af0b293b5068e71e34704fa4c997fc3295e673fe
https://github.com/llvm/llvm-project/commit/af0b293b5068e71e34704fa4c997fc3295e673fe
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A offload/test/offloading/fortran/target-map-derived-type-full-1.f90
A offload/test/offloading/fortran/target-map-derived-type-full-2.f90
A offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
A offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
A offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
A offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
A offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
A offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
A offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
A offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
A offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
A offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
Log Message:
-----------
[Flang][OpenMP] Derived type member map fortran offload runtime tests (#82850)
This is a large series of runtime tests that help to add coverage for
the specific cases intended to be supported by the PR stack
that extends derived type map support in Flang+OpenMP. Primarily this will add functionality coverage, there's cases where
things may work, but not optimally (or at least similarly to the status quo in Clang), additional IR tests are added in the
relevant segments of the related PRs to test for breakages like that.
Commit: 05f88b1769db90c10ca66810720b2092f9d73e34
https://github.com/llvm/llvm-project/commit/05f88b1769db90c10ca66810720b2092f9d73e34
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__tuple/make_tuple_types.h
R libcxx/include/__type_traits/apply_cv.h
M libcxx/include/__type_traits/make_signed.h
M libcxx/include/__type_traits/make_unsigned.h
M libcxx/include/cwchar
M libcxx/include/module.modulemap
M libcxx/include/tuple
M libcxx/include/type_traits
Log Message:
-----------
[libc++][NFC] Replace __apply_cv with __copy_cv or __copy_cvref (#90867)
`__apply_cv_t` and `__copy_cvref_t` are very closely related. They are
in fact identical except that `__copy_cvref_t` handles rvalue references
properly. Some uses don't actually require handling of references, so
they are replaced with `__copy_cv_t`.
Commit: cfdc2bc72e1747f18516e59bdfa4d7447ce4e0ce
https://github.com/llvm/llvm-project/commit/cfdc2bc72e1747f18516e59bdfa4d7447ce4e0ce
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
R offload/test/offloading/fortran/target-map-derived-type-full-1.f90
R offload/test/offloading/fortran/target-map-derived-type-full-2.f90
R offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
R offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
R offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
R offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
R offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
R offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
R offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
R offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
R offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
R offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
R offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
R offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
R offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
R offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
R offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
R offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
R offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
R offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
R offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
R offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
R offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
R offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
R offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
R offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
R offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
Log Message:
-----------
Revert "[Flang][OpenMP] Derived type member map fortran offload runtime tests" (#91784)
Reverts llvm/llvm-project#82850, applied accidentally without the rest of the PR series.
Commit: 77a59c32105379b289ee3f7b6abbdf483bcb65c1
https://github.com/llvm/llvm-project/commit/77a59c32105379b289ee3f7b6abbdf483bcb65c1
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
Log Message:
-----------
[ctx_profile] Fix signed-ness in CtxInstrProfilingTest.cpp
Follow-up from `265953c`
Commit: 13af97a70e7202507dcca89d2f732e5126d2bbcd
https://github.com/llvm/llvm-project/commit/13af97a70e7202507dcca89d2f732e5126d2bbcd
Author: Peiming Liu <peiming at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
Log Message:
-----------
[mlir][sparse] allow multiple COO segments in sparse encodings. (#91786)
**NOTE**: we still have implementation holes when handling multiple COO
segments in the encoding. But the format should be considered to be
legal.
Commit: d655054395e2dba2b949e170d7764cc8c9c8a597
https://github.com/llvm/llvm-project/commit/d655054395e2dba2b949e170d7764cc8c9c8a597
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/CodeGen/DirectX/embed-dxil.ll
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
Revert "[DirectX] Fix DXIL part header version encoding" (#91791)
Test failures on big endian bots after this change.
Reverts llvm/llvm-project#91506
Commit: 88da8756a6f54a8ae441750eaa890c2450b94490
https://github.com/llvm/llvm-project/commit/88da8756a6f54a8ae441750eaa890c2450b94490
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
Log Message:
-----------
[AArch64] Combine getActiveLaneMask with vector_extract (#81139)
... into a `whilelo` instruction with a pair of predicate registers.
Commit: 00e3620a0e7ceb8ab1c0cae303e40ad2528fdebe
https://github.com/llvm/llvm-project/commit/00e3620a0e7ceb8ab1c0cae303e40ad2528fdebe
Author: Joyce <joycebrum at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/utils/git/requirements.txt
M llvm/utils/git/requirements_formatting.txt
Log Message:
-----------
Generate a new requirements.txt to fix CVEs (#90109)
Hi! Here is a patch for #81859 that fix the vulnerabilities found in
gitpython, cryptography, urllib3 and requests.
I have just regenerated the requirements.txt files running pip-compile
again. Fortunately, this was enough to set all the dependencies on safe
versions.
I have also checked if new vulnerabilities were introduced by running
scorecard on my fork, but none has been introduced.
Thanks!
Signed-off-by: Joyce Brum <joycebrum at google.com>
Commit: d009bd7c69ee338b9f550d65edd5ddaa4e032e00
https://github.com/llvm/llvm-project/commit/d009bd7c69ee338b9f550d65edd5ddaa4e032e00
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 05f88b1769db
Commit: 7fd6cb293975b05406e24aba1cc8e83275cb6bf9
https://github.com/llvm/llvm-project/commit/7fd6cb293975b05406e24aba1cc8e83275cb6bf9
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A offload/test/offloading/fortran/target-map-derived-type-full-1.f90
A offload/test/offloading/fortran/target-map-derived-type-full-2.f90
A offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
A offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
A offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
A offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
A offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
A offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
A offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
A offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
A offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
A offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
Log Message:
-----------
[Flang][OpenMP] Derived type member map fortran offload runtime tests
This is a large series of runtime tests that help to add coverage for the specific cases intended to be supported by the PR stack
that extends derived type map support in Flang+OpenMP. Primarily this will add functionality coverage, there's cases where
things may work, but not optimally (or at least similarly to the status quo in Clang), addiitonal IR tests are added in the
relevant segments of the related PRs to test for breakages like that.
Pull Request: https://github.com/llvm/llvm-project/pull/82850
Commit: 50df0ff515697090983b3cb951c48377bcfb6ddf
https://github.com/llvm/llvm-project/commit/50df0ff515697090983b3cb951c48377bcfb6ddf
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[OpenMP][MLIR] Add new arguments to map_info to help support record type maps
This PR adds two new fields to omp.map_info, one BoolAttr and one I64ArrayAttr.
The BoolAttr is named partial_map, and is a flag that indicates if the record type captured by
the map_info operation is a partial map, or if it is mapped in its entirety, this currently helps
the later lowering determine the type of map entries that need to be generated.
The I64ArrayAttr named members_index is intended to track the placement of each member
map_info operations (and by extension mapped member variable) placement in the parent
record type. This may need to be extended to an N-D array for nested member mapping.
Pull Request: https://github.com/llvm/llvm-project/pull/82851
Commit: 462435f089b7ca67ed1eed60f369e16b71e76b74
https://github.com/llvm/llvm-project/commit/462435f089b7ca67ed1eed60f369e16b71e76b74
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
A mlir/test/Target/LLVMIR/omptarget-nested-record-type-mapping-host.mlir
A mlir/test/Target/LLVMIR/omptarget-record-type-mapping-host.mlir
Log Message:
-----------
[OpenMP][MLIR] Extend record member map support for omp dialect to LLVM-IR
This patch seeks to refactor slightly and extend the current record type map
support that was put in place for Fortran's descriptor types to handle explicit
member mapping for record types at a single level of depth (the case of explicit
mapping of nested record types is currently unsupported).
This patch seeks to support this by extending the OpenMPToLLVMIRTranslation phase
to more generally support record types, building on the prior groundwork in the
Fortran allocatables/pointers patch. It now supports different kinds of record type
mapping, in this case full record type mapping and then explicit member mapping
in which there is a special case for certain types when mapped individually to not
require any parent map link in the kernel argument structure. To facilitate this
required:
* The movement of the setting of the map flag type "ptr_and_obj" to respective
frontends, now supporting it as a possible flag that can be read and printed
in mlir form. Some minor changes to declare target map type setting was
neccesary for this.
* The addition of a member index array operand, which tracks the position
of the member in the parent, required for caclulating the appropriate size
to offload to the target, alongside the parents offload pointer (always the
first member currently being mapped).
* A partial mapping attribute operand, to indicate if the entire record type is
being mapped or just member components, aiding the ability to lower
record types in the different manners that are possible.
* Refactoring bounds calculation for record types and general arrays to one
location (as well as load/store generation prior to assigning to the kernel
argument structure), as a side affect enter/exit/update/data mapping
should now be more correct and fully support bounds mapping, previously
this would have only worked for target.
Pull Request: https://github.com/llvm/llvm-project/pull/82852
Commit: 435e850ba97ab567a14b6c84d2b27cadb771cb27
https://github.com/llvm/llvm-project/commit/435e850ba97ab567a14b6c84d2b27cadb771cb27
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/docs/OpenMP-descriptor-management.md
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Transforms/CMakeLists.txt
R flang/lib/Optimizer/Transforms/OMPDescriptorMapInfoGen.cpp
A flang/lib/Optimizer/Transforms/OMPMapInfoFinalization.cpp
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
A flang/test/Lower/OpenMP/derived-type-map.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/target.f90
R flang/test/Transforms/omp-descriptor-map-info-gen.fir
A flang/test/Transforms/omp-map-info-finalization.fir
Log Message:
-----------
[Flang][OpenMP][MLIR] Initial derived type member map support
This patch is one in a series of four patches that seeks to refactor
slightly and extend the current record type map support that was
put in place for Fortran's descriptor types to handle explicit
member mapping for record types at a single level of depth.
For example, the below case where two members of a Fortran
derived type are mapped explicitly:
''''
type :: scalar_and_array
real(4) :: real
integer(4) :: array(10)
integer(4) :: int
end type scalar_and_array
type(scalar_and_array) :: scalar_arr
!$omp target map(tofrom: scalar_arr%int, scalar_arr%real)
''''
Current cases of derived type mapping left for future work are:
> explicit member mapping of nested members (e.g. two layers of
record types where we explicitly map a member from the internal
record type)
> Fortran's automagical mapping of all elements and nested elements
of a derived type
> explicit member mapping of a derived type and then constituient members
(redundant in Fortran due to former case but still legal as far as I am aware)
> explicit member mapping of a record type (may be handled reasonably, just
not fully tested in this iteration)
> explicit member mapping for Fortran allocatable types (a variation of nested
record types)
This patch seeks to support this by extending the Flang-new OpenMP lowering to
support generation of this newly required information, creating the neccessary
parent <-to-> member map_info links, calculating the member indices and
setting if it's a partial map.
The OMPDescriptorMapInfoGen pass has also been generalized into a map
finalization phase, now named OMPMapInfoFinalization. This pass was extended
to support the insertion of member maps into the BlockArg and MapOperands of
relevant map carrying operations. Similar to the method in which descriptor types
are expanded and constituient members inserted.
Pull Request: https://github.com/llvm/llvm-project/pull/82853
Commit: 7237bef5da57e8d67db25df7c22379e81e5903a7
https://github.com/llvm/llvm-project/commit/7237bef5da57e8d67db25df7c22379e81e5903a7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Use map::count instead of hasExtension in computeDefaultABI. NFC
hasExtension checks if the extension name is a known extension name.
That should always be true for the extensions listed here so we can
skip that check.
Commit: d8e73752a5f4f79ef4293d8f446c03062010233d
https://github.com/llvm/llvm-project/commit/d8e73752a5f4f79ef4293d8f446c03062010233d
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
A libc/hdr/time_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/clock_t.h
A libc/hdr/types/clockid_t.h
A libc/hdr/types/struct_timeval.h
A libc/hdr/types/suseconds_t.h
A libc/hdr/types/time_t.h
M libc/src/__support/CMakeLists.txt
A libc/src/__support/time/CMakeLists.txt
A libc/src/__support/time/linux/CMakeLists.txt
A libc/src/__support/time/linux/clock_gettime.cpp
A libc/src/__support/time/linux/clock_gettime.h
A libc/src/__support/time/units.h
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/gettimeofday.h
M libc/src/time/gpu/CMakeLists.txt
M libc/src/time/gpu/clock.cpp
M libc/src/time/gpu/time_utils.h
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
R libc/src/time/linux/clockGetTimeImpl.h
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
Log Message:
-----------
Reland "[libc][NFC] adjust time related implementations"" (#91687)
Reverts llvm/llvm-project#91657 and Relands #91485
Commit: d2d08ea93b5a5958f46ed03e65ce1808e9fbbd0e
https://github.com/llvm/llvm-project/commit/d2d08ea93b5a5958f46ed03e65ce1808e9fbbd0e
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
Log Message:
-----------
[Offload] Fix new fortran OpenMP offload test failures via addition of requires
Commit: 91feb130d5cd3cafce94bbaf7ad67d1542623a75
https://github.com/llvm/llvm-project/commit/91feb130d5cd3cafce94bbaf7ad67d1542623a75
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
A llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
A llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
A llvm/test/CodeGen/AArch64/sve-llrint.ll
A llvm/test/CodeGen/AArch64/sve-lrint.ll
M llvm/test/CodeGen/AArch64/vector-llrint.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
Log Message:
-----------
ISel/AArch64: custom lower vector ISD::[L]LRINT (#89035)
Since 98c90a1 (ISel: introduce vector ISD::LRINT, ISD::LLRINT; custom
RISCV lowering), ISD::LRINT and ISD::LLRINT now have vector variants,
that are custom lowered on RISCV, and scalarized on all other targets.
Since 2302e4c (Reland "VectorUtils: mark xrint as trivially
vectorizable"), lrint and llrint are trivially vectorizable, so all the
vectorizers in-tree will produce vector variants when possible. Add a
custom lowering for AArch64 to custom-lower the vector variants natively
using a combination of frintx, fcvte, and fcvtzs.
Commit: e3ca558ffb1441cb16da7aba021e12c6f110000f
https://github.com/llvm/llvm-project/commit/e3ca558ffb1441cb16da7aba021e12c6f110000f
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/Utils.cpp
Log Message:
-----------
[Flang] Remove deprecated cast style that snuck in during landing of 435e850ba97ab567a14b6c84d2b27cadb771cb27
Commit: a427aa9346295fe7dd3be5955214d28c8be2ad4a
https://github.com/llvm/llvm-project/commit/a427aa9346295fe7dd3be5955214d28c8be2ad4a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
A flang/test/Lower/branching-directive.f90
Log Message:
-----------
[flang][Lower] Treat directives with nested evaluations as constructs (#91614)
When generating block terminators in `genFIR(Evaluation)`, treat
`Directives` with nested evaluations the same way as `Constructs` to
determine the successor block.
This fixes https://github.com/llvm/llvm-project/issues/91526
Commit: 6b9bca8faaa759c56fdd6e8697f9be38d201bd71
https://github.com/llvm/llvm-project/commit/6b9bca8faaa759c56fdd6e8697f9be38d201bd71
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/test/X86/sctc-bug4.test
Log Message:
-----------
[BOLT] Preserve Offset annotation in SCTC (#91693)
Offset annotation is used in writing BAT tables.
Test Plan: updated sctc-bug4.test
Commit: e9f53e4095d8a8600b5c5d445c73e2d5a6f45abb
https://github.com/llvm/llvm-project/commit/e9f53e4095d8a8600b5c5d445c73e2d5a6f45abb
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-call.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-types.c
A clang/test/CodeGen/RISCV/riscv32-ilp32d-abi.cpp
A clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-subscript-ops.c
A clang/test/CodeGen/RISCV/vector-bits-vscale-range.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
R clang/test/CodeGen/riscv-rvv-vls-arith-ops.c
R clang/test/CodeGen/riscv-rvv-vls-bitwise-ops.c
R clang/test/CodeGen/riscv-rvv-vls-compare-ops.c
R clang/test/CodeGen/riscv-rvv-vls-shift-ops.c
R clang/test/CodeGen/riscv-rvv-vls-subscript-ops.c
R clang/test/CodeGen/riscv-vector-bits-vscale-range.c
R clang/test/CodeGen/riscv32-ilp32d-abi.cpp
Log Message:
-----------
[test] Move RISCV tests to clang/test/CodeGen/RISCV/
The directory was created by 2f1fe9a3a60d6f18998c5f3b7e643d4cbaa4e65d
(2020).
Pull Request: https://github.com/llvm/llvm-project/pull/91783
Commit: a7eff59f78f08f8ef0487dfe2a136fb311af4fd0
https://github.com/llvm/llvm-project/commit/a7eff59f78f08f8ef0487dfe2a136fb311af4fd0
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Log Message:
-----------
[lldb][DWARF] Do not complete type from declaration die. (#91799)
Fix the problem:
https://github.com/llvm/llvm-project/pull/90663#issuecomment-2105164917
by enhancing a double-check for #90663
Commit: f32f6d199ac36e0c45433a648691f5165893deec
https://github.com/llvm/llvm-project/commit/f32f6d199ac36e0c45433a648691f5165893deec
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/include/flang/Semantics/semantics.h
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
A flang/module/__cuda_device_builtins.f90
A flang/module/cudadevice.f90
A flang/test/Semantics/cuf-device-procedures01.cuf
A flang/test/Semantics/cuf-device-procedures02.cuf
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang][cuda] Implicitly load cudadevice module in device/global subprogram (#91668)
Some functions and subroutines are available in device context
(device/global). These functions have interfaces declared in the
`cudadevice` module.
This patch adds interfaces as `__cuda_device_builtins_<fctname>` in a
builtin module and they are USE'd rename in the `cudadevice` module. The
module is implicitly used in device/global subprograms.
The builtin module only contains procedures from section 3.6.4 for now.
Commit: 666c686d5917be3f6260036ae536d9b44855ac34
https://github.com/llvm/llvm-project/commit/666c686d5917be3f6260036ae536d9b44855ac34
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Codesign debugserver on macOS (#91789)
This tool doesn't work unless it's signed with the entitlements used
here. We should probably consider using the
macos_command_line_application rule from rules_apple which manages this
more flexibly for us, but for now this works. This uses apple_genrule as
opposed to genrule since the former encodes the Xcode environment info
into the action so it is correctly invalidated if that changes.
Commit: aa0776de464984e78ae1cc329bf541e9dd43631f
https://github.com/llvm/llvm-project/commit/aa0776de464984e78ae1cc329bf541e9dd43631f
Author: Reid Kleckner <rnk at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
R clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
Log Message:
-----------
Revert "[Pipelines] Do not run CoroSplit and CoroCleanup in LTO pre-link pipeline (#90310)" and related patches
This change is incorrect when thinlto and asan are enabled, and this can
be observed by adding `-fsanitize=address` to the provided
coro-elide-thinlto.cpp test. It results in the error "Coroutines cannot
handle non static allocas yet", and ASan introduces a dynamic alloca.
In other words, we must preserve the invariant that CoroSplit runs
before ASan. If we move CoroSplit to the post post-link compile stage,
ASan has to be moved to the post-link compile stage first. It would
also be correct to make CoroSplit handle dynamic allocas so the pass
ordering doesn't matter, but sanitizer instrumentation really ought to
be last, after coroutine splitting.
This reverts commit bafc5f42c0132171287d7cba7f5c14459be1f7b7.
This reverts commit b1b1bfa7bea0ce489b5ea9134e17a43c695df5ec.
This reverts commit 0232b77e145577ab78e3ed1fdbb7eacc5a7381ab.
This reverts commit fb2d3056618e3d03ba9a695627c7b002458e59f0.
This reverts commit 1cb33713910501c6352d0eb2a15b7a15e6e18695.
This reverts commit cd68d7b3c0ebf6da5e235cfabd5e6381737eb7fe.
Commit: 2d5634a4b39d8e5497b6a67caa54049b3cfade8e
https://github.com/llvm/llvm-project/commit/2d5634a4b39d8e5497b6a67caa54049b3cfade8e
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/frelaxed-template-template-args.cpp
Log Message:
-----------
[clang] Revert default behavior change of P0522R0 implementation (#91811)
This partially reverts b86e0992bfa6c58be077d82d824016f590ac5d90.
Just the default is changed back, on the Driver side.
No Frontend changes.
The positive spelling of the flag is undeprecated.
No documentation changes or changelog entries because we plan to revert
this revert as soon as https://github.com/llvm/llvm-project/issues/62529
is fixed.
Commit: 5d18d575d8d304e4336483d8be7394d0f4694cb1
https://github.com/llvm/llvm-project/commit/5d18d575d8d304e4336483d8be7394d0f4694cb1
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
Log Message:
-----------
[AMDGPU] Make fneg/fabs/copysign legal for bf16 (#91676)
These are just bit operations, exactly the same as with f16.
Commit: fb3f4b013c3acab0ea3cb14c4d29f4e6d9caa33c
https://github.com/llvm/llvm-project/commit/fb3f4b013c3acab0ea3cb14c4d29f4e6d9caa33c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M libc/src/__support/GPU/amdgpu/utils.h
M libc/src/__support/GPU/nvptx/utils.h
Log Message:
-----------
[libc] Add memory fence utility to the GPU utilities (#91756)
Summary:
GPUs like to execute instructions in the background until something
excplitely consumes them. We are working on adding some
microbenchmarking code, which requires flushing the pending memory
operations beforehand. This patch simply adds these utility functions
that will be used in the near future.
Commit: 7e6879b245f7feaf00367874cbef7db973455553
https://github.com/llvm/llvm-project/commit/7e6879b245f7feaf00367874cbef7db973455553
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[X86] scalarizeExtractedBinop - reuse existing SDLoc. NFC.
Commit: 7f3e3785d0be00c727e3d2938b6348748499de99
https://github.com/llvm/llvm-project/commit/7f3e3785d0be00c727e3d2938b6348748499de99
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFC.
Commit: cb037d071c43baab7e8ef3b818a21858905560c0
https://github.com/llvm/llvm-project/commit/cb037d071c43baab7e8ef3b818a21858905560c0
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU] Combine build_vector patterns for i16 and f16. NFCI. (#91806)
Commit: 3dcd604eb1d6612fda667793dbb52c5dfaa5fc4f
https://github.com/llvm/llvm-project/commit/3dcd604eb1d6612fda667793dbb52c5dfaa5fc4f
Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/unittests/MC/AMDGPU/SIProgramInfoMCExprs.cpp
Log Message:
-----------
[AMDGPU] Initialize MachineFunctionInfo for unittest (#91820)
Initializes the MachineFunctionInfo for unittest introduced in #88257
Additionally, also rephrases the test condition considering the abort/exit does not occur within emitKernel but is generally triggered through the Ctx.hadError() call.
Commit: 30aa49cbc2ece32bebcb06cc9e64f1daeb1dbbcb
https://github.com/llvm/llvm-project/commit/30aa49cbc2ece32bebcb06cc9e64f1daeb1dbbcb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Remove the pre-split from RISCVISAInfo::parseArchString. NFCI
We can extract each extension as we process them without much
complexity.
Commit: d9ce33a0eea701719651dafbf88deae0ece96976
https://github.com/llvm/llvm-project/commit/d9ce33a0eea701719651dafbf88deae0ece96976
Author: Thurston Dang <thurston at google.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerDriver.cpp
Log Message:
-----------
[libfuzzer] Prevent MSan false positive when printing log with -jobs (#91679)
libfuzzer's -jobs option will, depending on the number of CPUs, spin up
a
WorkerThread and end up printing the log file using CopyFileToErr.
This leads to an MSan false positive. This patch disables the MSan
interceptor checks,
similarly to other instances in https://reviews.llvm.org/D48891
Side-note: this false positive issue first appeared when printf()
was replaced by puts() (90b4d1bcb20180c591385131b12fa90d2e4860b1).
The interceptor check was always present; however, MSan does not
check_printf by default.
Commit: 4198aebc96cb0236fc63e29a92d886e6a2e3fedb
https://github.com/llvm/llvm-project/commit/4198aebc96cb0236fc63e29a92d886e6a2e3fedb
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang/test/Driver/rewrite-legacy-objc.m
M clang/test/Driver/rewrite-objc.m
Log Message:
-----------
[Clang] Fix tests broken by #91811 (#91822)
A few tests were checking for all driver flags.
We should revert this commit when we revert #91811
Commit: f8063ffe73a3a1d704b9738169bb76ebb0f8a5e0
https://github.com/llvm/llvm-project/commit/f8063ffe73a3a1d704b9738169bb76ebb0f8a5e0
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/Generic/expand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/undef-vp-ops.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
M llvm/test/Verifier/vp-intrinsics.ll
M llvm/unittests/IR/VPIntrinsicTest.cpp
Log Message:
-----------
[VP][RISCV] Add vp.reduce.fmaximum/fminimum and its RISC-V codegen (#91782)
`vp.reduce.fmaximum/fminimum` are the VP version of
`vector.reduce.fmaximum/fminimum`.
Commit: 504cf554639360525c3f746e7296a242350b2af9
https://github.com/llvm/llvm-project/commit/504cf554639360525c3f746e7296a242350b2af9
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/test/InstallAPI/project-header-only-args.test
M clang/tools/clang-installapi/Options.cpp
Log Message:
-----------
[InstallAPI] Pass explicit module cache to avoid permissions issues.
Fixes: https://lab.llvm.org/buildbot/#/builders/192/builds/9313
Commit: 38b275598391dd6bd2d034e6b815c3febde0b1fe
https://github.com/llvm/llvm-project/commit/38b275598391dd6bd2d034e6b815c3febde0b1fe
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M flang/include/flang/Semantics/semantics.h
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
R flang/module/__cuda_device_builtins.f90
R flang/module/cudadevice.f90
R flang/test/Semantics/cuf-device-procedures01.cuf
R flang/test/Semantics/cuf-device-procedures02.cuf
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
Revert "[flang][cuda] Implicitly load cudadevice module in device/global subprogram" (#91827)
Reverts llvm/llvm-project#91668
Commit: 11cb3c300d8e8f05dddbc1a4f8ab1c86e864544a
https://github.com/llvm/llvm-project/commit/11cb3c300d8e8f05dddbc1a4f8ab1c86e864544a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[IR][PatternMatch] Make `m_Checked{Int,Fp}` accept `Constant *` output instead of `APInt *`
The `APInt *` version is pretty useless as any case one needs an
`APInt *` out, they could just replace whatever they have the
`m_Checked...` lambda with direct checks on the `APInt`.
Leaving other helpers such as `m_Negative`, `m_Power2`,
etc... unchanged as the `APInt` out version is used mostly for
convenience and rarely change functionality when converted output a
`Constant *`.
Closes #91377
Commit: df88d610ab10c1e3f22d7f5daf3794158972c584
https://github.com/llvm/llvm-project/commit/df88d610ab10c1e3f22d7f5daf3794158972c584
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/include/clang/Driver/Driver.h
Log Message:
-----------
[Driver] Remove unused getInstalledDir
The uses have been removed by commit 2b5cd8be3af43e5aa5b76b6aeb1edd3141b803ca
Commit: e62ce1f8842cca36eb14126d79dcca0a85bf6d36
https://github.com/llvm/llvm-project/commit/e62ce1f8842cca36eb14126d79dcca0a85bf6d36
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Fix FormatToken::isSimpleTypeSpecifier() (#91712)
Remove FormatToken::isSimpleTypeSpecifier() and call
Token::isSimpleTypeSpecifier(LangOpts) instead.
Commit: 65c9b8460b1aa309d012a5fe031524dbb813d64e
https://github.com/llvm/llvm-project/commit/65c9b8460b1aa309d012a5fe031524dbb813d64e
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
Log Message:
-----------
[Driver] Remove elf::script indirection. NFC
There are 100+ references.
Use a wrapper similar to a623a4c8b4d5cc933ebc1856ce30aac935f62b18
Commit: 3676b0945c800e3105f648d178b331953246716a
https://github.com/llvm/llvm-project/commit/3676b0945c800e3105f648d178b331953246716a
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-05-11 (Sat, 11 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-macros.cpp
Log Message:
-----------
[clang-tidy] `readability-simplify-boolean-expr` avoid to warn expression expand from macro when ``IgnoreMacro`` option is enabled. (#91757)
Fixes: #91487
Commit: bbcdd4f4b2f77b461e9cfd259b4c73d985c2dd9d
https://github.com/llvm/llvm-project/commit/bbcdd4f4b2f77b461e9cfd259b4c73d985c2dd9d
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/register-fragments-bolt-symbols.s
Log Message:
-----------
[BOLT] Use disambiguated local names in BAT YAML
Align BAT YAML to fdata profile.
Test Plan: updated register-fragments-bolt-symbols.s
Reviewers: dcci, rafaelauler, ayermolo, maksfb
Reviewed By: dcci
Pull Request: https://github.com/llvm/llvm-project/pull/91773
Commit: ff6b4c1c0f7eaacd69b85364f88c9daa41b2910a
https://github.com/llvm/llvm-project/commit/ff6b4c1c0f7eaacd69b85364f88c9daa41b2910a
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-10 (Fri, 10 May 2024)
Changed paths:
M .github/CODEOWNERS
M .github/workflows/release-doxygen.yml
M .github/workflows/release-tasks.yml
M bolt/include/bolt/Passes/FrameAnalysis.h
M bolt/include/bolt/Passes/IndirectCallPromotion.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/include/bolt/Profile/ProfileYAMLMapping.h
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/FrameAnalysis.cpp
M bolt/lib/Passes/ValidateMemRefs.cpp
M bolt/lib/Profile/DataAggregator.cpp
R bolt/test/X86/Inputs/blarge_new_bat_branchentry.preagg.txt
R bolt/test/X86/Inputs/blarge_new_bat_order.preagg.txt
A bolt/test/X86/Inputs/jump-table-fixed-ref-pic.s
M bolt/test/X86/bolt-address-translation-yaml.test
A bolt/test/X86/jump-table-fixed-ref-pic.test
M bolt/test/X86/sctc-bug4.test
M bolt/test/runtime/X86/fdata-escape-chars.ll
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.h
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/static-accessed-through-instance.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/string-compare.rst
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
R clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-todo.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/string-compare-custom-string-classes.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/string-compare.cpp
M clang/CMakeLists.txt
M clang/docs/ClangOffloadBundler.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/InstallAPI/MachO.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/CodeGen/BackendConsumer.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/LinkInModulesPass.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
A clang/test/AST/HLSL/packoffset.hlsl
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/NewDelete-atomics.cpp
M clang/test/Analysis/scan-build/deduplication.test
M clang/test/Analysis/scan-build/exclude_directories.test
M clang/test/Analysis/scan-build/help.test
M clang/test/Analysis/scan-build/html_output.test
M clang/test/Analysis/scan-build/lit.local.cfg
M clang/test/Analysis/scan-build/plist_html_output.test
M clang/test/Analysis/scan-build/plist_output.test
M clang/test/Analysis/scan-build/rebuild_index/rebuild_index.test
M clang/test/Analysis/scan-build/silence-core-checkers.test
A clang/test/CXX/dcl/dcl.init/aggr.cpp
A clang/test/CXX/drs/cwg0xx.cpp
A clang/test/CXX/drs/cwg10xx.cpp
A clang/test/CXX/drs/cwg11xx.cpp
A clang/test/CXX/drs/cwg12xx.cpp
A clang/test/CXX/drs/cwg13xx.cpp
A clang/test/CXX/drs/cwg14xx.cpp
A clang/test/CXX/drs/cwg15xx.cpp
A clang/test/CXX/drs/cwg16xx.cpp
A clang/test/CXX/drs/cwg17xx.cpp
A clang/test/CXX/drs/cwg18xx.cpp
A clang/test/CXX/drs/cwg19xx.cpp
A clang/test/CXX/drs/cwg1xx.cpp
A clang/test/CXX/drs/cwg20xx.cpp
A clang/test/CXX/drs/cwg21xx.cpp
A clang/test/CXX/drs/cwg22xx.cpp
A clang/test/CXX/drs/cwg23xx.cpp
A clang/test/CXX/drs/cwg24xx.cpp
A clang/test/CXX/drs/cwg25xx.cpp
A clang/test/CXX/drs/cwg26xx.cpp
A clang/test/CXX/drs/cwg27xx.cpp
A clang/test/CXX/drs/cwg28xx.cpp
A clang/test/CXX/drs/cwg2xx.cpp
A clang/test/CXX/drs/cwg3xx.cpp
A clang/test/CXX/drs/cwg4xx.cpp
A clang/test/CXX/drs/cwg5xx.cpp
A clang/test/CXX/drs/cwg6xx.cpp
A clang/test/CXX/drs/cwg7xx.cpp
A clang/test/CXX/drs/cwg8xx.cpp
A clang/test/CXX/drs/cwg9xx.cpp
R clang/test/CXX/drs/dr0xx.cpp
R clang/test/CXX/drs/dr10xx.cpp
R clang/test/CXX/drs/dr11xx.cpp
R clang/test/CXX/drs/dr12xx.cpp
R clang/test/CXX/drs/dr13xx.cpp
R clang/test/CXX/drs/dr14xx.cpp
R clang/test/CXX/drs/dr15xx.cpp
R clang/test/CXX/drs/dr16xx.cpp
R clang/test/CXX/drs/dr17xx.cpp
R clang/test/CXX/drs/dr18xx.cpp
R clang/test/CXX/drs/dr19xx.cpp
R clang/test/CXX/drs/dr1xx.cpp
R clang/test/CXX/drs/dr20xx.cpp
R clang/test/CXX/drs/dr21xx.cpp
R clang/test/CXX/drs/dr22xx.cpp
R clang/test/CXX/drs/dr23xx.cpp
R clang/test/CXX/drs/dr24xx.cpp
R clang/test/CXX/drs/dr25xx.cpp
R clang/test/CXX/drs/dr26xx.cpp
R clang/test/CXX/drs/dr27xx.cpp
R clang/test/CXX/drs/dr28xx.cpp
R clang/test/CXX/drs/dr2xx.cpp
R clang/test/CXX/drs/dr3xx.cpp
R clang/test/CXX/drs/dr4xx.cpp
R clang/test/CXX/drs/dr5xx.cpp
R clang/test/CXX/drs/dr6xx.cpp
R clang/test/CXX/drs/dr7xx.cpp
R clang/test/CXX/drs/dr8xx.cpp
R clang/test/CXX/drs/dr9xx.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-call.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-types.c
A clang/test/CodeGen/RISCV/riscv32-ilp32d-abi.cpp
A clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-subscript-ops.c
A clang/test/CodeGen/RISCV/vector-bits-vscale-range.c
M clang/test/CodeGen/aapcs64-align.cpp
A clang/test/CodeGen/aarch64-elf-pauthabi.c
A clang/test/CodeGen/aarch64-fmv-dependencies.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
M clang/test/CodeGen/builtins-wasm.c
A clang/test/CodeGen/linking-bitcode-postopt.cpp
R clang/test/CodeGen/riscv-rvv-vls-arith-ops.c
R clang/test/CodeGen/riscv-rvv-vls-bitwise-ops.c
R clang/test/CodeGen/riscv-rvv-vls-compare-ops.c
R clang/test/CodeGen/riscv-rvv-vls-shift-ops.c
R clang/test/CodeGen/riscv-rvv-vls-subscript-ops.c
R clang/test/CodeGen/riscv-vector-bits-vscale-range.c
R clang/test/CodeGen/riscv32-ilp32d-abi.cpp
M clang/test/CodeGenCoroutines/coro-dwarf.cpp
R clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
M clang/test/CodeGenHLSL/basic-target.c
A clang/test/Driver/aarch64-fmv.c
M clang/test/Driver/aarch64-implied-sme-features.c
M clang/test/Driver/aarch64-implied-sve-features.c
M clang/test/Driver/aarch64-ptrauth.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/fp-contract.c
M clang/test/Driver/fp-model.c
M clang/test/Driver/frelaxed-template-template-args.cpp
A clang/test/Driver/fseparate-named-sections.c
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/plugin-driver-args.cpp
M clang/test/Driver/rewrite-legacy-objc.m
M clang/test/Driver/rewrite-objc.m
A clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Modules/module.modulemap
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/foo.h
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/macro_defs.h
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/public.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/Headers/Zippered.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/PrivateHeaders/Zippered_Private.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.tbd
A clang/test/InstallAPI/Inputs/Zippered/Zippered.yaml
A clang/test/InstallAPI/exclusive-passes-2.test
A clang/test/InstallAPI/exclusive-passes-platform.test
A clang/test/InstallAPI/exclusive-passes-zippered.test
A clang/test/InstallAPI/exclusive-passes.test
A clang/test/InstallAPI/invalid-exclusive-passes.test
A clang/test/InstallAPI/project-header-only-args.test
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
M clang/test/Options/enable_16bit_types_validation.hlsl
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/ptrauth_feature.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
A clang/test/SemaCXX/PR12361.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
M clang/test/SemaCXX/enum-scoped.cpp
M clang/test/SemaCXX/type-traits.cpp
A clang/test/SemaHLSL/packoffset-invalid.hlsl
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-wait-clause.c
A clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
M clang/test/lit.site.cfg.py.in
M clang/tools/clang-installapi/ClangInstallAPI.cpp
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/CMakeLists.txt
A clang/unittests/AST/ConceptPrinterTest.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
R clang/unittests/Analysis/FlowSensitive/SolverTest.cpp
A clang/unittests/Analysis/FlowSensitive/SolverTest.h
A clang/unittests/Analysis/FlowSensitive/WatchedLiteralsSolverTest.cpp
M clang/unittests/Driver/DXCModeTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M compiler-rt/lib/fuzzer/FuzzerDriver.cpp
M compiler-rt/test/asan/TestCases/Posix/fake_stack_gc.cpp
M compiler-rt/test/ctx_profile/CMakeLists.txt
A compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test
A compiler-rt/test/ctx_profile/lit.cfg.py
A compiler-rt/test/ctx_profile/lit.site.cfg.py.in
M compiler-rt/test/dfsan/release_shadow_space.c
M compiler-rt/test/lit.common.cfg.py
M cross-project-tests/lit.cfg.py
M cross-project-tests/lit.site.cfg.py.in
M flang/docs/Extensions.md
M flang/docs/OpenMP-descriptor-management.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Evaluate/fold-designator.cpp
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertArrayConstructor.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
R flang/lib/Optimizer/Transforms/OMPDescriptorMapInfoGen.cpp
A flang/lib/Optimizer/Transforms/OMPMapInfoFinalization.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/compute-offsets.cpp
M flang/lib/Semantics/data-to-inits.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
A flang/test/Driver/w-option.f90
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/dispatch.f90
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/c_ptr_byvalue.f90
M flang/test/HLFIR/call_with_poly_dummy.f90
M flang/test/HLFIR/optional_dummy.f90
M flang/test/HLFIR/order_assignments/where-scheduling.f90
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
A flang/test/Integration/debug-loc-1.f90
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
M flang/test/Lower/HLFIR/allocatable-and-pointer-status-change.f90
M flang/test/Lower/HLFIR/allocatables-and-pointers.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental-nested.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
M flang/test/Lower/HLFIR/array-ctor-as-inlined-temp.f90
M flang/test/Lower/HLFIR/array-ctor-index.f90
M flang/test/Lower/HLFIR/assignment-intrinsics.f90
M flang/test/Lower/HLFIR/assumed-rank-iface-alloc-ptr.f90
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
M flang/test/Lower/HLFIR/binary-ops.f90
M flang/test/Lower/HLFIR/bindc-value-derived.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-percent-val-ref.f90
M flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/HLFIR/char_extremum.f03
M flang/test/Lower/HLFIR/charconvert.f90
M flang/test/Lower/HLFIR/convert-mbox-to-value.f90
M flang/test/Lower/HLFIR/convert-variable-block.f90
M flang/test/Lower/HLFIR/convert-variable.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/custom-intrinsic.f90
M flang/test/Lower/HLFIR/designators-component-ref.f90
M flang/test/Lower/HLFIR/designators.f90
M flang/test/Lower/HLFIR/dot_product.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-polymorphic-merge.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref.f90
M flang/test/Lower/HLFIR/expr-addr.f90
M flang/test/Lower/HLFIR/expr-box.f90
M flang/test/Lower/HLFIR/expr-value.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/implicit-type-conversion.f90
M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
M flang/test/Lower/HLFIR/issue80884.f90
M flang/test/Lower/HLFIR/maxloc.f90
M flang/test/Lower/HLFIR/minloc.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/HLFIR/statement-functions.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/transformational.f90
M flang/test/Lower/HLFIR/transpose.f90
M flang/test/Lower/HLFIR/unary-ops.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
M flang/test/Lower/Intrinsics/c_f_procpointer.f90
M flang/test/Lower/Intrinsics/c_funloc-proc-pointers.f90
M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/execute_command_line-optional.f90
M flang/test/Lower/Intrinsics/execute_command_line.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/product.f90
M flang/test/Lower/Intrinsics/signal.f90
M flang/test/Lower/Intrinsics/sizeof.f90
M flang/test/Lower/Intrinsics/sum.f90
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
M flang/test/Lower/OpenACC/acc-atomic-update-array.f90
M flang/test/Lower/OpenACC/acc-bounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-loop-exit.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
A flang/test/Lower/OpenMP/derived-type-map.f90
M flang/test/Lower/OpenMP/flush.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/parallel-firstprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause-str.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/array-expression.f90
A flang/test/Lower/branching-directive.f90
M flang/test/Lower/character-substrings.f90
M flang/test/Lower/charconvert.f90
M flang/test/Lower/dispatch.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/select-type.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
M flang/test/Semantics/OpenMP/do08.f90
A flang/test/Semantics/array-constr-index01.f90
M flang/test/Semantics/bind-c03.f90
M flang/test/Semantics/bind-c06.f90
M flang/test/Semantics/bindings01.f90
M flang/test/Semantics/cuf02.cuf
M flang/test/Semantics/data01.f90
A flang/test/Semantics/data23.f90
M flang/test/Semantics/entry01.f90
M flang/test/Semantics/equivalence01.f90
M flang/test/Semantics/modfile12.f90
M flang/test/Semantics/modfile17.f90
A flang/test/Semantics/pdt03.f90
M flang/test/Semantics/resolve81.f90
M flang/test/Semantics/resolve85.f90
M flang/test/Semantics/stmt-func01.f90
R flang/test/Transforms/omp-descriptor-map-info-gen.fir
A flang/test/Transforms/omp-map-info-finalization.fir
M libc/hdr/CMakeLists.txt
M libc/hdr/fenv_macros.h
A libc/hdr/time_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/clock_t.h
A libc/hdr/types/clockid_t.h
A libc/hdr/types/struct_timeval.h
A libc/hdr/types/suseconds_t.h
A libc/hdr/types/time_t.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
A libc/src/__support/CPP/mutex.h
M libc/src/__support/FPUtil/FMA.h
R libc/src/__support/FPUtil/aarch64/FMA.h
R libc/src/__support/FPUtil/gpu/FMA.h
R libc/src/__support/FPUtil/riscv/FMA.h
R libc/src/__support/FPUtil/x86_64/FMA.h
M libc/src/__support/File/CMakeLists.txt
M libc/src/__support/File/dir.cpp
M libc/src/__support/GPU/amdgpu/utils.h
M libc/src/__support/GPU/nvptx/utils.h
M libc/src/__support/threads/CMakeLists.txt
M libc/src/__support/threads/fork_callbacks.cpp
M libc/src/__support/threads/linux/callonce.cpp
M libc/src/__support/threads/thread.cpp
A libc/src/__support/time/CMakeLists.txt
A libc/src/__support/time/linux/CMakeLists.txt
A libc/src/__support/time/linux/clock_gettime.cpp
A libc/src/__support/time/linux/clock_gettime.h
A libc/src/__support/time/units.h
M libc/src/math/generic/powf.cpp
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/atexit.cpp
M libc/src/threads/linux/CMakeLists.txt
M libc/src/threads/linux/CndVar.h
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/gettimeofday.h
M libc/src/time/gpu/CMakeLists.txt
M libc/src/time/gpu/clock.cpp
M libc/src/time/gpu/time_utils.h
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
R libc/src/time/linux/clockGetTimeImpl.h
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
M libc/test/src/__support/CPP/CMakeLists.txt
A libc/test/src/__support/CPP/mutex_test.cpp
M libc/test/src/math/powf_test.cpp
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/numeric/gcd.bench.cpp
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx2c.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/SpaceshipProjects.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__functional/is_transparent.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/include/__tuple/make_tuple_types.h
R libcxx/include/__type_traits/apply_cv.h
M libcxx/include/__type_traits/make_signed.h
M libcxx/include/__type_traits/make_unsigned.h
M libcxx/include/cwchar
M libcxx/include/functional
M libcxx/include/map
M libcxx/include/module.modulemap
M libcxx/include/set
M libcxx/include/string
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/variant
M libcxx/include/version
M libcxx/modules/std/chrono.inc
M libcxx/modules/std/ranges.inc
M libcxx/test/CMakeLists.txt
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.const_ref.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap_const.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.const_ref.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap_const.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_concepts.h
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_types.h
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.dtor/dtor.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
M libcxx/test/support/atomic_helpers.h
M libcxx/test/support/constexpr_char_traits.h
M libcxx/test/support/nasty_string.h
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/utils/generate_feature_test_macro_components.py
M libcxxabi/src/demangle/ItaniumDemangle.h
M lld/ELF/Driver.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/MachO/ObjC.cpp
M lld/test/ELF/mips-eh_frame-pic.s
M lld/test/MachO/objc-category-merging-complete-test.s
M lldb/cmake/modules/LLDBFramework.cmake
M lldb/examples/python/crashlog.py
M lldb/examples/python/crashlog_scripted_process.py
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Symbol/TypeList.h
M lldb/include/lldb/Symbol/TypeMap.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/RemoteAwarePlatform.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
M lldb/scripts/generate-sbapi-dwarf-enum.py
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Progress.cpp
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Symbol/TypeList.cpp
M lldb/source/Symbol/TypeMap.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/RemoteAwarePlatform.cpp
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
A lldb/test/API/python_api/sbmodule/FindTypes/Makefile
A lldb/test/API/python_api/sbmodule/FindTypes/TestSBModuleFindTypes.py
A lldb/test/API/python_api/sbmodule/FindTypes/main.cpp
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/type/main.cpp
M lldb/test/Shell/Commands/command-disassemble-aarch64-extensions.s
A lldb/test/Shell/SymbolFile/DWARF/delayed-definition-die-searching.test
M lldb/test/Shell/SymbolFile/DWARF/x86/debug_rnglists.s
A lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
A lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
M lldb/test/Shell/helper/toolchain.py
M lldb/test/Shell/lit.site.cfg.py.in
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/unittests/Core/DiagnosticEventTest.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
M lldb/unittests/Symbol/TestType.cpp
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
M llvm/CMakeLists.txt
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/docs/LangRef.rst
M llvm/docs/MIRLangRef.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/TestingGuide.rst
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/include/llvm/ADT/SmallString.h
M llvm/include/llvm/ADT/StringMap.h
M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h
M llvm/include/llvm/MC/MCFragment.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/Object/MachO.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
A llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/Support/LEB128.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParserCommon.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/TextAPI/Utils.h
M llvm/include/llvm/Transforms/Instrumentation/PGOCtxProfLowering.h
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/include/llvm/Transforms/Utils/ValueMapper.h
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/FuzzMutate/FuzzerCLI.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/ProfDataUtils.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTOModule.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/DarwinAsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCSymbolXCOFF.cpp
M llvm/lib/Object/Archive.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Object/OffloadBinary.cpp
M llvm/lib/ObjectYAML/COFFEmitter.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
M llvm/lib/ProfileData/GCOV.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/EXPInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/DirectX/DXILMetadata.cpp
M llvm/lib/Target/DirectX/DXILMetadata.h
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/NVPTX/NVPTX.td
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
M llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h
M llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
M llvm/lib/Target/PowerPC/PPCSubtarget.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVPostRAExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/ARMTargetParserCommon.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/TextAPI/Utils.cpp
M llvm/lib/Transforms/Coroutines/CoroElide.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/runtimes/CMakeLists.txt
A llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
A llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
M llvm/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll
A llvm/test/Analysis/LoopAccessAnalysis/non-constant-distance-backward.ll
A llvm/test/Analysis/LoopAccessAnalysis/offset-range-known-via-assume.ll
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-bitreverse-shift.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-with-flags.mir
M llvm/test/CodeGen/AArch64/aarch64-vuzp.ll
M llvm/test/CodeGen/AArch64/addimm-mulimm.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
A llvm/test/CodeGen/AArch64/frem-power2.ll
A llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
M llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
M llvm/test/CodeGen/AArch64/neon-perm.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-fmlas16.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mopa.ll
M llvm/test/CodeGen/AArch64/stackmap-liveness.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
A llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
A llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
A llvm/test/CodeGen/AArch64/sve-llrint.ll
A llvm/test/CodeGen/AArch64/sve-lrint.ll
M llvm/test/CodeGen/AArch64/sve-reassocadd.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/vector-llrint.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/is-safe-to-sink-bug.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
A llvm/test/CodeGen/AMDGPU/check-subtarget-features.ll
M llvm/test/CodeGen/AMDGPU/combine_vloads.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/dead_bundle.mir
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-global-i1.ll
M llvm/test/CodeGen/AMDGPU/load-local-i1.ll
M llvm/test/CodeGen/AMDGPU/load-local-i8.ll
M llvm/test/CodeGen/AMDGPU/nullptr-long-address-spaces.ll
M llvm/test/CodeGen/AMDGPU/nullptr.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-wave32-feature.ll
M llvm/test/CodeGen/AMDGPU/setcc.ll
M llvm/test/CodeGen/AMDGPU/sext-in-reg.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/store-global.ll
M llvm/test/CodeGen/AMDGPU/store-local.ll
M llvm/test/CodeGen/AMDGPU/trunc-vector-store-assertion-failure.ll
M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
M llvm/test/CodeGen/AMDGPU/unsupported-calls.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca.ll
M llvm/test/CodeGen/AMDGPU/wrong-transalu-pos-fix.ll
A llvm/test/CodeGen/ARM/frem-power2.ll
A llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
A llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
M llvm/test/CodeGen/Generic/expand-vp.ll
M llvm/test/CodeGen/Mips/ehframe-indirect.ll
A llvm/test/CodeGen/NVPTX/atomics-sm90.ll
A llvm/test/CodeGen/PowerPC/aix-shared-lib-tls-model-opt-small-local-dynamic-tls.ll
A llvm/test/CodeGen/PowerPC/aix-shared-lib-tls-model-opt.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-types.ll
A llvm/test/CodeGen/PowerPC/check-aix-shared-lib-tls-model-opt-IRattribute.ll
A llvm/test/CodeGen/PowerPC/check-aix-shared-lib-tls-model-opt-Option.ll
M llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
M llvm/test/CodeGen/PowerPC/merge-string-used-by-metadata.mir
A llvm/test/CodeGen/PowerPC/mergeable-string-pool-exceptions.ll
M llvm/test/CodeGen/PowerPC/mergeable-string-pool-pass-only.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/shift-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/shift-rv64.mir
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/imm.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/imm.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/commutable.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/double-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/float-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/frm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/half-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tamu.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tuma.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tumu.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-masked-vops.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/sf_vfnrclip_x_f_qf.ll
M llvm/test/CodeGen/RISCV/rvv/sf_vfnrclip_xu_f_qf.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/undef-vp-ops.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
M llvm/test/CodeGen/RISCV/rvv/vaadd.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/vasub.ll
M llvm/test/CodeGen/RISCV/rvv/vasubu.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfcvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv.ll
M llvm/test/CodeGen/RISCV/rvv/vfmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfncvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfrdiv.ll
M llvm/test/CodeGen/RISCV/rvv/vfrec7.ll
M llvm/test/CodeGen/RISCV/rvv/vfredosum.ll
M llvm/test/CodeGen/RISCV/rvv/vfredusum.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.w.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac.ll
M llvm/test/CodeGen/RISCV/rvv/vfwredosum.ll
M llvm/test/CodeGen/RISCV/rvv/vfwredusum.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.w.ll
M llvm/test/CodeGen/RISCV/rvv/vnclip.ll
M llvm/test/CodeGen/RISCV/rvv/vnclipu.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsmul-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vsmul-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vssra-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vssra-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vssrl-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vssrl-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm.mir
M llvm/test/CodeGen/WebAssembly/half-precision.ll
M llvm/test/CodeGen/WebAssembly/offset.ll
M llvm/test/CodeGen/X86/bypass-slow-division-64.ll
M llvm/test/CodeGen/X86/opt-shuff-tstore.ll
M llvm/test/CodeGen/X86/stackmap-liveness.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
M llvm/test/DebugInfo/Mips/eh_frame.ll
A llvm/test/MC/AMDGPU/alignto_mcexpr.s
A llvm/test/MC/AMDGPU/extrasgprs_mcexpr.s
A llvm/test/MC/AMDGPU/occupancy_mcexpr.s
A llvm/test/MC/AMDGPU/totalnumvgpr_mcexpr.s
M llvm/test/MC/Mips/eh-frame.s
M llvm/test/MC/WebAssembly/simd-encodings.s
R llvm/test/MC/X86/directive-avoid_end_align.s
A llvm/test/Object/Inputs/MachO/bind-negative-skip.yaml
A llvm/test/Object/macho-bind-negative-skip.test
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
A llvm/test/Transforms/IndVarSimplify/preserving-debugloc.ll
A llvm/test/Transforms/IndVarSimplify/trip-count-expansion-loop-guard-preserve-nsw.ll
A llvm/test/Transforms/Inline/inline-cost-switch-default.ll
M llvm/test/Transforms/Inline/inline-switch-default-2.ll
M llvm/test/Transforms/Inline/inline-switch-default.ll
M llvm/test/Transforms/Inline/update_invoke_prof.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/apint-and-xor-merge.ll
M llvm/test/Transforms/InstCombine/apint-or.ll
M llvm/test/Transforms/InstCombine/call-guard.ll
M llvm/test/Transforms/InstCombine/fast-math.ll
M llvm/test/Transforms/InstCombine/icmp-shr-lt-gt.ll
M llvm/test/Transforms/InstCombine/lshr.ll
M llvm/test/Transforms/InstCombine/or-xor.ll
M llvm/test/Transforms/InstCombine/simplify-libcalls-new.ll
M llvm/test/Transforms/InstCombine/trunc-binop-ext.ll
M llvm/test/Transforms/InterleavedAccess/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/JumpThreading/thread-two-bbs.ll
A llvm/test/Transforms/PGOProfile/ctx-instrumentation-invalid-roots.ll
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
M llvm/test/Transforms/Reassociate/fast-ArrayOutOfBounds.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
A llvm/test/Transforms/SLPVectorizer/X86/extended-vectorized-gathered-inst.ll
A llvm/test/Transforms/SampleProfile/Inputs/overflow.proftext
A llvm/test/Transforms/SampleProfile/overflow.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep-inbounds.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/reorder-gep.ll
A llvm/test/Transforms/VectorCombine/pr88796.ll
M llvm/test/Verifier/vp-intrinsics.ll
M llvm/test/tools/UpdateTestChecks/lit.local.cfg
A llvm/test/tools/UpdateTestChecks/update_test_body/Inputs/basic-asm.test.expected
A llvm/test/tools/UpdateTestChecks/update_test_body/Inputs/basic.test.expected
A llvm/test/tools/UpdateTestChecks/update_test_body/basic-asm.test
A llvm/test/tools/UpdateTestChecks/update_test_body/basic.test
A llvm/test/tools/UpdateTestChecks/update_test_body/empty-stdout.test
A llvm/test/tools/UpdateTestChecks/update_test_body/gen-absent.test
A llvm/test/tools/UpdateTestChecks/update_test_body/gen-fail.test
A llvm/test/tools/UpdateTestChecks/update_test_body/gen-unterminated.test
A llvm/test/tools/UpdateTestChecks/update_test_body/lit.local.cfg
M llvm/test/tools/dsymutil/ARM/empty-map.test
M llvm/test/tools/dsymutil/cmdline.test
M llvm/test/tools/llvm-dwarfdump/X86/formclass4.s
M llvm/test/tools/llvm-dwarfdump/X86/prettyprint_type_units_split_v5.s
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/Options.td
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-dwarfdump/Statistics.cpp
M llvm/tools/llvm-extract/llvm-extract.cpp
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/tools/llvm-xray/xray-graph-diff.cpp
M llvm/tools/llvm-yaml-numeric-parser-fuzzer/yaml-numeric-parser-fuzzer.cpp
M llvm/unittests/ADT/StringRefTest.cpp
M llvm/unittests/ADT/StringSetTest.cpp
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
M llvm/unittests/IR/AttributesTest.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/PatternMatch.cpp
M llvm/unittests/IR/VPIntrinsicTest.cpp
M llvm/unittests/IR/VerifierTest.cpp
M llvm/unittests/MC/AMDGPU/CMakeLists.txt
A llvm/unittests/MC/AMDGPU/SIProgramInfoMCExprs.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
M llvm/unittests/Support/LEB128Test.cpp
M llvm/unittests/Support/MemoryBufferTest.cpp
M llvm/unittests/Support/YAMLIOTest.cpp
M llvm/unittests/TargetParser/CSKYTargetParserTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/git/requirements.txt
M llvm/utils/git/requirements_formatting.txt
M llvm/utils/gn/secondary/clang/test/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/AST/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/Utils/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/MC/AMDGPU/BUILD.gn
A llvm/utils/update_test_body.py
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/Linalg/Passes.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/Transform/Utils/Utils.h
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/include/mlir/Tools/lsp-server-support/Protocol.h
M mlir/include/mlir/Transforms/Mem2Reg.h
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineScalarReplacement.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/TypeDetail.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
A mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaInferShapes.cpp
M mlir/lib/Dialect/Transform/Utils/Utils.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/lib/Interfaces/ViewLikeInterface.cpp
M mlir/lib/TableGen/Builder.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Tools/lsp-server-support/Protocol.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
M mlir/test/Conversion/ArmSMEToLLVM/unsupported.mlir
M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
M mlir/test/Dialect/Affine/scalrep.mlir
A mlir/test/Dialect/ArmSME/basic-tile-allocation.mlir
M mlir/test/Dialect/ArmSME/enable-arm-za.mlir
M mlir/test/Dialect/ArmSME/outer-product-fusion.mlir
R mlir/test/Dialect/ArmSME/tile-allocation.mlir
M mlir/test/Dialect/ArmSME/tile-zero-masks.mlir
M mlir/test/Dialect/LLVM/transform-e2e.mlir
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
A mlir/test/Dialect/Linalg/block-pack-matmul-layout.mlir
A mlir/test/Dialect/Linalg/block-pack-matmul-padding.mlir
A mlir/test/Dialect/Linalg/block-pack-matmul.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/matmul-shared-memory-padding.mlir
M mlir/test/Dialect/Linalg/multisize-tiling-full.mlir
M mlir/test/Dialect/Linalg/promote.mlir
M mlir/test/Dialect/Linalg/promotion_options.mlir
M mlir/test/Dialect/Linalg/tile-conv.mlir
M mlir/test/Dialect/Linalg/tile-indexed.mlir
M mlir/test/Dialect/Linalg/tile-softmax.mlir
M mlir/test/Dialect/Linalg/tile-tensors.mlir
M mlir/test/Dialect/Linalg/tile-to-forall.mlir
M mlir/test/Dialect/Linalg/transform-op-compose-masked-vectorize-and-cleanups.mlir
M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
M mlir/test/Dialect/Linalg/transform-op-hoist-pad-build-packing-loop-nest.mlir
M mlir/test/Dialect/Linalg/transform-op-hoist-pad.mlir
M mlir/test/Dialect/Linalg/transform-op-mmt4d-to-fma.mlir
M mlir/test/Dialect/Linalg/transform-op-pack.mlir
M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize-conv.mlir
M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize.mlir
M mlir/test/Dialect/Linalg/transform-op-scalarize.mlir
M mlir/test/Dialect/Linalg/transform-op-tile.mlir
M mlir/test/Dialect/Linalg/transform-ops-invalid.mlir
M mlir/test/Dialect/Linalg/transform-ops.mlir
M mlir/test/Dialect/Linalg/transform-patterns.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract-masked.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/ops.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Dialect/SCF/transform-op-coalesce.mlir
M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/tiling.mlir
M mlir/test/Dialect/Transform/ops.mlir
M mlir/test/Dialect/Transform/selective-targeting.mlir
M mlir/test/Dialect/Vector/transform-vector.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul-transpose-a.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul-mixed-types.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-nwc-wcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-nhwc-hwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-ndhwc-dhwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/block.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/block_majors.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0_permute.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_1_permute.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_bf16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dense_output_f16.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/dual_sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_abs.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_binary.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cmp.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_collapse_shape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex32.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex64.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_complex_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_constant_to_sparse_tensor.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_1d_nwc_wcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_nhwc_hwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_3d_ndhwc_dhwcf.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_block.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_dyn.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_ptr.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dot.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_ds.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_empty.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand_shape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_1d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_2d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul_slice.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_mult_elt.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_reduction.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_simple.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pooling_nhwc.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_print_3d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_re_im.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_prod.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reshape.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_mm_fusion.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scale.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scf_nested.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_select.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_semiring_select.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sign.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sorted_coo.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_storage.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tanh.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_mul.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_transpose_coo.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_unary.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_vector_ops.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-gemm-lib.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-sampled-matmul-lib.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-sddmm-lib.mlir
M mlir/test/Interfaces/TilingInterface/tile-pad-using-interface.mlir
M mlir/test/Interfaces/TilingInterface/tile-using-interface.mlir
M mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
A mlir/test/Target/LLVMIR/omptarget-nested-record-type-mapping-host.mlir
A mlir/test/Target/LLVMIR/omptarget-record-type-mapping-host.mlir
M mlir/test/Transforms/constant-fold.mlir
M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
M mlir/test/python/dialects/transform_structured_ext.py
M mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
M mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
A mlir/unittests/Tools/lsp-server-support/Protocol.cpp
M offload/include/PluginManager.h
M offload/include/device.h
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/include/Utils/ELF.h
M offload/plugins-nextgen/common/src/JIT.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/plugins-nextgen/host/src/rtl.cpp
M offload/src/CMakeLists.txt
M offload/src/OffloadRTL.cpp
M offload/src/OpenMP/InteropAPI.cpp
M offload/src/PluginManager.cpp
M offload/src/device.cpp
M offload/src/interface.cpp
A offload/test/offloading/fortran/target-map-derived-type-full-1.f90
A offload/test/offloading/fortran/target-map-derived-type-full-2.f90
A offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
A offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
A offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
A offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
A offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
A offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
A offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
A offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
A offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
A offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
A offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
A offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
A offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
A offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
A offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
M offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
M offload/unittests/Plugins/NextgenPluginsTest.cpp
M openmp/runtime/CMakeLists.txt
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/src/z_Linux_asm.S
M openmp/runtime/src/z_Linux_util.cpp
M openmp/runtime/test/affinity/redetect.c
A openmp/runtime/test/misc_bugs/omp__kmpc_fork_call_if.c
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.4
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/3b65e660817c...ff6b4c1c0f7e
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