[all-commits] [llvm/llvm-project] 2e26ee: [DWARF] Clarify a variable name. NFC (#88814)
Prabhuk via All-commits
all-commits at lists.llvm.org
Wed Apr 24 11:17:22 PDT 2024
Branch: refs/heads/users/Prabhuk/sprmain.callsiteinfocallgraphsection-extend-callsiteinfo-with-typeid
Home: https://github.com/llvm/llvm-project
Commit: 2e26ee9dce32d12ffa9bfb7f7d3e97778f0b7a75
https://github.com/llvm/llvm-project/commit/2e26ee9dce32d12ffa9bfb7f7d3e97778f0b7a75
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
Log Message:
-----------
[DWARF] Clarify a variable name. NFC (#88814)
The parameter of `findDebugNamesOffsets` has been renamed to
`EndOfHeaderOffset` in #88064 to make it clear it is a section offset
instead of an offset relative to the current name index. Rename the call
site variable as well.
Commit: f3a8112d9839a166f7eb240c6c72d7ecd47d3560
https://github.com/llvm/llvm-project/commit/f3a8112d9839a166f7eb240c6c72d7ecd47d3560
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
Log Message:
-----------
[RISCV][TTI] Scale the cost of ICmp with LMUL (#88235)
Use the Val type to estimate the instruction cost for ICmp.
Commit: dfe12b3fd193318403622a8ae51e0362c27502d1
https://github.com/llvm/llvm-project/commit/dfe12b3fd193318403622a8ae51e0362c27502d1
Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm-c/Core.h
M llvm/lib/IR/Core.cpp
M llvm/test/Bindings/llvm-c/atomics.ll
Log Message:
-----------
[C API] Support uinc_wrap/udec_wrap in atomicrmw when accessing the bin op (#87163)
These previously were added in the C++ API in
778cf5431cafc243f81dd5c8cbd27701ff7f9120, but without updating the enum
in the C API or mapping functions.
Corresponding tests for all current atomicrmw bin ops have been added as
well.
Commit: 5b9af38a03c8119cc2a42ae80d4a25e6f454c721
https://github.com/llvm/llvm-project/commit/5b9af38a03c8119cc2a42ae80d4a25e6f454c721
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
Log Message:
-----------
[RISCV] Provide a more efficient lowering for experimental.cttz.elts. (#88552)
For experimental.cttz.elts, we can use a vfirst instruction, but we need
to correct the result if input vector can be 0. cttz.elts returns the
vector length while vfirst returns -1.
Commit: 4b22a923c4bfd0aa1d483149f84b6787263c2d76
https://github.com/llvm/llvm-project/commit/4b22a923c4bfd0aa1d483149f84b6787263c2d76
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll
M llvm/test/Transforms/IndVarSimplify/X86/iv-widen.ll
M llvm/test/Transforms/IndVarSimplify/elim-extend.ll
M llvm/test/Transforms/IndVarSimplify/hoist-wide-inc-for-narrow-use-recompute-flags.ll
M llvm/test/Transforms/IndVarSimplify/iv-sext.ll
M llvm/test/Transforms/IndVarSimplify/iv-widen-elim-ext.ll
M llvm/test/Transforms/IndVarSimplify/lftr.ll
M llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
M llvm/test/Transforms/IndVarSimplify/post-inc-range.ll
M llvm/test/Transforms/IndVarSimplify/pr25578.ll
M llvm/test/Transforms/IndVarSimplify/pr55925.ll
M llvm/test/Transforms/IndVarSimplify/widen-nonnegative-countdown.ll
M llvm/test/Transforms/IndVarSimplify/widen-nonnegative.ll
M llvm/test/Transforms/LoopFlatten/widen-iv3.ll
Log Message:
-----------
[IndVars] Mark truncs as nuw/nsw (#88686)
When inserting truncs during IV widening, mark the trunc as either nuw
or nsw depending on whether zext or sext widening was used. For
non-negative IVs both nuw and nsw apply.
Commit: 5f680724838188f516d349bd9459710308d721e0
https://github.com/llvm/llvm-project/commit/5f680724838188f516d349bd9459710308d721e0
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
A clang/test/SemaCXX/PR84020.cpp
Log Message:
-----------
[Clang][Sema] Fix issue on requires expression with templated base class member function (#85198)
Fix https://github.com/llvm/llvm-project/issues/84020
Skip checking implicit object parameter in the context of
`RequiresExprBodyDecl`.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 568368a43e5b4adb3c5d105a0eff3e0c13c0af8c
https://github.com/llvm/llvm-project/commit/568368a43e5b4adb3c5d105a0eff3e0c13c0af8c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/Endian.h
M llvm/include/llvm/Support/OnDiskHashTable.h
Log Message:
-----------
[Support] Make readNext default to unaligned (#88808)
Without this patch, you would typically use readNext as:
readNext<uint32_t, llvm::endianness::little, unaligned>(Ptr)
which is quite mouthful. Since most serialization/deserialization
operations are unaligned accesses, this patch makes the alignment
template parameter default to unaligned, allowing us to say:
readNext<uint32_t, llvm::endianness::little>(Ptr)
I'm including a few examples of migration in this patch. I'll do the
rest in a separate patch.
Note that writeNext already has the same trick for the alignment
template parameter.
Commit: b4cf63d26f4c41dd9403c4e62500d82a6d31d692
https://github.com/llvm/llvm-project/commit/b4cf63d26f4c41dd9403c4e62500d82a6d31d692
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCompiler.td
Log Message:
-----------
[X86] Remove obsolete tablegen rules for near data in small static code model (#84523)
These should be already handled by other code.
Removing the kernel code model rules right above it cause
bss_pagealigned.ll to fail by using a movabsq to get the address of a
global, haven't figured out where that code is yet.
Commit: 82f479ba315a417b6cd01a8c2efdc15c26689f2e
https://github.com/llvm/llvm-project/commit/82f479ba315a417b6cd01a8c2efdc15c26689f2e
Author: Usama Hameed <u_hameed at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
A lldb/test/API/functionalities/libsanitizers/util.py
Log Message:
-----------
Add asan tests for libsanitizers. (#88349)
This patch tests LLDB integration with libsanitizers for ASan.
rdar://111856681
Commit: 00ae4b738be6e840cfdb3e7461409c3e49403e50
https://github.com/llvm/llvm-project/commit/00ae4b738be6e840cfdb3e7461409c3e49403e50
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCompiler.td
Log Message:
-----------
Revert "[X86] Remove obsolete tablegen rules for near data in small static code model (#84523)"
This reverts commit b4cf63d26f4c41dd9403c4e62500d82a6d31d692.
Breaks indirect-branch-tracking-eh2.ll.
Commit: 8ee7d9732204a7415967bce2c1d2c0fa63af264f
https://github.com/llvm/llvm-project/commit/8ee7d9732204a7415967bce2c1d2c0fa63af264f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
A flang/test/Fir/cuf-invalid.fir
A flang/test/Fir/cuf.mlir
Log Message:
-----------
[flang][cuda] Add fir.cuda_allocate operation (#88586)
Allocatable with cuda device attribute have special semantic for the
allocate statement. In flang the allocate statement is lowered to a
sequence of runtime call initializing the descriptor and then allocating
the descriptor data. This new operation will replace the last runtime
call and abstract all the device memory allocation needed.
The lowering patch will follow.
Commit: fe48bf672e1ab293368a3212203db94a4e21c533
https://github.com/llvm/llvm-project/commit/fe48bf672e1ab293368a3212203db94a4e21c533
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M lldb/test/Shell/lit.cfg.py
M lldb/test/Shell/lit.site.cfg.py.in
Log Message:
-----------
[lldb][lit] Guard MallocNanoZone envvar in shell tests (#88824)
Previously the MallocNanoZone envvar would be set to 0 on Darwin for the
LLDB shell tests, but this should guarded behind ASan being enabled as
opposed to simply running the test suite behind Darwin. This required
that the LLVM_USE_SANITIZER option be added as an attribute to the lit
config for shell tests.
Commit: 65b0cc610f80d9b9724a98cf7c5bcfd38e1cf799
https://github.com/llvm/llvm-project/commit/65b0cc610f80d9b9724a98cf7c5bcfd38e1cf799
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add FeatureStdExtI to all CPUs in RISCVProcessors.td. NFC (#88805)
This is currently being implied in RISCVISAInfo.cpp. Make it explicit.
I'm planning to move all extension information to RISCVFeatures.td and
have tablegen create the tables for RISCVISAInfo.cpp. This requires
making the creation of RISCVTargetParserDef.inc in tablegen independent
of RISCVISAInfo.cpp. So we need an accurate extension list for CPUs in
tablegen.
Commit: 4e2d11f87a595d658f25ec5838b002e4bf5a26fc
https://github.com/llvm/llvm-project/commit/4e2d11f87a595d658f25ec5838b002e4bf5a26fc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
Log Message:
-----------
[RISCV] Remove unnecessary NoHasStdExtZicfiss Predicate from cmop.1 and cmop.5. NFC (#88822)
I'm not sure what this was supposed do. Maybe it was for the
disassembler, but that should be managed through DecoderNamespace.
So let's remove it and simplify the code.
Commit: edb0708dc1ceeaeb3356311a4ddf72a0dc9b224f
https://github.com/llvm/llvm-project/commit/edb0708dc1ceeaeb3356311a4ddf72a0dc9b224f
Author: Vlad Mishel <43666597+vmishelcs at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/fcmp.ll
Log Message:
-----------
[InstCombine] Implement `fcmp (fadd x, 0.0), y` => `fcmp x, y` optimization (#88476)
This PR addresses issue #88168. It implements an optimization for
the case of
```
define i1 @fcmp_fadd_zero_ugt(float %x, float %y) {
%add = fadd float %x, 0.000000e+00
%cmp = fcmp ugt float %add, %y
ret i1 %cmp
}
```
`=>`
```
define i1 @fcmp_fadd_zero_ugt(float %x, float %y) {
%cmp = fcmp ugt float %x, %y
ret i1 %cmp
}
```
and all other types of `fcmp` instructions (`uge`, `ogt`, etc).
Proofs:
`fadd x, 0.0` https://alive2.llvm.org/ce/z/7FzNnM
`fsub x, 0.0` https://alive2.llvm.org/ce/z/puUxLK
Commit: 39016e33b0fe78ddb1f11822f71a8a233af4dca9
https://github.com/llvm/llvm-project/commit/39016e33b0fe78ddb1f11822f71a8a233af4dca9
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
Log Message:
-----------
[C++20] [Modules] Don't import non-inline function bodies even if it is always-inline
Recommit
https://github.com/llvm/llvm-project/commit/1ecbab56dcbb78268c8d19af34a50591f90b12a0
Close https://github.com/llvm/llvm-project/issues/80949
The new thing in this commit is to allow to import the function body
from instantiations if it is marked with always-inline. See the
discussion in https://github.com/llvm/llvm-project/issues/86893 for
details.
Commit: f14146fd46dd8bf7ef1e64d3c13af73dc5668045
https://github.com/llvm/llvm-project/commit/f14146fd46dd8bf7ef1e64d3c13af73dc5668045
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZcmop.td
M llvm/test/MC/RISCV/rv32zcmop-invalid.s
M llvm/test/MC/RISCV/rvzcmop-valid.s
Log Message:
-----------
[RISCV] Correct the spelling of the Zcmop mnemonics. (#88826)
The instruction names should be c.mop.1 instead of cmop.1.
Commit: 17d6bf046cea381413895f91e24d26d65763b59a
https://github.com/llvm/llvm-project/commit/17d6bf046cea381413895f91e24d26d65763b59a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-15 (Mon, 15 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/pr88799.ll
Log Message:
-----------
[RISCV] Change how MMO is rebuilt in lowerFixedLengthVectorLoadToRVV/lowerFixedLengthVectorStoreToRVV (#88811)
Copy the pointer info, flags, alignment, AAInfo, and ranges, but let
getLoad rebuild the MMO using the scalable type used for the the new
load/store. This makes sure the LLT minimum size matches the ContainerVT
minimum size. This is important since vscale_range may have been used to
determine that the fixed vector was the exact size of a scalable vector.
Fixes #88799
Commit: 6da1966bc503e1ce44ef36e7107c9db482fac6ab
https://github.com/llvm/llvm-project/commit/6da1966bc503e1ce44ef36e7107c9db482fac6ab
Author: Michal Terepeta <michalt at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVSchedRocket.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVSchedSyntacoreSCR1.td
M llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
A llvm/lib/Target/RISCV/RISCVScheduleXSf.td
Log Message:
-----------
[RISCV] Add scheduling information for SiFive VCIX (#86093)
This adds `RISCVScheduleXSf.td` with `SchedWrite` definitions for all
VCIX instructions and uses it in `RISCVSchedSiFive7.td` to set default
latencies for these instructions, helping with issue
https://github.com/llvm/llvm-project/issues/83391. Of course these
default latencies cannot be accurate (since each coprocessor will have
different latencies), but this seems to be enough to avoid some of the
problematic behavior described in the bug.
In any case, this seems to be enough to help with #83391 in our internal
testing.
A subsequent discussion is how to structure the code such that it's
easier for downstream consumers of this to use `SiFive7` scheduling
model with accurate VCIX latencies. But we can probably have a separate
issue to discuss that.
Commit: e2c91091e537a54f1469610ab407e7c9561e7ffc
https://github.com/llvm/llvm-project/commit/e2c91091e537a54f1469610ab407e7c9561e7ffc
Author: darkbuck <michael.hliao at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-fp-const-lhs.mir
A llvm/test/CodeGen/AArch64/GlobalISel/combine-commute-int-const-lhs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-const-fold-barrier-rhs.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-select-to-fminmax.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-to-fmin-fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fcanonicalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-and.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/smed3.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/umed3.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
Log Message:
-----------
[GlobalISel] Handle more commutable instructions in `commute_constant_to_rhs`
Reviewers:
rupprecht, aartbik, cyndyishida, Pierre-vh, aemerson, ftynse, hanhanW, banach-space, jayfoad, nicolasvasilache, daniel-grumberg, arsenm, PeimingLiu, JDevlieghere, matthias-springer
Reviewed By: arsenm, Pierre-vh
Pull Request: https://github.com/llvm/llvm-project/pull/87424
Commit: 3c6f91e5b671321c95259dabecdbdfe4a6d69ce1
https://github.com/llvm/llvm-project/commit/3c6f91e5b671321c95259dabecdbdfe4a6d69ce1
Author: martinboehme <mboehme at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Fix result object location for builtin `<=>`. (#88726)
The newly added test causes an assertion failure in
`PropagateResultObject()`
without the fix added here.
Commit: 7e49b0d5a67f212e84f8ec0ec2e39a6a8673bfaf
https://github.com/llvm/llvm-project/commit/7e49b0d5a67f212e84f8ec0ec2e39a6a8673bfaf
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/unittests/UnwindAssembly/CMakeLists.txt
A lldb/unittests/UnwindAssembly/x86-but-no-x86-target/CMakeLists.txt
A lldb/unittests/UnwindAssembly/x86-but-no-x86-target/Testx86AssemblyInspectionEngine.cpp
Log Message:
-----------
[lldb] Fix nullptr dereference on running x86 binary with x86-disabled llvm (#82603)
If `LLVM_TARGETS_TO_BUILD` does not contain `X86` and we try to run an
x86 binary in lldb, we get a `nullptr` dereference in
`LLVMDisasmInstruction(...)`. We try to call `getDisAsm()` method on a
`LLVMDisasmContext *DC` which is null. The pointer is passed from
`x86AssemblyInspectionEngine::instruction_length(...)` and is originally
`m_disasm_context` member of `x86AssemblyInspectionEngine`. This should
be filled by `LLVMCreateDisasm(...)` in the class constructor, but not
having X86 target enabled in llvm makes
`TargetRegistry::lookupTarget(...)` call return `nullptr`, which results
in `m_disasm_context` initialized with `nullptr` as well.
This patch adds if statements against `m_disasm_context` in
`x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly(...)`
and `x86AssemblyInspectionEngine::FindFirstNonPrologueInstruction(...)`
so subsequent calls to
`x86AssemblyInspectionEngine::instruction_length(...)` do not cause a
null pointer dereference.
Commit: 89071f35599ac58cde99923a376d6b75c0d49e4b
https://github.com/llvm/llvm-project/commit/89071f35599ac58cde99923a376d6b75c0d49e4b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/MultiOnDiskHashTable.h
Log Message:
-----------
[clang] Drop unaligned from calls to readNext (NFC) (#88842)
Now readNext defaults to unaligned accesses. This patch drops
unaligned to improve readability.
Commit: a169d4c2e974ceb20b86faea3fa4ac286a1d44e8
https://github.com/llvm/llvm-project/commit/a169d4c2e974ceb20b86faea3fa4ac286a1d44e8
Author: Martin Storsjö <martin at martin.st>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lld/COFF/Writer.cpp
M lld/test/COFF/autoimport-arm-data.s
M lld/test/COFF/autoimport-arm64-data.s
M lld/test/COFF/autoimport-gnu-implib.s
A lld/test/COFF/autoimport-handler-func.s
M lld/test/COFF/autoimport-warn.s
M lld/test/COFF/autoimport-x86.s
Log Message:
-----------
[LLD] [COFF] Error out if the runtime pseudo relocation function is missing (#88573)
When then linker creates runtime pseudo relocations, it places them in a
list with the assumption that the runtime will fix these relocations
later, when the image gets loaded. If the relevant runtime function
doesn't seem to be present in the linked image, error out.
Normally when linking the mingw-w64 runtime libraries, this function
always is available. However, if linking without including the mingw-w64
CRT startup files, and the image needs runtime pseudo relocations, make
it clear that this won't work as expected at runtime.
With ld.bfd, this situation is a hard error too; ld.bfd adds an
undefined reference to this symbol if runtime pseudo relocations are
needed.
A later alternative would be to actually try to pull in the symbol (if
seen in a static library, but not included yet). This would allow
decoupling the function from the main mingw-w64 CRT startup code (making
it optional, only running if the linker actually produced runtime pseudo
relocations).
Doing that would require restructuring the lld code (gathering pseudo
relocations earlier, then loading the relocator function, then pulling in
more object files to satisfy the dependencies of the relocator) though.
Also, ld.bfd doesn't currently successfully pull in more object files to
satisfy the dependency on _pei386_runtime_relocator, so with that in
mind, there's not much extra value in making LLD do it currently either;
we can't make such a change in mingw-w64's CRT until both linkers
handle it.
This fixes one issue brought up in
https://github.com/llvm/llvm-project/issues/84424.
Commit: dbaa1893c9afe6a245860efb8d68875ba4fd6794
https://github.com/llvm/llvm-project/commit/dbaa1893c9afe6a245860efb8d68875ba4fd6794
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
A llvm/test/CodeGen/RISCV/prefer-w-inst.ll
A llvm/test/CodeGen/RISCV/prefer-w-inst.mir
R llvm/test/CodeGen/RISCV/strip-w-suffix.ll
Log Message:
-----------
[RISCV] Generate more W instructons
We rename `TuneNoStripWSuffix` to `TunePreferWInst`.
If all the users of an instruction just use the low 32 bits, we can
convert it to its W variant.
A quick test on Coremark (`-O3 -march=rv64gc`):
| | W instructions | code size(.text) |
|--------|----------------|------------------|
| before | 302 | 12257 |
| after | 343 | 12265 |
| | +13.58% | +0.065% |
Reviewers: asb, dtcxzyw, preames, lukel97, michaelmaitland, topperc
Reviewed By: topperc, dtcxzyw
Pull Request: https://github.com/llvm/llvm-project/pull/87237
Commit: d26dd58ca5b59032eb371b8f51d9134acdd8d3ad
https://github.com/llvm/llvm-project/commit/d26dd58ca5b59032eb371b8f51d9134acdd8d3ad
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Modules/hashing-decls-in-exprs-from-gmf-2.cppm
Log Message:
-----------
[StmtProfile] Don't profile the body of lambda expressions
Close https://github.com/llvm/llvm-project/issues/87609
We tried to profile the body of the lambda expressions in
https://reviews.llvm.org/D153957. But as the original comments show,
it is indeed dangerous. After we tried to skip calculating the ODR
hash values recently, we have fall into this trap twice.
So in this patch, I choose to not profile the body of the lambda
expression. The signature of the lambda is still profiled.
Commit: a29e85d6626aae7dba44c66ee5b703d3ab5de41c
https://github.com/llvm/llvm-project/commit/a29e85d6626aae7dba44c66ee5b703d3ab5de41c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
Log Message:
-----------
[llvm-exegesis] Change preprocessor directives for getCurrentTID
This patch changes the preprocessor directives surrounding
getCurrentTID, particularly moving it out of the block that is only
defined when not building for Android. The getCurrentTID function is
called in places that only require Linux definitions, so this function
should have the same preprocessor scoping around it to prevent link time
failures.
Commit: d34a2c2adb2a4f1dc262c5756d3725caa4ea2571
https://github.com/llvm/llvm-project/commit/d34a2c2adb2a4f1dc262c5756d3725caa4ea2571
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Make more vector pseudos commutable
This PR includes:
* vadd.vv/vand.vv/vor.vv/vxor.vv
* vmseq.vv/vmsne.vv
* vmin.vv/vminu.vv/vmax.vv/vmaxu.vv
* vmul.vv/vmulh.vv/vmulhu.vv
* vwadd.vv/vwaddu.vv
* vwmul.vv/vwmulu
* vwmacc.vv/vwmaccu.vv
* vadc.vvm
There is no test change, I may add it later.
Fixes part of #64422
Reviewers: michaelmaitland, preames, lukel97, topperc, asb
Reviewed By: topperc, lukel97
Pull Request: https://github.com/llvm/llvm-project/pull/88379
Commit: 5b811562a520a8a3cd164897f24dee7da3115bbe
https://github.com/llvm/llvm-project/commit/5b811562a520a8a3cd164897f24dee7da3115bbe
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/libdispatch.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/serial.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/thread.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__pstl/cpu_algos/cpu_traits.h
Log Message:
-----------
[libc++] Rename __cpu_traits functions (#88741)
Functions inside __cpu_traits were needlessly prefixed with __parallel,
which doesn't serve a real purpose anymore now that they are inside a
traits class.
Commit: 66cf995da76b9da3cfdee2f29eff6ea4d84305ef
https://github.com/llvm/llvm-project/commit/66cf995da76b9da3cfdee2f29eff6ea4d84305ef
Author: Carlos Alberto Enciso <carlos.alberto.enciso at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/SCCP/pr50901.ll
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[IPSCCP] Variable not visible at Og: (#77901)
https://bugs.llvm.org/show_bug.cgi?id=51559
https://github.com/llvm/llvm-project/issues/50901
IPSCCP pass removes the global variable and does not create a constant
expression for the initializer value.
Extend test coverage to include:
- half, bfloat types.
- checks for undef (int32 and ptr).
There is no support for:
- fp128, x86_fp80, ppc_fp128 types.
https://github.com/llvm/llvm-project/issues/88102
Commit: d6d84b5d1448e4f2e24b467a0abcf42fe9d543e9
https://github.com/llvm/llvm-project/commit/d6d84b5d1448e4f2e24b467a0abcf42fe9d543e9
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/Analysis/exercise-ps.c
M clang/test/Analysis/explain-svals.cpp
A clang/test/Analysis/malloc-std-namespace.cpp
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.cpp
M clang/test/Analysis/stack-addr-ps.c
M clang/test/Analysis/stackaddrleak.c
Log Message:
-----------
[analyzer] Handle builtin functions in MallocChecker (#88416)
This commit ensures that the `CallDescription`s in `MallocChecker` are
matched with the mode `CDM::CLibrary`, so:
- they don't match methods or functions within user-defined namespaces;
- they also match builtin variants of these functions (if any), so the
checker can model `__builtin_alloca()` like `alloca()`.
This change fixes https://github.com/llvm/llvm-project/issues/81597. New
tests were added to verify that `std::malloc` and `std::free` (from
`<cstdlib>`) are modeled, but a method that's named e.g. `free` isn't
confused with the memory release function.
The responsibility for modeling `__builtin_alloca` and
`__builtin_alloca_with_align` was moved from `BuiltinFunctionChecker` to
`MallocChecker`, to avoid buggy interactions between the checkers and
ensure that the builtin and non-builtin variants are handled by exactly
the same logic.
This change might be a step backwards for the users who don't have
`unix.Malloc` enabled; but I suspect that `__builtin_alloca()` is so
rare that it would be a waste of time to implement backwards
compatibility for them.
There were several test files that relied on `__builtin_alloca()` calls
to get an `AllocaRegion`, these were modified to enable `unix.Malloc`.
One of these files (cxx-uninitialized-object-ptr-ref.cpp) had some tests
that relied on the fact that `malloc()` was treated as a "black box" in
them, these were updated to use `calloc()` (to get initialized memory)
and `free()` (to avoid memory leak reports).
While I was developing this change, I found a very suspicious assert in
`MallocChecker`. As it isn't blocking the goals of this commit, I just
marked it with a FIXME, but I'll try to investigate and fix it in a
follow-up change.
Commit: 40dd3aa91d3f73184e34e45e597b84bec059c572
https://github.com/llvm/llvm-project/commit/40dd3aa91d3f73184e34e45e597b84bec059c572
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Arith/Transforms/Transforms.h
M mlir/include/mlir/Interfaces/ValueBoundsOpInterface.h
M mlir/lib/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Affine/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Transforms/IntNarrowing.cpp
M mlir/lib/Dialect/Arith/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][Interfaces] `Variable` abstraction for `ValueBoundsOpInterface` (#87980)
This commit generalizes and cleans up the `ValueBoundsConstraintSet`
API. The API used to provide function overloads for comparing/computing
bounds of:
- index-typed SSA value
- dimension of shaped value
- affine map + operands
This commit removes all overloads. There is now a single entry point for
each `compare` variant and each `computeBound` variant. These functions
now take a `Variable`, which is internally represented as an affine map
and map operands.
This commit also adds support for computing bounds for an affine map +
operands. There was previously no public API for that.
Commit: 5a46123ddf62900d3dc73330f699c73038645198
https://github.com/llvm/llvm-project/commit/5a46123ddf62900d3dc73330f699c73038645198
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
Log Message:
-----------
Fix missing dtor in function calls accepting trivial ABI structs (#88751)
Fixes https://github.com/llvm/llvm-project/issues/88478
Promoting the `EHCleanup` to `NormalAndEHCleanup` in `EmitCallArgs`
surfaced another bug with deactivation of normal cleanups. Here we
missed emitting CPP scope ends for deactivated normal cleanups. This
patch also fixes that bug.
We missed emitting CPP scope ends because we remove the `fallthrough`
(clears the insertion point) before deactivating normal cleanups. This
is to make the emitted "normal" cleanup code unreachable. But we still
need to emit CPP scope ends in the original basic block even for a
deactivated normal cleanup.
(This worked correctly before we did not remove `fallthrough` for
`EHCleanup`s).
Commit: 9141e1c24f87e5735bc4178a018eba4bdf2750aa
https://github.com/llvm/llvm-project/commit/9141e1c24f87e5735bc4178a018eba4bdf2750aa
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/vectors.cpp
Log Message:
-----------
[clang][Interp] Gracefully handle bitcasts to non-primitive types
We were calling classfiyPrim() instead of classify().
Commit: 4fc0a99b8f220b6b41648da491bcc81a067f1600
https://github.com/llvm/llvm-project/commit/4fc0a99b8f220b6b41648da491bcc81a067f1600
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNCreateVOPD.cpp
M llvm/test/CodeGen/AMDGPU/vopd-combine.mir
Log Message:
-----------
[AMDGPU] Fix implicit operands of VOPD cndmask instructions (#87788)
Commit: f4f772ceef379bd434d266b6e0d2bbdf796f81cb
https://github.com/llvm/llvm-project/commit/f4f772ceef379bd434d266b6e0d2bbdf796f81cb
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
Log Message:
-----------
[AMDGPU] Stop reserving $vcc_hi in wave32 mode (#87783)
This gives us one extra SGPR to play with. The comment suggested that it
could cause bugs, but I have tested it with Vulkan CTS with the default
wave size for compute shaders set to 32 and did not find any problems.
Commit: 485d556d8c23b54da952e75c3cadc9db3050fd9e
https://github.com/llvm/llvm-project/commit/485d556d8c23b54da952e75c3cadc9db3050fd9e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/InterpBlock.h
Log Message:
-----------
[clang][Interp][NFC] Add Block::dump()
Commit: 80fce05f2104d1c42db814276130536b014fcca2
https://github.com/llvm/llvm-project/commit/80fce05f2104d1c42db814276130536b014fcca2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
Log Message:
-----------
[InstCombine] Fold `minmax (X & NegPow2C, Y & NegPow2C) -> minmax(X, Y) & NegPow2C` (#88859)
Alive2: https://alive2.llvm.org/ce/z/NFtkSX
This optimization will be beneficial to jemalloc users.
Commit: cce026bf8f7dcf5aa402a6da20f0d4da56aee8b5
https://github.com/llvm/llvm-project/commit/cce026bf8f7dcf5aa402a6da20f0d4da56aee8b5
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/test/lib/Dialect/Test/TestDialect.cpp
Log Message:
-----------
[mlir][test] Fix -Wsign-compare in TestDialect.cpp (NFC)
llvm-project/mlir/test/lib/Dialect/Test/TestDialect.cpp:597:31:
error: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int64_t' (aka 'long') [-Werror,-Wsign-compare]
if (getVarOperands().size() != expectedNumOperands)
~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
1 error generated.
Commit: 58b49cef1d772a922a433fd4a42e41db3f18d34b
https://github.com/llvm/llvm-project/commit/58b49cef1d772a922a433fd4a42e41db3f18d34b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/vectors.cpp
Log Message:
-----------
[clang][Interp] Support __builtin_vectorelements
Commit: 70fe6ad535365de20c3a960dcfe97bd5cf68abb5
https://github.com/llvm/llvm-project/commit/70fe6ad535365de20c3a960dcfe97bd5cf68abb5
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 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:
-----------
[MLIR][OpenMP] Make omp.distribute into a loop wrapper (#87239)
This patch updates the definition of `omp.distribute` to enforce the
restrictions of a wrapper operation.
Commit: 668a58b8926473d731c41c55007f1fe4571ada86
https://github.com/llvm/llvm-project/commit/668a58b8926473d731c41c55007f1fe4571ada86
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Runtime/extensions.h
M flang/runtime/extensions.cpp
A flang/unittests/Runtime/AccessTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Add ACCESS library procedure (#88517)
Re-land https://github.com/llvm/llvm-project/pull/88395
Two build-bots were broken by the old version:
- https://lab.llvm.org/buildbot/#/builders/285/builds/245
- https://lab.llvm.org/buildbot/#/builders/21/builds/96988
The problem in both cases was that the compiler did not support
`std::filesystem` (which I use in the unit test).
I have removed the dependency upon std::filesystem because there isn't
an easy way to add the right linker options so that this is supported
correctly in all build environments [1]
[1] https://gitlab.kitware.com/cmake/cmake/-/issues/17834
---
This is a GNU extension:
https://gcc.gnu.org/onlinedocs/gfortran/ACCESS.html
Used in SALMON:
https://salmon-tddft.jp/download.html
Unfortunately the intrinsic takes a file path to operate on so there
isn't an easy way to make the test robust. The unit test expects to be
able to create, set read write and execute permissions, and delete files
called
std::filesystem::temp_directory_path() / <test_name>.<pid>
The test will fail if a file already exists with that name.
I have not implemented the intrinsic on Windows because this is wrapping
a POSIX system call and Windows doesn't support all of the permission
bits tested by the intrinsic. I don't have a Windows machine easily
available to check if Gfortran implements this intrinsic on Windows.
Commit: 76782e28869abf93716f72f195d55c28eaf263ed
https://github.com/llvm/llvm-project/commit/76782e28869abf93716f72f195d55c28eaf263ed
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] NFC: Remove old reduction lowering code (#88798)
The old code was replaced by
https://github.com/llvm/llvm-project/pull/80019.
Commit: 61717c1aa1f08eb57839a21fb2d9004739022e0d
https://github.com/llvm/llvm-project/commit/61717c1aa1f08eb57839a21fb2d9004739022e0d
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/vastart.ll
M llvm/test/Other/lint.ll
A llvm/test/Verifier/variadic.ll
Log Message:
-----------
[Verifier] Reject va_start in non-variadic function (#88809)
A va_start intrinsic lowers to something derived from the variadic
parameter to the function. If there is no such parameter, it can't lower
meaningfully. Clang sema rejects the same with `error: 'va_start' used
in function with fixed args`.
Moves the existing lint warning into a verifier error. Updates the one
lit test that had a va_start in a non-variadic function.
Commit: 1ca6b4475c02e5d022ec6b35dbb65d0f11409a88
https://github.com/llvm/llvm-project/commit/1ca6b4475c02e5d022ec6b35dbb65d0f11409a88
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
Log Message:
-----------
[mlir][scf] `scf.while` uplifting: optimize op matching (#88813)
Instead of iterating over potential induction var uses looking for
suitable `arith.addi`, try to trace it back from yield argument.
Commit: aae08f4f8ef7bc9c35d263ed974679130c49f5fc
https://github.com/llvm/llvm-project/commit/aae08f4f8ef7bc9c35d263ed974679130c49f5fc
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
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:
-----------
[MLIR][OpenMP] Make omp.taskloop into a loop wrapper (#87253)
This patch updates the definition of `omp.taskloop` to enforce the
restrictions of a wrapper operation.
Commit: ca4cf973279a3991248056a73bcb2bac8b37d035
https://github.com/llvm/llvm-project/commit/ca4cf973279a3991248056a73bcb2bac8b37d035
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.h
Log Message:
-----------
[clang][Interp][NFC] Fix Pointer::isZero() for block pointers
We don't need to consider the offset here anymore since we now
have proper integral pointers.
Commit: 422bf13f336923da89055f8e70e49e7e9ced2c70
https://github.com/llvm/llvm-project/commit/422bf13f336923da89055f8e70e49e7e9ced2c70
Author: choikwa <5455710+choikwa at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/AMDGPU/build_vector.ll
Log Message:
-----------
[AMDGPU] In VectorLegalizer::Expand, if UnrollVectorOp returns Load, … (#88475)
…return only Load since other output is chain.
Added testcase that showed mismatched expected arity when Load and chain
were returned as separate items after
003b58f65bdd5d9c7d0c1b355566c9ef430c0e7d
Commit: 4dd5180a2d43b088d7637c30c2654f3c01c46987
https://github.com/llvm/llvm-project/commit/4dd5180a2d43b088d7637c30c2654f3c01c46987
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/target.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
Log Message:
-----------
[Flang][OpenMP][Lower] Split MLIR codegen for clauses and constructs (#86963)
This patch performs several cleanups with the main purpose of
normalizing the code patterns used to trigger codegen for MLIR OpenMP
operations and making the processing of clauses and constructs
independent. The following changes are made:
- Clean up unused `directive` argument to
`ClauseProcessor::processMap()`.
- Move general helper functions in OpenMP.cpp to the appropriate section
of the file.
- Create `gen<OpName>Clauses()` functions containing the clause
processing code specific for the associated OpenMP construct.
- Update `gen<OpName>Op()` functions to call the corresponding
`gen<OpName>Clauses()` function.
- Sort calls to `ClauseProcessor::process<ClauseName>()` alphabetically,
to avoid inadvertently relying on some arbitrary order. Update some
tests that broke due to the order change.
- Normalize `genOMP()` functions so they all delegate the generation of
MLIR to `gen<OpName>Op()` functions following the same pattern.
- Only process `nowait` clause on `TARGET` constructs if not compiling
for the target device.
A later patch can move the calls to `gen<OpName>Clauses()` out of
`gen<OpName>Op()` functions and passing completed clause structures
instead, in preparation to supporting composite constructs. That will
make it possible to reuse clause processing for a given leaf construct
when appearing alone or in a combined or composite construct, while
controlling where the associated code is produced.
Commit: 31424be3aef4290dd84065b9371fcd0c5014e097
https://github.com/llvm/llvm-project/commit/31424be3aef4290dd84065b9371fcd0c5014e097
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Compare std::optionals directly
Commit: a831c54357c2bb7b8b457ccea22836c23e8b8625
https://github.com/llvm/llvm-project/commit/a831c54357c2bb7b8b457ccea22836c23e8b8625
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Avoid calling invalid functions
Check if the non-null function pointer is even valid before calling
the function.
Commit: b0194d2894db49d7cf4d36aed87952c3e0c6a390
https://github.com/llvm/llvm-project/commit/b0194d2894db49d7cf4d36aed87952c3e0c6a390
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/windows-seh-async-verify.cpp
Log Message:
-----------
[SEH] Ignore async exception flag when the environment is not MSVC (#88101)
Fixes #62449
Commit: f4960da6023b8034ae68925c3223d51624621b37
https://github.com/llvm/llvm-project/commit/f4960da6023b8034ae68925c3223d51624621b37
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/vastart.ll
M llvm/test/Other/lint.ll
R llvm/test/Verifier/variadic.ll
Log Message:
-----------
Revert "[Verifier] Reject va_start in non-variadic function (#88809)"
This reverts commit 61717c1aa1f08eb57839a21fb2d9004739022e0d. Failed a MLIR test
Commit: 01f79899ba349a0200586c8d05f5e22cca2ced31
https://github.com/llvm/llvm-project/commit/01f79899ba349a0200586c8d05f5e22cca2ced31
Author: Jinyang He <hejinyang at loongson.cn>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lld/ELF/InputSection.cpp
A lld/test/ELF/loongarch-relax-align-ldr.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
M llvm/test/MC/LoongArch/Relocations/relax-align.s
Log Message:
-----------
[LoongArch] Use R_LARCH_ALIGN with section symbol (#84741)
In LoongArch psABI v2.30, the R_LARCH_ALIGN requires symbol index to
support the third parameter of alignment directive. Create symbol for
each section is redundant because they have section symbol which can
also be used as symbol index. So use section symbol directly for
R_LARCH_ALIGN.
Commit: c09384e2b419c7b4e4167e0d0295d9018cc6169c
https://github.com/llvm/llvm-project/commit/c09384e2b419c7b4e4167e0d0295d9018cc6169c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Support MemberExprs pointing to VarDecls
Commit: 1120d8e6f799121b611aa23bdc128e40cf9c6c58
https://github.com/llvm/llvm-project/commit/1120d8e6f799121b611aa23bdc128e40cf9c6c58
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
M clang/test/CodeGen/target-data.c
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
Log Message:
-----------
[clang][CodeGen] Add AS for Globals to SPIR & SPIRV datalayouts (#88455)
Currently neither the SPIR nor the SPIRV targets specify the AS for
globals in their datalayout strings. This is problematic because
CodeGen/LLVM will default to AS0 in this case, which produces Globals
that end up in the private address space for e.g. OCL, HIPSPV or SYCL.
This patch addresses it by completing the datalayout string.
Commit: 36b3c26451bf9a42f0b6b415993d3942bb73abdd
https://github.com/llvm/llvm-project/commit/36b3c26451bf9a42f0b6b415993d3942bb73abdd
Author: XChy <xxs_chy at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/CodeGen/AArch64/and-sink.ll
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
M llvm/test/CodeGen/Hexagon/vect/zext-v4i1.ll
M llvm/test/Transforms/JumpThreading/pr79175.ll
M llvm/test/Transforms/JumpThreading/select.ll
M llvm/test/Transforms/JumpThreading/thread-prob-7.ll
A llvm/test/Transforms/JumpThreading/uncond-no-phi.ll
A llvm/test/Transforms/PhaseOrdering/thread-uncond-bb.ll
Log Message:
-----------
[JumpThreading] Thread over BB with only an unconditional branch (#86312)
Fixes #76609
This patch does:
- relax the phis constraint in `CanRedirectPredsOfEmptyBBToSucc`
- guarantee the BB has multiple different predecessors to redirect, so
that we can handle the case without phis in BB. Without this change and
phi constraint, we may redirect the CommonPred.
The motivation is consistent with JumpThreading. We always want the
branch to jump more direct to the destination, without passing the
middle block. In this way, we can expose more other optimization
opportunities.
An obivous example proposed by @dtcxzyw is like:
```llvm
define i32 @test(...) {
entry:
br i1 %c, label %do.end, label %if.then
if.then: ; preds = %entry
%call2 = call i32 @dummy()
%tobool3.not = icmp eq i32 %call2, 0
br i1 %tobool3.not, label %do.end, label %return
do.end: ; preds = %entry, %if.then
br label %return
return: ; preds = %if.then, %do.end
%retval.0 = phi i32 [ 0, %do.end ], [ %call2, %if.then ]
ret i32 %retval.0
}
```
`entry` can directly jump to return, without passing `do.end`, and then
the if-else pattern can be simplified further:
```llvm
define i32 @test(...) {
entry:
br i1 %c, label %return, label %if.then
if.then: ; preds = %entry
%call2 = call i32 @dummy()
br label %return
return: ; preds = %if.then
%retval.0 = phi i32 [ 0, %entry ], [ %call2, %if.then ]
ret i32 %retval.0
}
```
Commit: 32b74ca6e41768c91eee8b8ca26235b110a65deb
https://github.com/llvm/llvm-project/commit/32b74ca6e41768c91eee8b8ca26235b110a65deb
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/cxx03.cpp
Log Message:
-----------
[clang][Interp] Load value from MemberExpr if required
Commit: 92e96c7bbacbb477265c7e5ff6c49a6de5d4ee69
https://github.com/llvm/llvm-project/commit/92e96c7bbacbb477265c7e5ff6c49a6de5d4ee69
Author: Malay Sanghi <malay.sanghi at intel.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
M llvm/lib/Target/PowerPC/GISel/PPCRegisterBankInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVRegisterBankInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.h
M llvm/test/CodeGen/X86/GlobalISel/fconstant.ll
A llvm/test/CodeGen/X86/GlobalISel/regbankselect-sse-intrinsics.ll
M llvm/test/CodeGen/X86/GlobalISel/regbankselect-x87.ll
Log Message:
-----------
[X86][GISel] Add DU chain lookups for LOAD & STORE (#87453)
For G_LOAD and G_STORE we want this information during regbankselect.
Today we treat load dest as integer and insert converts.
---------
Co-authored-by: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Commit: ac6b4c618a52c62cef9b143a767991dbba7453e1
https://github.com/llvm/llvm-project/commit/ac6b4c618a52c62cef9b143a767991dbba7453e1
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/vastart.ll
M llvm/test/Other/lint.ll
A llvm/test/Verifier/variadic.ll
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
Log Message:
-----------
Reapply "[Verifier] Reject va_start in non-variadic function (#88809)"
This reverts commit f4960da6023b8034ae68925c3223d51624621b37.
Includes a fix for the MLIR test case.
Commit: 09e7d7585cf881fb598eb56738579b84d027318c
https://github.com/llvm/llvm-project/commit/09e7d7585cf881fb598eb56738579b84d027318c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/State.cpp
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Don't add 'in call to' diagnostics for builtin frames
Commit: a8de3ee8994023ea7669397587f8118ae5bba9c9
https://github.com/llvm/llvm-project/commit/a8de3ee8994023ea7669397587f8118ae5bba9c9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Disasm.cpp
Log Message:
-----------
[clang][Interp][NFC] Fix some build warnings
Fixes:
/buildbot/worker/arc-folder/llvm-project/clang/lib/AST/Interp/Disasm.cpp:143:25: warning: cast from type 'const clang::interp::Block*' to type 'void*' casts away qualifiers [-Wcast-qual]
/buildbot/worker/arc-folder/llvm-project/clang/lib/AST/Interp/Disasm.cpp:271:23: warning: cast from type 'const clang::interp::Block*' to type 'void*' casts away qualifiers [-Wcast-qual]
Commit: c18a3b6bd30456305cf1b3d78ad5a805577388c1
https://github.com/llvm/llvm-project/commit/c18a3b6bd30456305cf1b3d78ad5a805577388c1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_i4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[DAG] Fold extract_subvector(insert_subvector(x,y,c1),c2) --> extract_subvector(y,c2-c1) (#87925) (REAPPLIED)
If the extract_subvector is cheap, attempt to extract directly from an inserted subvector
Reapplied with a check to ensure we only attempt this for fixed vectors
Commit: 71b9f6648222771470473431bc8ef2a2c25e872c
https://github.com/llvm/llvm-project/commit/71b9f6648222771470473431bc8ef2a2c25e872c
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Index/USRGeneration.cpp
M clang/test/Index/USR/func-type.cpp
Log Message:
-----------
[clang][Index] Use canonical function parameter types in USRs (#68222)
This is necessary to ensure that functions declared in different
translation units whose parameter types only differ in top-level
cv-qualification generate the same USR.
For example:
```
// A.cpp
void f(const int x); // c:@F at f#1I#
// B.cpp
void f(int x); // c:@F at f#I#
```
With this patch, the USR for both functions will be
`c:@F at f#I#`.
Commit: dadcaf82274805456b7d85131cf94f921b5398b7
https://github.com/llvm/llvm-project/commit/dadcaf82274805456b7d85131cf94f921b5398b7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/test/Dialect/ArmSME/vector-legalization.mlir
Log Message:
-----------
[mlir][ArmSME] Support decomposing constant splats into ArmSME tiles (#88762)
This adds a simple rewrite/legalization to decompose constant splats
larger than a single ArmSME tile into multiple SME virtual tile sized
splats. E.g. a constant splat to `vector<[8]x[8]xi32>` would decompose
into four `vector<[4]x[4]xi32>` splats.
Commit: 711df7b0ae4a9ea45e431d5c0ff4a0c8b2e732c1
https://github.com/llvm/llvm-project/commit/711df7b0ae4a9ea45e431d5c0ff4a0c8b2e732c1
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[vector][mlir] Restrict vector.shuffle to fixed-width vectors (#88733)
At the moment there is no support for vector.shuffle for scalable
vectors - various hooks/helpers related to `vector.shuffle` simply
ignore the scalable flags (e.g. ` ShuffleOp::inferReturnTypes`).
This is unlikely to change any time soon (vector shuffles are known to
be tricky for scalable vectors), hence this patch restricts
`vector.shuffle` to fixed width vectors.
Commit: 75244a1043d2be5003dea6914d5edc940c437cd5
https://github.com/llvm/llvm-project/commit/75244a1043d2be5003dea6914d5edc940c437cd5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
A clang/test/AST/Interp/builtin-align-cxx.cpp
Log Message:
-----------
[clang][Interp] Implement align builtins
__builtin_is_aligned
__builtin_is_align_up
__builtin_is_align_down
Commit: 91dd844aa499d69c7ff75bf3156e2e3593a88057
https://github.com/llvm/llvm-project/commit/91dd844aa499d69c7ff75bf3156e2e3593a88057
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
Log Message:
-----------
Recommit [RISCV] RISCV vector calling convention (2/2) (#79096) (#87736)
Bug fix: Handle RVV return type in calling convention correctly.
Return values are handled in a same way as function arguments.
One thing to mention is that if a type can be broken down into
homogeneous
vector types, e.g. {<vscale x 4 x i32>, {<vscale x 4 x i32>, <vscale x 4
x i32>}},
it is considered as a vector tuple type and need to be handled by tuple
type rule.
Commit: ac1f2de7b581c26a768c4d2a2aad36505cc63c31
https://github.com/llvm/llvm-project/commit/ac1f2de7b581c26a768c4d2a2aad36505cc63c31
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/docs/Interfaces.md
Log Message:
-----------
[MLIR][docs] Mention declarePromisedInterface in Interfaces doc (#88689)
Co-authored-by: Frederik Harwath <fharwath at amd.com>
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 1c076b43c294c7d29d99dd50f6853b33a5b99789
https://github.com/llvm/llvm-project/commit/1c076b43c294c7d29d99dd50f6853b33a5b99789
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
A mlir/test/Integration/Dialect/Tosa/CPU/test-maxpool-dynamic.mlir
Log Message:
-----------
[mlir][tosa] Implement dynamic shape support for tosa.max_pool2d lowering (#87538)
The existing lowering for tosa.max_pool2d only supports dynamic
dimensions when the dynamic dimension is the batch dimension. This
change updates the lowering to support arbitrary dynamic dimensions on
the inputs and outputs of the tosa.max_pool2d operation.
This change also fixes a bug in the implementation of implicit
broadcasting in the tosa-to-linalg pass, which was introducing uses of
constant ops that violated dominance requirements.
Commit: d4602a96b48b00a50c4d891673fc622ca2e37f0a
https://github.com/llvm/llvm-project/commit/d4602a96b48b00a50c4d891673fc622ca2e37f0a
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] port fe48bf672e1ab2
Commit: c309dc6d0759b23b570c563f611530ff1a49e1bd
https://github.com/llvm/llvm-project/commit/c309dc6d0759b23b570c563f611530ff1a49e1bd
Author: mahtohappy <Happy.Kumar at Windriver.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
A clang/test/SemaCXX/instantiate-new-placement-size.cpp
Log Message:
-----------
[Clang][Sema] placement new initializes typedef array with correct size (#83124)
When in-place new-ing a local variable of an array of trivial type, the
generated code calls 'memset' with the correct size of the array,
earlier it was generating size (squared of the typedef array + size).
The cause: `typedef TYPE TArray[8]; TArray x;` The type of declarator is
Tarray[8] and in `SemaExprCXX.cpp::BuildCXXNew` we check if it's of
typedef and of constant size then we get the original type and it works
fine for non-dependent cases.
But in case of template we do `TreeTransform.h:TransformCXXNEWExpr` and
there we again check the allocated type which is TArray[8] and it stays
that way, so ArraySize=(Tarray[8] type, alloc Tarray[8*type]) so the
squared size allocation.
ArraySize gets calculated earlier in `TreeTransform.h` so that
`if(!ArraySize)` condition was failing.
fix: I changed that condition to `if(ArraySize)`.
Fixes #41441
Commit: 34013e7ce25868aa8ddea116f79184e8603af56c
https://github.com/llvm/llvm-project/commit/34013e7ce25868aa8ddea116f79184e8603af56c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
Log Message:
-----------
[X86] Add shuffle tests for BLEND(PERMUTE(X),PERMUTE(Y)) patterns
Some very basic tests for a case where we could fold BLEND(PERMUTE(X),PERMUTE(Y)) -> PERMUTE(BLEND(X,Y))
These assume the permute masks are the same, and "complete" (no undefs/duplicate elements) but we could relax that depending on the blend mask
Commit: b73476c7843f21966acb2fb5cab8515d9ec02905
https://github.com/llvm/llvm-project/commit/b73476c7843f21966acb2fb5cab8515d9ec02905
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/trunc-store-value-ty-not-power-of-2.ll
Log Message:
-----------
[SLP] Make sure MinVF is a power-of-2 by using PowerOf2Ceil.
This should ensure we explore the same VFs as before 6d66db3890a18e39.
Fixes https://github.com/llvm/llvm-project/issues/88640.
Commit: e272c37934a06cd80b9b072afc09afae5fd8c218
https://github.com/llvm/llvm-project/commit/e272c37934a06cd80b9b072afc09afae5fd8c218
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/Driver/windows-seh-async-verify.cpp
Log Message:
-----------
clang; Try to get windows-seh-async-verify.cpp to pass on mac
On macOS, file paths start with /Users/..., which clang-cl interptrets
as the /U switch followed by a preprocessor macro name to undefine.
Put the filename after `--` to prevent this. For consistency, move %s
to the end of the regular `clang` lines (where this isn't needed) as
well.
Commit: f69ded0d9965a6b2b76ce12db876c70f249d96d1
https://github.com/llvm/llvm-project/commit/f69ded0d9965a6b2b76ce12db876c70f249d96d1
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang] Introduce `SemaOpenMP` (#88642)
This patch moves OpenMP-related entities out of `Sema` to a newly
created `SemaOpenMP` class. This is a part of the effort to split `Sema`
up, and follows the recent example of CUDA, OpenACC, SYCL, HLSL.
Additional context can be found in
https://github.com/llvm/llvm-project/pull/82217,
https://github.com/llvm/llvm-project/pull/84184,
https://github.com/llvm/llvm-project/pull/87634.
Commit: 9e7aab951ffba0211193ceb435c6b49e4e19ac24
https://github.com/llvm/llvm-project/commit/9e7aab951ffba0211193ceb435c6b49e4e19ac24
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
Log Message:
-----------
[CUDA] Rename SM_32 to SM_32_ to work around AIX headers (#88779)
Summary:
AIX headers define this, so we need to work around it. In the future
this will be removed but for now we should just rename it to avoid these
issues.
Commit: e7fb49c24e4be4780ee4df9829980c5e8ddd511e
https://github.com/llvm/llvm-project/commit/e7fb49c24e4be4780ee4df9829980c5e8ddd511e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Switch release notes links to using markup for github issues; NFC
Commit: 9d8be2408768912dc113a342050049231e4fc8d1
https://github.com/llvm/llvm-project/commit/9d8be2408768912dc113a342050049231e4fc8d1
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGCleanup.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
R clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
R clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
Log Message:
-----------
Revert "[codegen] Emit missing cleanups for stmt-expr and coro suspensions" and related commits (#88884)
The original change caused widespread breakages in msan/ubsan tests and
causes `use-after-free`. Most likely we are adding more cleanups than
necessary.
Commit: 9ce74d6d470437cde82e91631395322ec1c36eeb
https://github.com/llvm/llvm-project/commit/9ce74d6d470437cde82e91631395322ec1c36eeb
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
Log Message:
-----------
[AMDGPU][CodeGen] Improve handling of memcpy for -Os/-Oz compilations (#87632)
We had some instances when LLVM would not inline fixed-count memcpy and
ended up
attempting to lower it a a libcall, which would not work on AMDGPU as
the
address space doesn't meet the requirement, causing compiler crash.
The patch relaxes the threshold used for -Os/-Oz compilation so we're
always allowed
to inline memory copy functions.
This patch basically does the same thing as
https://reviews.llvm.org/D158226 for
AMDGPU.
Fix #88497.
Commit: 6ab5927238395798c2e8b657bb59a0304046099d
https://github.com/llvm/llvm-project/commit/6ab5927238395798c2e8b657bb59a0304046099d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/smax-unsigned-operand.ll
Log Message:
-----------
[SLP][NFC]Add a test with the incorrect vectorization of smax with unsigned arg.
Commit: 26ebe16d78b22329d602db0398ce163ad610b0dc
https://github.com/llvm/llvm-project/commit/26ebe16d78b22329d602db0398ce163ad610b0dc
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/smax-unsigned-operand.ll
Log Message:
-----------
[SLP]Fix PR88834: check if unsigned arg can be trunced, being used in smax/smin intrinsics.
Need to check that unsigned argument can be safely used in smax/smin
intrinsics by checking if at least single sign bit is cleared, otherwise
its value may be treated as negative instead of positive.
Commit: e185978321db4500d72fb1186476ee4104c5928b
https://github.com/llvm/llvm-project/commit/e185978321db4500d72fb1186476ee4104c5928b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
Log Message:
-----------
[VectorCombine][X86] Regenerate shuffle.ll + shuffle-of-casts.ll
Use v4 of UTC to improve regex matching of argument names to fix a filecheck matching in a future patch
Commit: e84b2fb48df882ee1f49bbbca29d44fba22192a8
https://github.com/llvm/llvm-project/commit/e84b2fb48df882ee1f49bbbca29d44fba22192a8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
Log Message:
-----------
[LV][NFCI]Use integer for cost/trip count calculations instead of double, fix possible UB.
Using fp type in the compiler is not the best idea, here it used with
the comparison for equal to 0 and may cause undefined behavior in some
cases.
Reviewers: fhahn
Reviewed By: fhahn
Pull Request: https://github.com/llvm/llvm-project/pull/87241
Commit: 254df2e35c14414564d233902b25305ed17d251c
https://github.com/llvm/llvm-project/commit/254df2e35c14414564d233902b25305ed17d251c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle.ll
Log Message:
-----------
[VectorCombine][X86] shuffle-of-binops.ll - split off foldShuffleOfBinops tests from shuffle.ll
Commit: 6133878227efc30355c02c2f089e06ce58231a3d
https://github.com/llvm/llvm-project/commit/6133878227efc30355c02c2f089e06ce58231a3d
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Sema/SemaOpenACC.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/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-self-clause.c
A clang/test/SemaOpenACC/compute-construct-self-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement `self` clause for compute constructs (#88760)
`self` clauses on compute constructs take an optional condition
expression. We again limit the implementation to ONLY compute constructs
to ensure we get all the rules correct for others. However, this one
will be particularly complicated, as it takes a `var-list` for `update`,
so when we get to that construct/clause combination, we need to do that
as well.
This patch also furthers uses of the `OpenACCClauses.def` as it became
useful while implementing this (as well as some other minor refactors as
I went through).
Finally, `self` and `if` clauses have an interaction with each other, if
an `if` clause evaluates to `true`, the `self` clause has no effect.
While this is intended and can be used 'meaningfully', we are warning on
this with a very granular warning, so that this edge case will be
noticed by newer users, but can be disabled trivially.
Commit: ac791888bbbe58651e597cf7a4b2276424b77a92
https://github.com/llvm/llvm-project/commit/ac791888bbbe58651e597cf7a4b2276424b77a92
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 1c076b43c294c7d29d99dd50f6853b33a5b99789
Commit: a0f8191af3945482f0f7a7c8f030e8c519a795b7
https://github.com/llvm/llvm-project/commit/a0f8191af3945482f0f7a7c8f030e8c519a795b7
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Give built bytecode objects a .bc extension. NFC
Commit: 3d118f92081ea0c7048749dc5d08c8e8217be4eb
https://github.com/llvm/llvm-project/commit/3d118f92081ea0c7048749dc5d08c8e8217be4eb
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Fix dependencies between targets
We need file-level - not target-level - dependencies for these custom
commands to re-trigger when their dependencies change.
Commit: 60de56c743c414240b293a8b8ee10bc2129d7e10
https://github.com/llvm/llvm-project/commit/60de56c743c414240b293a8b8ee10bc2129d7e10
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.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/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Restore isKnownNonZero parameter order. (#88873)
Prior to #85863, the required parameters of llvm::isKnownNonZero were
Value and DataLayout. After, they are Value, Depth, and SimplifyQuery,
where SimplifyQuery is implicitly constructible from DataLayout. The
change to move Depth before SimplifyQuery needed callers to be updated
unnecessarily, and as commented in #85863, we actually want Depth to be
after SimplifyQuery anyway so that it can be defaulted and the caller
does not need to specify it.
Commit: 5a34ff12b8f4a73f5dcd4be1b2575dc38cf13bee
https://github.com/llvm/llvm-project/commit/5a34ff12b8f4a73f5dcd4be1b2575dc38cf13bee
Author: Jeremy Kun <jkun at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
Log Message:
-----------
fix Polynomial.td doc filename (#88900)
Not sure how best to test this, but I think it fixes the error
https://github.com/llvm/mlir-www/actions/runs/8699908058/job/23859264085#step:7:1111
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Co-authored-by: Jacques Pienaar <jpienaar at google.com>
Commit: b63247627c9e87e898dec5bf0bea255b3f0eec5c
https://github.com/llvm/llvm-project/commit/b63247627c9e87e898dec5bf0bea255b3f0eec5c
Author: Ding Fei <fding at feysh.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/Sema/recover-expr-gh88008-nocrash.c
Log Message:
-----------
[AST][RecoveryExpr] Fix a crash on c89/c90 invalid InitListExpr (#88008) (#88014)
Use refactored `CheckForConstantInitializer()` to skip checking expr
with error.
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: d2d4a1bbdc455a30d600743eb59fb1c69205967a
https://github.com/llvm/llvm-project/commit/d2d4a1bbdc455a30d600743eb59fb1c69205967a
Author: XChy <xxs_chy at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/CodeGen/AArch64/and-sink.ll
M llvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
M llvm/test/CodeGen/Hexagon/vect/zext-v4i1.ll
M llvm/test/Transforms/JumpThreading/pr79175.ll
M llvm/test/Transforms/JumpThreading/select.ll
M llvm/test/Transforms/JumpThreading/thread-prob-7.ll
R llvm/test/Transforms/JumpThreading/uncond-no-phi.ll
R llvm/test/Transforms/PhaseOrdering/thread-uncond-bb.ll
Log Message:
-----------
Revert "[JumpThreading] Thread over BB with only an unconditional branch" (#88907)
Reverts llvm/llvm-project#86312
Commit: 22629bb22a1bea95eebfc9b3171005de107c38f1
https://github.com/llvm/llvm-project/commit/22629bb22a1bea95eebfc9b3171005de107c38f1
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/include/__availability
M libcxx/include/__config
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__functional/function.h
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/CMakeLists.txt
A libcxx/src/expected.cpp
M libcxx/src/functional.cpp
Log Message:
-----------
[libc++] Use availability to rely on key functions for bad_expected_access and bad_function_call (#87390)
This patch uses our availability machinery to allow defining a key
function for bad_function_call and bad_expected_access at all times but
only rely on it when we can. This prevents compilers from complaining
about weak vtables and reduces code bloat and the amount of work done by
the dynamic linker.
rdar://111917845
Commit: 9ddedf07ed80076e0e419940753aeaaf719a09ec
https://github.com/llvm/llvm-project/commit/9ddedf07ed80076e0e419940753aeaaf719a09ec
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/.clang-format
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__config
M libcxx/include/barrier
M libcxx/include/latch
M libcxx/include/semaphore
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.barrier/completion.pass.cpp
M libcxx/test/std/thread/thread.barrier/ctor.compile.pass.cpp
M libcxx/test/std/thread/thread.barrier/max.pass.cpp
M libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.latch/count_down.pass.cpp
M libcxx/test/std/thread/thread.latch/ctor.pass.cpp
M libcxx/test/std/thread/thread.latch/max.pass.cpp
M libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
M libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
M libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
M libcxx/test/std/thread/thread.semaphore/ctor.compile.pass.cpp
M libcxx/test/std/thread/thread.semaphore/max.pass.cpp
M libcxx/test/std/thread/thread.semaphore/release.pass.cpp
M libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
M libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
Log Message:
-----------
[libc++] Deprecate the C++20 synchronization library before C++20 (#86410)
When we initially implemented the C++20 synchronization library, we
reluctantly accepted for the implementation to be backported to C++03
upon request from the person who provided the patch. This was when we
were only starting to have experience with the issues this can create,
so we flinched. Nowadays, we have a much stricter stance about not
backporting features to previous standards.
We have recently started fixing several bugs (and near bugs) in our
implementation of the synchronization library. A recurring theme during
these reviews has been how difficult to understand the current code is,
and upon inspection it becomes clear that being able to use a few recent
C++ features (in particular lambdas) would help a great deal. The code
would still be pretty intricate, but it would be a lot easier to reason
about the flow of callbacks through things like
__thread_poll_with_backoff.
As a result, this patch deprecates support for the synchronization
library before C++20. In the next release, we can remove that support
entirely.
Commit: bd28889732e14ac6baca686c3ec99a82fc9cd89d
https://github.com/llvm/llvm-project/commit/bd28889732e14ac6baca686c3ec99a82fc9cd89d
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add coverage for strength reduction of mul 2^N +/- 3/5/9
Commit: 1334c034a73b7bf8a7af08be1c33d24a58127c47
https://github.com/llvm/llvm-project/commit/1334c034a73b7bf8a7af08be1c33d24a58127c47
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/test/Semantics/OpenMP/clause-validity01.f90
Log Message:
-----------
[flang] Fix test after 4078afc6d23e25df6baedad61b224ef86a94d42f
This tests requires the OpenMP runtime to be present, but the way that
the lit config detects it fails when "openmp" is added to RUNTIMES
instead of PROJECTS. This caused the tests to be skipped as unsupported
in local and upstream tests.
The actual bug was a missing word in the message, and putting the check
at the wrong line.
Commit: bf1ad1d267b1f911cb9846403d2c3d3250a40870
https://github.com/llvm/llvm-project/commit/bf1ad1d267b1f911cb9846403d2c3d3250a40870
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[VectorCombine][X86] Add initial shuffle-of-shuffles.ll test cover for #88743
Commit: f8e2ec13a8c6d33cb7b4f37869b4429ddcf43f01
https://github.com/llvm/llvm-project/commit/f8e2ec13a8c6d33cb7b4f37869b4429ddcf43f01
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
R lldb/test/API/functionalities/libsanitizers/util.py
Log Message:
-----------
Revert "Add asan tests for libsanitizers. (#88349)"
This reverts commit 82f479ba315a417b6cd01a8c2efdc15c26689f2e due to bot breakage.
Commit: 8cee94e989b5bf6fb6455087d48eb6c6e0e23c54
https://github.com/llvm/llvm-project/commit/8cee94e989b5bf6fb6455087d48eb6c6e0e23c54
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Fix obvious copy paste error.
CASE_VFMA_OPCODE_VV and CASE_VFMA_CHANGE_OPCODE_VV need to match up if we are
are to avoid "Unexpected opcode" errors, but in CASE_VFMA_CHANGE_OPCODE_VV,
CASE_VFMA_CHANGE_OPCODE_LMULS_MF2 had mistakenly been used instead of
CASE_VFMA_CHANGE_OPCODE_LMULS_MF4.
Commit: 51b42b762112f2e77d032efd16fa0d9d31cde494
https://github.com/llvm/llvm-project/commit/51b42b762112f2e77d032efd16fa0d9d31cde494
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/AST/ast-dump-attr-json.cpp
M clang/test/Sema/alias-unused-win.cpp
M clang/test/Sema/alias-unused.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
Revert "[Sema] Mark alias/ifunc targets used and consider mangled names" (#88919)
Reverts llvm/llvm-project#87130
Bot is broken with clang crash:
https://lab.llvm.org/buildbot/#/builders/272/builds/14063/steps/6/logs/stdio
Commit: 9d111286322ec99b32467eef3aeec6b588c49f18
https://github.com/llvm/llvm-project/commit/9d111286322ec99b32467eef3aeec6b588c49f18
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Improve clarity of CMake foreach. NFC.
Should be a bit easier to read.
Commit: 2704ebaf2885a16155ab7144f8dd0dd459d77089
https://github.com/llvm/llvm-project/commit/2704ebaf2885a16155ab7144f8dd0dd459d77089
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/lib/Decimal/CMakeLists.txt
M flang/runtime/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Create CUDA PTX OBJECT library target for F18 runtime CUDA build. (#88821)
This is to experiment with distributing F18 runtime CUDA library
in the form of a pure PTX library. The change is under
FLANG_EXPERIMENTAL_CUDA_RUNTIME CMake control.
Commit: a79783d7ad00c4c10c30f637f4bf13551e47f3dd
https://github.com/llvm/llvm-project/commit/a79783d7ad00c4c10c30f637f4bf13551e47f3dd
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libc/src/fenv/fegetexceptflag.h
M libc/src/fenv/fesetexceptflag.h
M libc/src/fenv/feupdateenv.cpp
Log Message:
-----------
[libc][fenv] Use proxy header (#88787)
Include types `fexcept_t` and `fenv_t ` from corresponding proxy
headers, as they are available since
https://github.com/llvm/llvm-project/pull/88467.
Commit: 38895e6578f7728cfb3d41d0880a0e9b358d9afd
https://github.com/llvm/llvm-project/commit/38895e6578f7728cfb3d41d0880a0e9b358d9afd
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libc/src/fenv/CMakeLists.txt
Log Message:
-----------
[libc][fenv] Remove unnecessary dependencies (#88788)
Remove the fenv macro dependency from the CMake files as the underlying targets
do not make use of it. Note that we do not have to worry about
[corresponding Bazel targets](https://github.com/llvm/llvm-project/blob/main/utils/bazel/llvm-project-overlay/libc/BUILD.bazel#L1138-L1288),
as they look good.
Commit: 1c6b0f779f66494cb597884c1a52e377bde4bc54
https://github.com/llvm/llvm-project/commit/1c6b0f779f66494cb597884c1a52e377bde4bc54
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachineDebugify.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables-x.mir
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.ll
M llvm/test/CodeGen/Generic/MIRDebugify/check-line-and-variables.mir
M llvm/test/CodeGen/Generic/MIRDebugify/locations-and-values.mir
M llvm/test/CodeGen/Generic/MIRDebugify/multifunction-module.mir
M llvm/test/DebugInfo/debugify-bogus-dbg-value.ll
M llvm/test/DebugInfo/debugify-each.ll
M llvm/test/DebugInfo/debugify-export.ll
M llvm/test/DebugInfo/debugify-ignore-phi.ll
M llvm/test/DebugInfo/debugify-original-no-dbg-info.ll
M llvm/test/DebugInfo/debugify-report-missing-locs-only.ll
M llvm/test/DebugInfo/debugify.ll
M llvm/test/DebugInfo/pr37964.ll
M llvm/test/DebugInfo/salvage-cast-debug-info.ll
M llvm/test/DebugInfo/verify-di-preserve.ll
Log Message:
-----------
[RemoveDI] Add support for debug records to debugify (#87383)
This patch changes debugify to support debug variable records, and
subsequently to no longer convert modules automatically to intrinsics
when entering debugify.
Commit: 45eabd1362527d1b3a27a90f7479865785b763ee
https://github.com/llvm/llvm-project/commit/45eabd1362527d1b3a27a90f7479865785b763ee
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/test/Driver/msvc-dependent-lib-flags.f90
Log Message:
-----------
[flang,test] Add -resource-dir option to msvc-dependent-lib-flags.f90 (#88894)
For aarch64-windows-msvc, clang_rt.builtins is placed in windows subdir
instead of triple subdir, and the name of clang_rt.builtins is
clang_rt.builtins-aarch64.lib.
So let's use `-resource-dir` option to fix test failure.
Please see talk for PR#87866.
Commit: 22e6bf77ad8781810fc81fff4c447c03cdf6f419
https://github.com/llvm/llvm-project/commit/22e6bf77ad8781810fc81fff4c447c03cdf6f419
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ModuleFileExtension.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleFileExtension.cpp
M clang/lib/Serialization/PCHContainerOperations.cpp
Log Message:
-----------
[unused-includes][Serialization] Remove unused includes. NFC. (#88790)
Commit: b566810add5b7c5695bdd2c39710b78af9dc83ba
https://github.com/llvm/llvm-project/commit/b566810add5b7c5695bdd2c39710b78af9dc83ba
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/PCHContainerOperations.h
Log Message:
-----------
[unused-includes] PCHContainerOperations uses MemoryBufferRef, not MemoryBuffer. NFC. (#88794)
Commit: 454d4496970f665200b5b300578894d78405b6ca
https://github.com/llvm/llvm-project/commit/454d4496970f665200b5b300578894d78405b6ca
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M openmp/runtime/src/kmp_dispatch.cpp
Log Message:
-----------
[OpenMP] Use a memory fence before incrementing the dispatch buffer index (#87995)
This patch uses a memory fence in function `__kmp_dispatch_next()` to
flush pending memory write invalidates before incrementing the
`volatile` variable `buffer_index` to fix intermittent time-outs of
OpenMP runtime LIT test cases `env/kmp_set_dispatch_buf.c` and
`worksharing/for/kmp_set_dispatch_buf.c`, noting that the same is needed
for incrementing `buffer_index` in function `__kmpc_next_section()`
(line 2600 of `kmp_dispatch.cpp`).
Commit: 22bba85d82637d0446928ff6ff41f98583f3d3b2
https://github.com/llvm/llvm-project/commit/22bba85d82637d0446928ff6ff41f98583f3d3b2
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M openmp/runtime/test/tasking/hidden_helper_task/capacity_mix_threads.cpp
M openmp/runtime/test/tasking/hidden_helper_task/capacity_nthreads.cpp
Log Message:
-----------
[OpenMP][test][AIX] Make 64 the max number of threads for capacity tests in AIX 32-bit (#88739)
This patch makes 64 the max number of threads for 2 capacity tests in
AIX 32-bit mode rather than `XFAIL`ing them.
Commit: 8137bd9e03d636a27701a85b6efe899f9571cac5
https://github.com/llvm/llvm-project/commit/8137bd9e03d636a27701a85b6efe899f9571cac5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use CSId to construct MemProfRecord (#88362)
We are in the process of referring to call stacks with CallStackId in
IndexedMemProfRecord and IndexedAllocationInfo instead of holding call
stacks inline (both in memory and the serialized format). Doing so
deduplicates call stacks and reduces the MemProf profile file size.
Before we can eliminate the two fields holding call stacks inline:
- IndexedAllocationInfo::CallStack
- IndexedMemProfRecord::CallSites
we need to eliminate all the read operations on them.
This patch is a step toward that direction. Specifically, we
eliminate the read operations in the context of MemProfReader and
RawMemProfReader. A subsequent patch will eliminate the read
operations during the serialization.
Commit: 8cd8ebe153391993a3668d2ac8d2994d9491f3ef
https://github.com/llvm/llvm-project/commit/8cd8ebe153391993a3668d2ac8d2994d9491f3ef
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/unittests/CodeGen/RegAllocScoreTest.cpp
Log Message:
-----------
[MLGO] Use double comparison facilities for reg alloc scoring tests (#88862)
This patch switches from using direct equality (ASSERT_EQ) to the
floating point comparison facilities (ASSERT_DOUBLE_EQ) within google
test to avoid weird floating point problems. There is at least one
downstream that maintains a patch for issues cropping up from the direct
equality.
https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/llvm17/allocscore.patch
Commit: 75054525ae58f26c86e418382164540760871186
https://github.com/llvm/llvm-project/commit/75054525ae58f26c86e418382164540760871186
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/vectors.cpp
Log Message:
-----------
[clang][Interp] Implement VectorSplat casts
Commit: 184ba038ac1d444980b3e554b0057f3f30c516ab
https://github.com/llvm/llvm-project/commit/184ba038ac1d444980b3e554b0057f3f30c516ab
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Avoid matching 3/5/9 * 2^N as 2^N + 2/4/8 (e.g. 24) (#88937)
The former is better as a zero extend can be folded into the sll,
whereas the later currently produces a seperate zext.w due to bad
interactions with other combines.
Commit: 4082a7554521572a65a5a0008c4661a534df659d
https://github.com/llvm/llvm-project/commit/4082a7554521572a65a5a0008c4661a534df659d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
Improve stack usage to increase recursive initialization depth (#88546)
We were crashing due to stack exhaustion on rather reasonable C++
template code. After some investigation, I found that we have a
stack-allocated object that was huge: `InitializationSequence` was 7016
bytes. This caused an overflow with deep call stacks in initialization
code.
With these change, `InitializationSequence` is now 248 bytes.
With the original code, testing RelWithDebInfo on Windows 10, all the
tests in SemaCXX took about 6s 800ms. The max template depth I could
reach on my machine using the code in the issue was 708. After that, I
would get `-Wstack-exhausted` warnings until crashing at 976
instantiations.
With these changes on the same machine, all the tests in SemaCXX took
about 6s 500ms. The max template depth I could reach was 1492. After
that, I would get `-Wstack-exhausted` warnings until crashing at 2898
instantiations.
This improves the behavior of #88330 but there's still an outstanding
question of why we run out of stack space and crash in some
circumstances before we're able to issue a diagnostic about stack space
exhaustion.
Commit: aefff774a0d6f75565243263555f2513ac3c9fdf
https://github.com/llvm/llvm-project/commit/aefff774a0d6f75565243263555f2513ac3c9fdf
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/CXX/drs/dr0xx.cpp
M clang/test/CXX/drs/dr16xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
M clang/test/CXX/drs/dr2xx.cpp
M clang/test/CXX/drs/dr3xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
M clang/test/CXX/drs/dr5xx.cpp
M clang/test/CXX/drs/dr6xx.cpp
Log Message:
-----------
[clang] Migrate DR tests to `static_assert` (#88611)
This patch touches a number of tests that run in C++98 mode that have
been using array size as a context that requires a constant expression,
replacing it with a `static_assert` backported via a macro. This reduces
noise in expected directives that comes from diagnostics around VLAs.
This patch also showcases that DR tests would benefit from folding in
constant expressions in C++98 mode, but I'm not sure it's even on the
table. If it is, I'd be happy to prepare a PR for that, and rebase this
PR on top of it.
CC @AaronBallman
Commit: 6b83fe552990966fdad0e5693a79b02b87d9526e
https://github.com/llvm/llvm-project/commit/6b83fe552990966fdad0e5693a79b02b87d9526e
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Strength reduce mul by 2^n + 2/4/8 + 1 (#88911)
With zba, we can expand this to (add (shl X, C1), (shXadd X, X)).
Note that this is our first expansion to a three instruction sequence. I
believe this to general be a reasonable tradeoff for most architectures,
but we may want to (someday) consider a tuning flag here.
I plan to support 2^n + (2/4/8 + 1) eventually as well, but that comes
behind 2^N - 2^M. Both are also three instruction sequences.
---------
Co-authored-by: Min-Yih Hsu <min at myhsu.dev>
Commit: 1c2afbae9af22b58190c10e3517242d01d89d612
https://github.com/llvm/llvm-project/commit/1c2afbae9af22b58190c10e3517242d01d89d612
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/CodeGen/alias.cpp
Log Message:
-----------
[CodeGen,test] Test llvm-libc style alias attribute with UsingShadowDecl
The pattern is quite involved and deserves a specific codegen test.
This test would catch the bug in the first attempt of #87130
Commit: 5462b27026dee886fb896980d6ad9487200a6cbe
https://github.com/llvm/llvm-project/commit/5462b27026dee886fb896980d6ad9487200a6cbe
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/include/__chrono/formatter.h
Log Message:
-----------
[NFC][libc++][TZDB] Refactors argument order. (#85781)
Putting the output reference argument first looks more sensible.
Commit: a75c9d059791f5d175f6c263d114d59e51b46120
https://github.com/llvm/llvm-project/commit/a75c9d059791f5d175f6c263d114d59e51b46120
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/include/__fwd/ios.h
M libcxx/include/iosfwd
M libcxx/utils/libcxx/test/modules.py
Log Message:
-----------
[NFC][libc++] Moves ios_base's forward declaration. (#88027)
According to our synopsis it belonged to ios_fwd. This is not true in
the C++11 version of the Standard, I did not validate against C++98.
Moving this to ios's forward where it's declared in the standard allows
removing a module quirk. An earlier removal of std::vectors forward
declaration allows to remove all quirks for the iosfwd module part.
Since iosfwd includes __fwd/ios.h this does not change the required
includes.
Commit: 9cd3e92f05fcc2c9168a7abc56d08f0d33bfdfdf
https://github.com/llvm/llvm-project/commit/9cd3e92f05fcc2c9168a7abc56d08f0d33bfdfdf
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/utils/libcxx/test/modules.py
Log Message:
-----------
[libc++][modules] Removes some validation quirks. (#88031)
Recent unrelated header cleanups caused these quirks to become obsolete.
Commit: 41a830500aa5556a65198607ec751d8e3254c949
https://github.com/llvm/llvm-project/commit/41a830500aa5556a65198607ec751d8e3254c949
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/__config
R libcxx/test/libcxx/depr/enable_removed_cpp17_features.compile.pass.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp17_features.deprecated.verify.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp20_features.deprecated.verify.cpp
Log Message:
-----------
[libc++] Removes deprecated _LIBCPP_ENABLE_<VERSION>_REMOVED_FEATURES macros (#88548)
We marked those macros as deprecated in the last release with the intent
of
removing them in LLVM 19. This commit performs the removal.
Commit: 388da6a31b7ba3062f9306b894656e265b9b33eb
https://github.com/llvm/llvm-project/commit/388da6a31b7ba3062f9306b894656e265b9b33eb
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/test/libcxx/containers/sequences/vector/asan.pass.cpp
Log Message:
-----------
[libc++][test] Removes Clang 16 validation. (#88558)
Commit: 8e0a4a89f940d17b520bbca040981f54195d3ea4
https://github.com/llvm/llvm-project/commit/8e0a4a89f940d17b520bbca040981f54195d3ea4
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/docs/BuildingLibcxx.rst
Log Message:
-----------
[libc++][doc] Documents -DLIBCXX_INSTALL_MODULES=ON. (#88547)
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 002297bdaa63f3f9f56b0051110ccf48f31c6825
https://github.com/llvm/llvm-project/commit/002297bdaa63f3f9f56b0051110ccf48f31c6825
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn] port 22629bb22a1b
Commit: 8debcf03c535e14ee47b14fddfcaeae3f32d1317
https://github.com/llvm/llvm-project/commit/8debcf03c535e14ee47b14fddfcaeae3f32d1317
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
A mlir/test/Dialect/SparseTensor/sparse_itertion_licm.mlir
Log Message:
-----------
[mlir][sparse] introduce sparse_tensor.iterate operation (#88807)
A `sparse_tensor.iterate` iterates over a sparse iteration space
extracted from `sparse_tensor.extract_iteration_space` operation
introduced in https://github.com/llvm/llvm-project/pull/88554.
*DO NOT MERGE* before https://github.com/llvm/llvm-project/pull/88554
Commit: b9556532c7391a2acb77ab0f7d7b36e1dc382b24
https://github.com/llvm/llvm-project/commit/b9556532c7391a2acb77ab0f7d7b36e1dc382b24
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
R mlir/test/Dialect/SparseTensor/sparse_itertion_licm.mlir
Log Message:
-----------
Revert "[mlir][sparse] introduce sparse_tensor.iterate operation" (#88953)
Reverts llvm/llvm-project#88807 (merged by mistake)
Commit: 481bd5d416df7a1d24e18cc81ae782e8701de965
https://github.com/llvm/llvm-project/commit/481bd5d416df7a1d24e18cc81ae782e8701de965
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorTypes.td
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/SparseTensor/roundtrip.mlir
Log Message:
-----------
[mlir][sparse] introduce `sparse_tensor.extract_iteration_space` operation. (#88554)
A `sparse_tensor.extract_space %tensor at %iterator` extracts a *sparse*
iteration space defined `%tensor`, the operation to traverse the
iteration space will be introduced in following PRs.
Commit: edb711d2f318b17489692b5f85028fab7ed85b83
https://github.com/llvm/llvm-project/commit/edb711d2f318b17489692b5f85028fab7ed85b83
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[InstCombine] Update `vector_reduce_and` tests to actually use `llvm.vector.reduce.and`; NFC
Commit: 5c6af605b307213453a9a043532b9293db21b5c6
https://github.com/llvm/llvm-project/commit/5c6af605b307213453a9a043532b9293db21b5c6
Author: mahtohappy <Happy.Kumar at Windriver.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A clang/test/SemaCXX/PR41441.cpp
R clang/test/SemaCXX/instantiate-new-placement-size.cpp
Log Message:
-----------
[Clang][Sema] placement new initializes typedef array with correct size (#88902)
Build Failure Fix
Fixes build failures due to #83124
Commit: b01879ec1ffbd249f9bf3c4f32308443be6ac36b
https://github.com/llvm/llvm-project/commit/b01879ec1ffbd249f9bf3c4f32308443be6ac36b
Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
A mlir/test/Dialect/XeGPU/invalid.mlir
Log Message:
-----------
[MLIR][XeGPU] Add XeGPU scattered ops (#86594)
- Extended TensorDescAttr with scattered attribute
- Add scattered ops: CreateDescOp, PrefetchOp, LoadGatherOp,
StoreScatterOp, UpdateOffsetOp
- Add a block op: UpdateNdOffsetOp
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Co-authored-by: Adam Siemieniuk <adam.siemieniuk at intel.com>
Commit: 9ec8c961664de3b3fcc1cbd5238e40ec8c9bdddb
https://github.com/llvm/llvm-project/commit/9ec8c961664de3b3fcc1cbd5238e40ec8c9bdddb
Author: Samira Bazuzi <bazuzi at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/tools/clang-formatted-files.txt
A clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
A clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
Log Message:
-----------
[clang][dataflow] Expose getReferencedDecls and relocate free functions. (#88754)
Moves free functions from DataflowEnvironment.h/cc and
DataflowAnalysisContext.h/cc to RecordOps and a new ASTOps and exposes
them as needed for current use and to expose getReferencedDecls for
out-of-tree use.
Minimal change in functionality, only to modify the return type of
getReferenceDecls to return the collected decls instead of using output
params.
Tested with `ninja check-clang-tooling`.
Commit: bbd64c4ddf08be468ab4eb4c161e28bdab6808bb
https://github.com/llvm/llvm-project/commit/bbd64c4ddf08be468ab4eb4c161e28bdab6808bb
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/mul.ll
Log Message:
-----------
[RISCV] Add coverage for strength reduction of mul as 2^N - 2^M
Commit: 8885813ebb0a61014d99ac776b8118d935848cc9
https://github.com/llvm/llvm-project/commit/8885813ebb0a61014d99ac776b8118d935848cc9
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
Log Message:
-----------
[libc++][chrono] Disables a test.
This tests seems problematic on different platforms. There is still a
test that ensures coverage, but in an automatic fashion. This test needs
to be investigated.
Commit: 0665669876cd7f51f7572cff3bb97485d78f5de5
https://github.com/llvm/llvm-project/commit/0665669876cd7f51f7572cff3bb97485d78f5de5
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/AST/ast-dump-attr-json.cpp
M clang/test/Sema/alias-unused-win.cpp
M clang/test/Sema/alias-unused.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[Sema] Mark alias/ifunc targets used and consider mangled names
https://reviews.llvm.org/D54188 marked "alias" targets as used in C to
fix -Wunused false positives. This patch extends the approach to handle
mangled names to support global scope names in C++ and the
`overloadable` attribute in C.
(Note: we should skip `UsingShadowDecl`, which would trigger an
assertion failure in `ItaniumMangleContextImpl::mangleCXXName`.
See regression test added by commit 1c2afbae9af22b58190c10e3517242d01d89d612.)
In addition, we mark ifunc targets as used to fix #63957 (temporarily
used by xz; ifunc was removed by
https://github.com/tukaani-project/xz/commit/689ae2427342a2ea1206eb5ca08301baf410e7e0)
While our approach has false negatives for namespace scope names, the
majority of alias/ifunc C++ uses (global scope with no overloads) are
handled.
Note: The following function with internal linkage but C language
linkage type is mangled in Clang but not in GCC. This inconsistency
makes alias/ifunc difficult to use in C++ with portability (#88593).
```
extern "C" {
static void f0() {}
// GCC: void g0() __attribute__((alias("_ZL2f0v")));
// Clang: void g0() __attribute__((alias("f0")));
}
```
Pull Request: https://github.com/llvm/llvm-project/pull/87130
Commit: 5422eb0b841521908c2fc60bd9c7fdc11ded12a1
https://github.com/llvm/llvm-project/commit/5422eb0b841521908c2fc60bd9c7fdc11ded12a1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Add another constructor to MemProfReader (#88952)
This patch enables users of MemProfReader to directly supply mappings
from CallStackId to actual call stacks.
Once the users of the current constructor without CSIdMap switch to
the new constructor, we'll have fewer users of:
- IndexedAllocationInfo::CallStack
- IndexedMemProfRecord::CallSites
bringing us one step closer to the removal of these fields in favor
of:
- IndexedAllocationInfo::CSId
- IndexedMemProfRecord::CallSiteIds
Commit: c7657cf7d1ee57f9cb9133164536591a1842b43c
https://github.com/llvm/llvm-project/commit/c7657cf7d1ee57f9cb9133164536591a1842b43c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/extract_in_tree_user.ll
M llvm/test/Transforms/SLPVectorizer/X86/geps-non-pow-2.ll
M llvm/test/Transforms/SLPVectorizer/X86/opaque-ptr.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/stacksave-dependence.ll
Log Message:
-----------
[SLP]Keep externally used GEPs as GEPs, if possible instead of extractelement.
If the vectorized GEP instruction can be still kept as a scalar GEP,
better to keep it as scalar instead of extractelement. In many cases it
is more profitable.
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Benchmarks/Misc/oourafft.test 18911.00 19695.00 4.1%
test-suite :: SingleSource/Benchmarks/Misc-C++-EH/spirit.test 59987.00 60707.00 1.2%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1392209.00 1392753.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1392209.00 1392753.00 0.0%
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 1087996.00 1088236.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 309310.00 309342.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 664661.00 664693.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 664661.00 664693.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12354636.00 12354908.00 0.0%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 1152748.00 1152716.00 -0.0%
test-suite :: MultiSource/Applications/oggenc/oggenc.test 191787.00 191771.00 -0.0%
test-suite :: SingleSource/UnitTests/matrix-types-spec.test 480796.00 480476.00 -0.1%
Misc/oourafft - Extra code gets vectorized
Misc-C++-EH/spirit - same
CFP2017speed/638.imagick_s
CFP2017rate/538.imagick_r - same, extra code gets vectorized
CINT2006/400.perlbench - some extra 4 x ptr stores vectorized
Bullet/bullet - extra 4 x ptr store vectorized
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - same
CFP2017rate/526.blender_r - extra 8 x float stores (several), some extra
4 x ptr stores
CFP2006/453.povray - 2 x double loads/stores replaced by 4 x double
loads/stores
Applications/oggenc - extra code is vectorized
UnitTests/matrix-types-spec - extra code gets vectorized
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/88877
Commit: 7d4e8c1f3bbfe976f4871c9cf953f76d771b0eda
https://github.com/llvm/llvm-project/commit/7d4e8c1f3bbfe976f4871c9cf953f76d771b0eda
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
Log Message:
-----------
[SLP]Attempt to vectorize long stores, if short one failed.
We can try to vectorize long store sequences, if short ones were
unsuccessful because of the non-profitable vectorization. It should not
increase compile time significantly (stores are sorted already,
complexity is n x log n), but vectorize extra code.
Metric: size..text
Program size..text
results results0 diff
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 1088012.00 1088236.00 0.0%
test-suite :: SingleSource/UnitTests/matrix-types-spec.test 480396.00 480476.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 664613.00 664661.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 664613.00 664661.00 0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2041105.00 2040961.00 -0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 836563.00 836387.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 1035100.00 1032140.00 -0.3%
In all benchmarks extra code gets vectorized
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/88563
Commit: 3eff86f82cb59d7dfc88e0cc3d8df8282f24f028
https://github.com/llvm/llvm-project/commit/3eff86f82cb59d7dfc88e0cc3d8df8282f24f028
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
[gn build] Port 9ec8c961664d
Commit: b0ddbfb77d15e00e08fc36f6ccd8a4fecde465d1
https://github.com/llvm/llvm-project/commit/b0ddbfb77d15e00e08fc36f6ccd8a4fecde465d1
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
Log Message:
-----------
[clang][SPIR-V] Set AS for the SPIR-V logical triple (#88939)
This was missed in #88455, causing most of the .hlsl to SPIR-V tests to
fail (such as clang\test\Driver\hlsl-lang-targets-spirv.hlsl)
Commit: c9731a3dccd381849bfede5e09290c0574efa248
https://github.com/llvm/llvm-project/commit/c9731a3dccd381849bfede5e09290c0574efa248
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
Log Message:
-----------
[mlir] Fix a warning about an extraneous semicolon
This patch fixes:
mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp:58:2: error: extra ';'
outside of a function is incompatible with C++98
[-Werror,-Wc++98-compat-extra-semi]
Commit: 0a789ea8a829da345e46d8224d73b2ddaba6969f
https://github.com/llvm/llvm-project/commit/0a789ea8a829da345e46d8224d73b2ddaba6969f
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/SemaCXX/PR41441.cpp
Log Message:
-----------
Fix test from #83124 and #88902
This just replaces an '#include<new>' with a declaration of array
placement new.
Commit: 9a0a28f8384b2cb534953df33bf124f01f0e0d0e
https://github.com/llvm/llvm-project/commit/9a0a28f8384b2cb534953df33bf124f01f0e0d0e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Libomptarget] Rework Record & Replay to be a plugin member (#88928)
Summary:
Previously, the R&R support was global state initialized by a global
constructor. This is bad because it prevents us from adequately
constraining the lifetime of the library. Additionally, we want to
minimize the amount of global state floating around.
This patch moves the R&R support into a plugin member like everything
else. This means there will be multiple copies of the R&R implementation
floating around, but this was already the case given the fact that we
currently handle everything with dynamic libraries.
Commit: ed7038ef334eaccdd4104053005cab52804fbfad
https://github.com/llvm/llvm-project/commit/ed7038ef334eaccdd4104053005cab52804fbfad
Author: Jeremy Kun <jkun at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
Log Message:
-----------
specify dialect in polynomial docs (#88933)
I figured out how to test this with `make mlir-doc doxygen-mlir`
Commit: 13ea36db166b7007f8b1e84e0827faaf24eb448e
https://github.com/llvm/llvm-project/commit/13ea36db166b7007f8b1e84e0827faaf24eb448e
Author: juan.vazquez <juan.vazquez.test at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-suggestions-crashes.cpp
Log Message:
-----------
Fix UPCAddressofArraySubscriptGadget::getClaimedVarUseSites() (#88406)
UPCAddressofArraySubscriptGadget::getClaimedVarUseSites should skip
parentheses when accessing the DeclRefExpr, otherwise a crash happens
with parenthesized references.
Commit: f430e374462efd94d891fcf9fa09d606343c780f
https://github.com/llvm/llvm-project/commit/f430e374462efd94d891fcf9fa09d606343c780f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/MC/MCPseudoProbe.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/ProfileData/SampleProfReader.cpp
Log Message:
-----------
[llvm] Drop unaligned from calls to readNext (NFC) (#88841)
Now readNext defaults to unaligned accesses. This patch drops
unaligned to improve readability.
Commit: 281d71604f418eb952e967d9dc4b26241b7f96aa
https://github.com/llvm/llvm-project/commit/281d71604f418eb952e967d9dc4b26241b7f96aa
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf-text-sections.ll
Log Message:
-----------
[X86] Change how we treat functions with explicit sections as small/large (#88172)
Following #78348, we should treat functions with an explicit section as
small, unless the section name is (or has the prefix) ".ltext".
Clang emits global initializers into a ".text.startup" section on Linux.
If we mix small/medium code model object files with large code model
object files, we'll end up mixing sections with and without the large
section flag.
Reland of #87838 with a check for non-ELF platforms in
TargetMachine::isLargeGlobalValue(), otherwise MCJIT on Windows tests
fail.
Commit: 191be2a8a8531129c779bf23c4eec86f32c69bf9
https://github.com/llvm/llvm-project/commit/191be2a8a8531129c779bf23c4eec86f32c69bf9
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values_funcs.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values_funcs.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/stable_ir_values_funcs.test
Log Message:
-----------
update_test_checks: pre-commit a new test
The test shows that name preservation doesn't work properly when
--include-generated-funcs is used.
Commit: e770249d955e06f205e91017cd394d8670996168
https://github.com/llvm/llvm-project/commit/e770249d955e06f205e91017cd394d8670996168
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
Log Message:
-----------
update_test_checks: add new test
This test is meant to demonstrate an upcoming change that replaces basic
block labels by FileCheck patterns.
Commit: 377a2767a9951659b5ec7309abb78da719a4f93b
https://github.com/llvm/llvm-project/commit/377a2767a9951659b5ec7309abb78da719a4f93b
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
update_test_checks: remove an unused function
Commit: 9ec6c5d26321f5d32d97218f850ae7cafda32b2e
https://github.com/llvm/llvm-project/commit/9ec6c5d26321f5d32d97218f850ae7cafda32b2e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
Log Message:
-----------
[flang][cuda] Add fir.deallocate operation (#88839)
Add the fir.cuda_deallocate operation that perform device deallocation
of data hold by a descriptor. This will replace the call to
AllocatableDeallocate from the runtime.
This is a companion operation to the one added in #88586
Commit: 34777c238b117b52dd41a9d12e8b54fb83677a12
https://github.com/llvm/llvm-project/commit/34777c238b117b52dd41a9d12e8b54fb83677a12
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanValue.h
A llvm/test/Transforms/LoopVectorize/blend-in-header.ll
Log Message:
-----------
[VPlan] Don't mark VPBlendRecipe as phi-like.
VPBlendRecipes don't get lowered to phis and usually do not appear at
the beginning of blocks, due to their masks appearing before them.
This effectively relaxes an over-eager verifier message.
Fixes https://github.com/llvm/llvm-project/issues/88297.
Fixes https://github.com/llvm/llvm-project/issues/88804.
Commit: b6bd41db31c798f3fc82368381fad6d42795f512
https://github.com/llvm/llvm-project/commit/b6bd41db31c798f3fc82368381fad6d42795f512
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/Headers/__clang_hip_math.hip
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/add-sitofp.ll
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/clamp-to-minmax.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/minmax-fp.ll
M llvm/test/Transforms/InstCombine/pr27236.ll
M llvm/test/Transforms/InstCombine/sitofp.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
Log Message:
-----------
[InstCombine] Add canonicalization of `sitofp` -> `uitofp nneg`
This is essentially the same as #82404 but has the `nneg` flag which
allows the backend to reliably undo the transform.
Closes #88299
Commit: 885b8d9bb5192267cb2449a9ddec28e20ac9300e
https://github.com/llvm/llvm-project/commit/885b8d9bb5192267cb2449a9ddec28e20ac9300e
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
Log Message:
-----------
[RISCV] Enable mul strength reduction for XTheadBa
This vendor extension has the same shift_add as zba, and most of the same
patterns are duplicated. Enable it here too so the configurations don't
diverge.
Commit: c6e01627acf8591830ee1d211cff4d5388095f3d
https://github.com/llvm/llvm-project/commit/c6e01627acf8591830ee1d211cff4d5388095f3d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
Log Message:
-----------
Revert "Reapply "[LV] Improve AnyOf reduction codegen. (#78304)""
This reverts commit c6e38b928c56f562aea68a8e90f02dbdf0eada85.
Causes miscompiles, see comments on #78304.
Commit: 266b2a26408c42ed1ac84ef38dfc41695423d9da
https://github.com/llvm/llvm-project/commit/266b2a26408c42ed1ac84ef38dfc41695423d9da
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/Transforms/InstCombine/known-fpclass-reduce-signbit.ll
M llvm/test/Transforms/InstSimplify/known-never-infinity.ll
Log Message:
-----------
[ValueTracking] Add tests for `computeKnownFPClass` of `llvm.vector.reduce.{fmin,fmax,fmaximum,fminimum}`; NFC
Commit: 9eeae4421198b99eab3ae9a4ff678fda26bbda2a
https://github.com/llvm/llvm-project/commit/9eeae4421198b99eab3ae9a4ff678fda26bbda2a
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-fpclass-reduce-signbit.ll
M llvm/test/Transforms/InstSimplify/known-never-infinity.ll
Log Message:
-----------
[ValueTracking] Implement `computeKnownFPClass` for `llvm.vector.reduce.{fmin,fmax,fmaximum,fminimum}`
Closes #88408
Commit: d19bd05c79ad3b1a2c3cb439c3fc60825f66bed7
https://github.com/llvm/llvm-project/commit/d19bd05c79ad3b1a2c3cb439c3fc60825f66bed7
Author: Hubert Tong <hubert-reinterpretcast at users.noreply.github.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Clang Release Notes: Fix reST formatting
Fix a use of inline code markup to have a non-word character after the ending delimiter as required by reST.
Commit: 3074060d6a1d7d2e74cb767876bd9e5192d12007
https://github.com/llvm/llvm-project/commit/3074060d6a1d7d2e74cb767876bd9e5192d12007
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Use SizeIs (NFC) (#88984)
Commit: b1385dbd98e877a374ce303fd9d1774faf98e31b
https://github.com/llvm/llvm-project/commit/b1385dbd98e877a374ce303fd9d1774faf98e31b
Author: Michael Jones <michaelrj at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M libc/hdr/types/CMakeLists.txt
Log Message:
-----------
[libc][NFC] fix typo in fenv type proxy headers (#88982)
libc.incude.fenv ->
libc.include.fenv
Commit: 8aa061ffc75adfab4b3084c918e7d4a3ccd5ba43
https://github.com/llvm/llvm-project/commit/8aa061ffc75adfab4b3084c918e7d4a3ccd5ba43
Author: Peiming Liu <peiming at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
Log Message:
-----------
[mlir][sparse][NFC] switching to using `let argments/results` in td files (#88994)
followed the same style used in "TensorOps.td".
Commit: 9067070d91e9d8cdd8509ffa56a076f08a3d7281
https://github.com/llvm/llvm-project/commit/9067070d91e9d8cdd8509ffa56a076f08a3d7281
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/test/Driver/riscv-features.c
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/CodeGen/RISCV/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/memcpy.ll
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/pr56110.ll
M llvm/test/CodeGen/RISCV/riscv-func-target-feature.ll
M llvm/test/CodeGen/RISCV/rvv/concat-vectors-constant-stride.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
M llvm/test/CodeGen/RISCV/rvv/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
M llvm/test/CodeGen/RISCV/rvv/unaligned-loads-stores.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV] Re-separate unaligned scalar and vector memory features in the backend. (#88954)
This is largely a revert of commit
e81796671890b59c110f8e41adc7ca26f8484d20.
As #88029 shows, there exists hardware that only supports unaligned
scalar.
I'm leaving how this gets exposed to the clang interface to a future
patch.
Commit: 988ffd06722e7e056b239efe497345ac97be33db
https://github.com/llvm/llvm-project/commit/988ffd06722e7e056b239efe497345ac97be33db
Author: Usama Hameed <u_hameed at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
Log Message:
-----------
Add asan tests for libsanitizers. (#88349) (#88962)
The previous patch was reverted because the test fails to build when
libsanitizers is not present. This patch catches the BuildError
exception and skips the test appropriately.
This patch tests LLDB integration with libsanitizers for ASan.
rdar://111856681
Commit: 50a371795bcfe0731f8882e42712dff33cbbef9b
https://github.com/llvm/llvm-project/commit/50a371795bcfe0731f8882e42712dff33cbbef9b
Author: darkbuck <michael.hliao at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCMovSetCC.td
Log Message:
-----------
[X86] Fix instr desc of CFCMOV's 'mr' variants
- With the memory operand as the destination, 'mr' variants of CFCMOV
works like STORE and their memory operands should be input operands
instead of output ones.
Reviewers: XinWang10, arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/88970
Commit: 1bc092181bf50d6be95b165e91bd906710710ca7
https://github.com/llvm/llvm-project/commit/1bc092181bf50d6be95b165e91bd906710710ca7
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add support for lldb-server (#88989)
Commit: be50a259f1fe77240b000f6b695b9b6394f4936b
https://github.com/llvm/llvm-project/commit/be50a259f1fe77240b000f6b695b9b6394f4936b
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/fast-math.ll
M llvm/test/Transforms/InstCombine/fmul-pow.ll
M llvm/test/Transforms/InstCombine/fmul.ll
Log Message:
-----------
Update foldFMulReassoc to respect absent fast-math flags (#88589)
This change updates a few of the transformations in foldFMulReassoc to
respect absent fast-math flags in cases where fmul and fdiv, fadd, or fsub
instructions were being folded but the code was only checking for
fast-math flags on the fmul instruction and was transferring flags to
the folded instruction that were not present on the other original
instructions.
This fixes https://github.com/llvm/llvm-project/issues/82857
Commit: ce5381e22a50f354cf3d1763589f1daf155c481b
https://github.com/llvm/llvm-project/commit/ce5381e22a50f354cf3d1763589f1daf155c481b
Author: Prashant Kumar <pk5561 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir][vector] Determine vector sizes from the result shape in the ca… (#88249)
…se of tensor pack
When the vector sizes are not passed as inputs to the vector transform
operation, the vector sizes are queried from the static result shape in
the case of tensor.pack op.
Commit: 8c9f45e2decbb68dbf83794f98291b53f59390f8
https://github.com/llvm/llvm-project/commit/8c9f45e2decbb68dbf83794f98291b53f59390f8
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/include/clang/Basic/arm_fp16.td
M clang/include/clang/Basic/arm_neon.td
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[ARM64EC] Fix arm_neon.h on ARM64EC. (#88572)
Since 97fe519d, in ARM64EC mode, we don't define `__aarch64__`. Fix
various preprocessor guards to account for this.
Commit: 8c9d814b66f7df274de41225575817188fbeed4f
https://github.com/llvm/llvm-project/commit/8c9d814b66f7df274de41225575817188fbeed4f
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
[mlir][complex] Fastmath flag for complex angle (#88658)
See
https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981
Commit: efd60556f759fbfa0fc0a5984463daeaef20799c
https://github.com/llvm/llvm-project/commit/efd60556f759fbfa0fc0a5984463daeaef20799c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
Log Message:
-----------
Revert "[SLP]Attempt to vectorize long stores, if short one failed."
This reverts commit 7d4e8c1f3bbfe976f4871c9cf953f76d771b0eda.
Contrary to the commit description, this does cause large
compile-time regressions (up to 10% on individual files).
Commit: 7c2688977567ea5ac1203daa3c452b541ef55f67
https://github.com/llvm/llvm-project/commit/7c2688977567ea5ac1203daa3c452b541ef55f67
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/Sparc/SparcInstrInfo.td
Log Message:
-----------
[Sparc] Fix instr desc of special register stores
- Those special register stores are STORE and their memory operands are
input operands instead of output ones.
Reviewers:
JDevlieghere, arsenm, yinying-lisa-li, koachan, PeimingLiu, jyknight, aartbik, matthias-springer
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/88971
Commit: 62853a246ef131c4de73b63a141c85a0b14c75a5
https://github.com/llvm/llvm-project/commit/62853a246ef131c4de73b63a141c85a0b14c75a5
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
A llvm/test/TableGen/def-multiple-operands.td
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[TableGen][InstrInfoEmitter] Count sub-operands on def operands
- If a def operand includes multiple sub-operands, count them when
generating instr info.
- Found issues in x86 and sparc backends, where memory operands of
store or store-like instructions are wrongly placed in the output
list.
Reviewers: jayfoad, arsenm, Pierre-vh
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/88972
Commit: d0f718e06848774a4e9d0b253cf75c1408b5f41a
https://github.com/llvm/llvm-project/commit/d0f718e06848774a4e9d0b253cf75c1408b5f41a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Initialization.h
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
Revert "Improve stack usage to increase recursive initialization depth" (#89006)
Reverts llvm/llvm-project#88546
Leak and performance regression.
Details in #88546
Commit: 1f35e7227178843679d1d364bc5fc0bcfee2eb95
https://github.com/llvm/llvm-project/commit/1f35e7227178843679d1d364bc5fc0bcfee2eb95
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/builtin-allow-runtime-check.cpp
A clang/test/Sema/builtin-allow-runtime-check.c
Log Message:
-----------
[clang][builtin] Implement __builtin_allow_runtime_check (#87568)
RFC:
https://discourse.llvm.org/t/rfc-introduce-new-clang-builtin-builtin-allow-runtime-check/78281
---------
Co-authored-by: Noah Goldstein <goldstein.w.n at gmail.com>
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 52a4d8123c2a9157f2e543945f7b6148da3ecfdb
https://github.com/llvm/llvm-project/commit/52a4d8123c2a9157f2e543945f7b6148da3ecfdb
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
Log Message:
-----------
[BOLT][NFC] Remove unused function (#89009)
getFileOffsetFor() was replaced with getFileOffsetForAddress().
Commit: 0af8caeb2fa4d68fcabe6297383d1cdf1cae8b87
https://github.com/llvm/llvm-project/commit/0af8caeb2fa4d68fcabe6297383d1cdf1cae8b87
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Remove another unused function (#89011)
RewriteInstance::isKSymtabSection() is deprecated.
Commit: f40f4fcee506deacda0594362509ee7dddcf5e37
https://github.com/llvm/llvm-project/commit/f40f4fcee506deacda0594362509ee7dddcf5e37
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
[clang analysis] ExprMutationAnalyzer support recursive forwarding reference (#88843)
Reapply for #88765.
Partially fixes: #60895.
Commit: 3204f3e30b8e15ce6e5d10d5d7bfbaa7cf5cd1f4
https://github.com/llvm/llvm-project/commit/3204f3e30b8e15ce6e5d10d5d7bfbaa7cf5cd1f4
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Convert VTYPE operand check to assert in RISCVInsertVSETVLI. NFC
The VTYPE operands of a vsetvli pseudo are always immediates
Commit: c81e5faa6f55d3e390b5e550f78ab08fc6a65ee9
https://github.com/llvm/llvm-project/commit/c81e5faa6f55d3e390b5e550f78ab08fc6a65ee9
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.h
A llvm/test/CodeGen/RISCV/rvv-cfi-info.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
Log Message:
-----------
[RISCV] Add CFI information for vector callee-saved registers (#86811)
Currently the CFI offset for RVV registers are not handled entirely,
this patch add those information for either stack unwinding or
debugger to work correctly on RVV callee-saved stack object.
Depends On D154576
Differential Revision: https://reviews.llvm.org/D156846
Commit: e6ecff8d95b9175e70e0d43e14c2975c8f69d718
https://github.com/llvm/llvm-project/commit/e6ecff8d95b9175e70e0d43e14c2975c8f69d718
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[C++20] [Modules] Add Release Notes and Documents for Reduced BMI
See
https://discourse.llvm.org/t/rfc-c-20-modules-introduce-thin-bmi-and-decls-hash/74755,
https://github.com/llvm/llvm-project/pull/75894 and
https://github.com/llvm/llvm-project/pull/85050 for the background.
Commit: eafd515ecaaa100623eebc7fa4d7c36a361bf708
https://github.com/llvm/llvm-project/commit/eafd515ecaaa100623eebc7fa4d7c36a361bf708
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/ClangScanDeps/error.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][deps] Support single-file mode for all formats (#88764)
The `clang-scan-deps` tool can be used for fast scanning of batches of
compilation commands passed in via the `-compilation-database` option.
This gets awkward in our tests where we have to resort to using
`.in`/`.template` JSON files and running them through `sed` in order to
embed LIT's `%t` variable into them. However, most of our tests only
need to pass single compilation command, so this dance is entirely
unnecessary.
This patch makes sure the existing "per-file" mode (where the
compilation command is passed in-line after the `--` argument) works for
all output formats, not only `P1689`.
Commit: 6a4eaf9b33d8091b7d09b2a30a3fc8993a01db31
https://github.com/llvm/llvm-project/commit/6a4eaf9b33d8091b7d09b2a30a3fc8993a01db31
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M clang/test/ClangScanDeps/module-format.c
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
Log Message:
-----------
[clang][deps] Add `-o` flag to specify output path (#88767)
This makes it possible to pass "-o /dev/null" to `clang-scan-deps` and
skip some potentially expensive work, making timings less noisy. Also
removes the need for stream redirection.
Commit: f71e25bb669d662f98823d6d81b3f918538c9239
https://github.com/llvm/llvm-project/commit/f71e25bb669d662f98823d6d81b3f918538c9239
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
Log Message:
-----------
[memprof] Simplify IndexedMemProfRecord::operator== (NFC) (#88986)
llvm::SmallVector::operator== exactly meets our needs.
Commit: fca2a493251597967d5d758ea0748c66dd29371a
https://github.com/llvm/llvm-project/commit/fca2a493251597967d5d758ea0748c66dd29371a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-16 (Tue, 16 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Simplify FindRegWithEncoding in copyPhysRegVector. NFC (#89001)
Instead of searching all encodings, we can convert the encoding back to
a register and use getMatchingSuperReg.
Commit: a6fcbcce8f79adfb2e4338859f3a41fc2538bad1
https://github.com/llvm/llvm-project/commit/a6fcbcce8f79adfb2e4338859f3a41fc2538bad1
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/include/__chrono/formatter.h
M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
Log Message:
-----------
[libc++][TZDB] Improves time zone format specifiers. (#85797)
Per [tab:time.format.spec]
%z The offset from UTC as specified in ISO 8601-1:2019, subclause
5.3.4.1. For example -0430 refers to 4 hours 30 minutes behind UTC.
If the offset is zero, +0000 is used. The modified commands %Ez and
%Oz insert a : between the hours and minutes: -04:30. If the offset
information is not available, an exception of type format_error is
thrown.
Typically the modified versions Oz or Ez would have wording like
The modified command %OS produces the locale's alternative
representation.
In this case the modified version does not depend on the locale.
This change is a preparation for formatting sys_info which has time zone
information. The function time_put<_CharT>::put() does not have proper
time zone support, therefore it's a manual implementation.
Fixes https://github.com/llvm/llvm-project/issues/78184
Commit: e096c144921daba59963f15e89d2ca6fb32d3a78
https://github.com/llvm/llvm-project/commit/e096c144921daba59963f15e89d2ca6fb32d3a78
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
A clang/test/Analysis/invalid-ptr-checker.cpp
Log Message:
-----------
[analyzer] Fix a security.cert.env.InvalidPtr crash
Fixes #88181
Commit: 024281d4d26344f9613b9115ea1fcbdbdba23235
https://github.com/llvm/llvm-project/commit/024281d4d26344f9613b9115ea1fcbdbdba23235
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
Log Message:
-----------
[analyzer] Harden security.cert.env.InvalidPtr checker fn matching
Relates to #88181
Commit: b851c7f1fc4fd83ea84d565bbdc30fd0d356788c
https://github.com/llvm/llvm-project/commit/b851c7f1fc4fd83ea84d565bbdc30fd0d356788c
Author: martinboehme <mboehme at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Support `StmtExpr` in `PropagateResultObject()`. (#88872)
This patch adds a test that assert-fails without the fix.
Commit: 47148832d4e3bf4901430732f1af6673147accb2
https://github.com/llvm/llvm-project/commit/47148832d4e3bf4901430732f1af6673147accb2
Author: Hideto Ueno <uenoku.tokotoko at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir-c/IR.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/CAPI/IR/IR.cpp
M mlir/test/CAPI/ir.c
M mlir/test/python/ir/operation.py
Log Message:
-----------
[mlir][python] Add `walk` method to PyOperationBase (#87962)
This commit adds `walk` method to PyOperationBase that uses a python
object as a callback, e.g. `op.walk(callback)`. Currently callback must
return a walk result explicitly.
We(SiFive) have implemented walk method with python in our internal
python tool for a while. However the overhead of python is expensive and
it didn't scale well for large MLIR files. Just replacing walk with this
version reduced the entire execution time of the tool by 30~40% and
there are a few configs that the tool takes several hours to finish so
this commit significantly improves tool performance.
Commit: 1bccbe1f49abc39b9f980cf3f1b171da5541d1a4
https://github.com/llvm/llvm-project/commit/1bccbe1f49abc39b9f980cf3f1b171da5541d1a4
Author: martinboehme <mboehme at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Treat `BuiltinBitCastExpr` correctly in `PropagateResultObject()`. (#88875)
This patch includes a test that assert-fails without the fix.
Commit: 64c649585ca23a0c996d8814d2796cd348441d69
https://github.com/llvm/llvm-project/commit/64c649585ca23a0c996d8814d2796cd348441d69
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][NFC] Move `Sema::SkipBodyInfo` into namespace scope
This makes it forward-declarable, and needed from splitting `Sema` up.
Commit: 16f188761da1df6ba5e6627b8742aacfec8e9ec5
https://github.com/llvm/llvm-project/commit/16f188761da1df6ba5e6627b8742aacfec8e9ec5
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
Log Message:
-----------
CompilerRT: Normalize COMPILER_RT_DEFAULT_TARGET_TRIPLE (#88835)
If LLVM is configured with -DLLVM_DEFAULT_TARGET_TRIPLE, or compiler_rt
is configured with -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE, while the
argument is not normalized, such as Debian-style vendor-less triple,
clang will try to find libclang_rt in lib/<normalized_triple>, while
libclang_rt is placed into lib/<triple_arg>.
Let's also place libclang_rt into lib/<normalized_triple>.
Commit: b090569685699abe4a8031ad442a0f81e373146b
https://github.com/llvm/llvm-project/commit/b090569685699abe4a8031ad442a0f81e373146b
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Support Zama16b1p0 (#88474)
This patch adds the support for Zama16b version 1.0, which has been
added to RVA23U64 optional extensions recently
Commit: d35a64363bb851045387717d2ef7d6449b7b547f
https://github.com/llvm/llvm-project/commit/d35a64363bb851045387717d2ef7d6449b7b547f
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/test/SemaCXX/PR41441.cpp
Log Message:
-----------
Revert "Fix test from #83124 and #88902"
This reverts commit 0a789ea8a829da345e46d8224d73b2ddaba6969f.
Breaks builds, see discussion in https://github.com/llvm/llvm-project/pull/83124
Commit: dbda478693104f78b142375862d66f3369ad8c78
https://github.com/llvm/llvm-project/commit/dbda478693104f78b142375862d66f3369ad8c78
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
R clang/test/SemaCXX/PR41441.cpp
A clang/test/SemaCXX/instantiate-new-placement-size.cpp
Log Message:
-----------
Revert "[Clang][Sema] placement new initializes typedef array with correct size (#88902)"
This reverts commit 5c6af605b307213453a9a043532b9293db21b5c6.
Breaks builds, see discussion in https://github.com/llvm/llvm-project/pull/83124
Commit: dd84d23adc84cc0c3d2b8fb8f0c353279d99d27a
https://github.com/llvm/llvm-project/commit/dd84d23adc84cc0c3d2b8fb8f0c353279d99d27a
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
R clang/test/SemaCXX/instantiate-new-placement-size.cpp
Log Message:
-----------
Revert "[Clang][Sema] placement new initializes typedef array with correct size (#83124)"
This reverts commit c309dc6d0759b23b570c563f611530ff1a49e1bd.
Breaks builds, see discussion in https://github.com/llvm/llvm-project/pull/83124
Commit: bc3620d3a8b1be9534a5635431b0aa09cc50ff3c
https://github.com/llvm/llvm-project/commit/bc3620d3a8b1be9534a5635431b0aa09cc50ff3c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-libcall-sincos-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
Log Message:
-----------
AMDGPU: Move libcall simplify into PeepholeEP (#88853)
We were running this immediately on the incoming IR, which
is still littered with temporary allocas obscuring trivial values.
This needs to run after initial SROA to handle sincos insertion.
Commit: e11b17a4ed90e74147594012207fc35a60515944
https://github.com/llvm/llvm-project/commit/e11b17a4ed90e74147594012207fc35a60515944
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
Log Message:
-----------
[clang][NFC] Refactor `Sema::CheckedConversionKind`
Convert it to scoped enum, and move it to namespace scope to enable forward declarations.
Commit: 49b209d0d1833a339e66735e1288c1805224603e
https://github.com/llvm/llvm-project/commit/49b209d0d1833a339e66735e1288c1805224603e
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
Revert "[Libomptarget] Rework Record & Replay to be a plugin member" (#89028)
Reverts llvm/llvm-project#88928
This broke the AMDGPU buildbots:
https://lab.llvm.org/buildbot/#/builders/193/builds/50201
https://lab.llvm.org/staging/#/builders/185/builds/5565
https://lab.llvm.org/buildbot/#/builders/259/builds/2955
Commit: 9f3334e9932fc9b55cd3590b140913222454c031
https://github.com/llvm/llvm-project/commit/9f3334e9932fc9b55cd3590b140913222454c031
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block3d.mlir
Log Message:
-----------
[mlir][SparseTensor] Add missing dependent dialect to pass (#88870)
This commit fixes the following error when stopping the sparse compiler
pipeline after bufferization (e.g., with `test-analysis-only`):
```
LLVM ERROR: Building op `vector.print` but it isn't known in this MLIRContext: the dialect may not be loaded or this operation hasn't been added by the dialect. See also https://mlir.llvm.org/getting_started/Faq/#registered-loaded-dependent-whats-up-with-dialects-management
```
Commit: 889dfd4ab35892840f2bd2d6d7fed6fac025e18e
https://github.com/llvm/llvm-project/commit/889dfd4ab35892840f2bd2d6d7fed6fac025e18e
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libc/src/__support/macros/sanitizer.h
Log Message:
-----------
[libc][msan] Fix "non-constexpr function '__msan_unpoison' cannot be used in a constant expression" (#88719)
Prior to this patch, calling `cpp::bit_cast<T>` in `constexpr`
expressions under `-fsanitize=memory` would fail with the following
message "non-constexpr function '__msan_unpoison' cannot be used in a
constant expression".
This patch makes sure that the `__msan_unpoison` expression is guarded
by `!__builtin_is_constant_evaluated()`.
Commit: 17b86d5978af8d171fa28763a9e5eba3ce93713a
https://github.com/llvm/llvm-project/commit/17b86d5978af8d171fa28763a9e5eba3ce93713a
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-ptest.ll
Log Message:
-----------
[X86][NFC] Add test cases for pr88958
Commit: d1a69e4a6ee0b04778da7728123c47eef2290564
https://github.com/llvm/llvm-project/commit/d1a69e4a6ee0b04778da7728123c47eef2290564
Author: shamithoke <152091883+shamithoke at users.noreply.github.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
Move gfni for bitreverse check out of SSSE3. (#88938)
For lowering bitreverse using GFNI, the check is put under SSSE3. This can be pulled out of SSSE3.
Co-authored-by: shami <shami_thoke at yahoo.com>
Commit: a16bb0701409376dee3a587ae351a6019d6de4e0
https://github.com/llvm/llvm-project/commit/a16bb0701409376dee3a587ae351a6019d6de4e0
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/dotest.py
Log Message:
-----------
[lldb][test] Improve invalid compiler error message
I was debugging space separation issues when passing user arguments
and noticed this error is really hard to read in that scenario.
Put "" around the invalid compiler name so you can tell whether
you have spaces around it that's causing the problem.
Commit: d9a5aa8e2d755643cf4e7fa86aa831ed226fe54d
https://github.com/llvm/llvm-project/commit/d9a5aa8e2d755643cf4e7fa86aa831ed226fe54d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
M llvm/test/Transforms/InstCombine/abs-1.ll
M llvm/test/Transforms/InstCombine/add-mask-neg.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/and-xor-or.ll
M llvm/test/Transforms/InstCombine/and.ll
M llvm/test/Transforms/InstCombine/and2.ll
M llvm/test/Transforms/InstCombine/ashr-lshr.ll
M llvm/test/Transforms/InstCombine/ashr-or-mul-abs.ll
M llvm/test/Transforms/InstCombine/binop-and-shifts.ll
M llvm/test/Transforms/InstCombine/binop-of-displaced-shifts.ll
M llvm/test/Transforms/InstCombine/canonicalize-clamp-like-pattern-between-zero-and-positive-threshold.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sge-to-icmp-sle.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sgt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sle-to-icmp-sle.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-slt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-uge-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ugt-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ule-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-eq-to-icmp-ule.ll
M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/cast-int-icmp-eq-0.ll
M llvm/test/Transforms/InstCombine/cast-unsigned-icmp-eqcmp-0.ll
M llvm/test/Transforms/InstCombine/cast.ll
M llvm/test/Transforms/InstCombine/ctpop-cttz.ll
M llvm/test/Transforms/InstCombine/ctpop.ll
M llvm/test/Transforms/InstCombine/fabs-as-int.ll
M llvm/test/Transforms/InstCombine/fabs.ll
M llvm/test/Transforms/InstCombine/fast-math.ll
M llvm/test/Transforms/InstCombine/fcmp-special.ll
M llvm/test/Transforms/InstCombine/fcmp.ll
M llvm/test/Transforms/InstCombine/fdiv.ll
M llvm/test/Transforms/InstCombine/fma.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/fneg-as-int.ll
M llvm/test/Transforms/InstCombine/fneg-fabs-as-int.ll
M llvm/test/Transforms/InstCombine/fneg.ll
M llvm/test/Transforms/InstCombine/fold-inc-of-add-of-not-x-and-y-to-sub-x-from-y.ll
M llvm/test/Transforms/InstCombine/fold-sub-of-not-to-inc-of-add.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
M llvm/test/Transforms/InstCombine/fsub.ll
M llvm/test/Transforms/InstCombine/funnel.ll
M llvm/test/Transforms/InstCombine/get-lowbitmask-upto-and-including-bit.ll
M llvm/test/Transforms/InstCombine/hoist-negation-out-of-bias-calculation.ll
M llvm/test/Transforms/InstCombine/hoist-not-from-ashr-operand.ll
M llvm/test/Transforms/InstCombine/icmp-uge-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-uge-of-not-of-shl-allones-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ugt-of-shl-1-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ule-of-shl-1-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ult-of-add-of-shl-one-by-bits-to-allones-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp-ult-of-not-of-shl-allones-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/integer-round-up-pow2-alignment.ll
M llvm/test/Transforms/InstCombine/invert-variable-mask-in-masked-merge-vector.ll
M llvm/test/Transforms/InstCombine/lshr-and-negC-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/lshr-and-signbit-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/masked-merge-add.ll
M llvm/test/Transforms/InstCombine/masked-merge-or.ll
M llvm/test/Transforms/InstCombine/masked-merge-xor.ll
M llvm/test/Transforms/InstCombine/min-positive.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
M llvm/test/Transforms/InstCombine/mul-inseltpoison.ll
M llvm/test/Transforms/InstCombine/mul.ll
M llvm/test/Transforms/InstCombine/not-add.ll
M llvm/test/Transforms/InstCombine/not.ll
M llvm/test/Transforms/InstCombine/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
M llvm/test/Transforms/InstCombine/operand-complexity.ll
M llvm/test/Transforms/InstCombine/or.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-b.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-c.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-d.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-b.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-c.ll
M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-d.ll
M llvm/test/Transforms/InstCombine/pr53357.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-b.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-c.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-d.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-c.ll
M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.ll
M llvm/test/Transforms/InstCombine/reuse-constant-from-select-in-icmp.ll
M llvm/test/Transforms/InstCombine/rotate.ll
M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
M llvm/test/Transforms/InstCombine/select-of-bittest.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/select_meta.ll
M llvm/test/Transforms/InstCombine/set-lowbits-mask-canonicalize.ll
M llvm/test/Transforms/InstCombine/sext.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-ashr.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation-with-truncation-lshr.ll
M llvm/test/Transforms/InstCombine/shift-amount-reassociation.ll
M llvm/test/Transforms/InstCombine/shift-logic.ll
M llvm/test/Transforms/InstCombine/shl-and-negC-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/shl-and-signbit-icmpeq-zero.ll
M llvm/test/Transforms/InstCombine/signmask-of-sext-vs-of-shl-of-zext.ll
M llvm/test/Transforms/InstCombine/sub-not.ll
M llvm/test/Transforms/InstCombine/sub.ll
M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
M llvm/test/Transforms/InstCombine/trunc-shift-trunc.ll
M llvm/test/Transforms/InstCombine/trunc.ll
M llvm/test/Transforms/InstCombine/unsigned-mul-lack-of-overflow-check-via-udiv-of-allones.ll
M llvm/test/Transforms/InstCombine/unsigned-mul-overflow-check-via-udiv-of-allones.ll
M llvm/test/Transforms/InstCombine/variable-signext-of-variable-high-bit-extraction.ll
M llvm/test/Transforms/InstCombine/vec_sext.ll
M llvm/test/Transforms/InstCombine/vector-casts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vector-casts.ll
M llvm/test/Transforms/InstCombine/vector-urem.ll
M llvm/test/Transforms/InstCombine/vector-xor.ll
M llvm/test/Transforms/InstCombine/zext-bool-add-sub.ll
M llvm/test/Transforms/InstSimplify/AndOrXor.ll
M llvm/test/Transforms/InstSimplify/call.ll
M llvm/test/Transforms/InstSimplify/compare.ll
M llvm/test/Transforms/InstSimplify/constantfold-add-nuw-allones-to-allones.ll
M llvm/test/Transforms/InstSimplify/constantfold-shl-nuw-C-to-C.ll
M llvm/test/Transforms/InstSimplify/div.ll
M llvm/test/Transforms/InstSimplify/fast-math-strictfp.ll
M llvm/test/Transforms/InstSimplify/fast-math.ll
M llvm/test/Transforms/InstSimplify/fdiv.ll
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic-strictfp.ll
M llvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
M llvm/test/Transforms/InstSimplify/floating-point-compare.ll
M llvm/test/Transforms/InstSimplify/fminmax-folds.ll
M llvm/test/Transforms/InstSimplify/fp-nan.ll
M llvm/test/Transforms/InstSimplify/icmp-bool-constant.ll
M llvm/test/Transforms/InstSimplify/icmp-not-bool-constant.ll
M llvm/test/Transforms/InstSimplify/ldexp.ll
M llvm/test/Transforms/InstSimplify/mul.ll
M llvm/test/Transforms/InstSimplify/negate.ll
M llvm/test/Transforms/InstSimplify/or.ll
M llvm/test/Transforms/InstSimplify/ptrmask.ll
M llvm/test/Transforms/InstSimplify/rem.ll
M llvm/test/Transforms/InstSimplify/saturating-add-sub.ll
M llvm/test/Transforms/InstSimplify/sdiv.ll
M llvm/test/Transforms/InstSimplify/select-inseltpoison.ll
M llvm/test/Transforms/InstSimplify/select.ll
M llvm/test/Transforms/InstSimplify/shift.ll
M llvm/test/Transforms/InstSimplify/srem.ll
M llvm/test/Transforms/InstSimplify/sub.ll
M llvm/test/Transforms/InstSimplify/xor.ll
M llvm/test/Transforms/Reassociate/inverses.ll
M llvm/test/Transforms/Reassociate/negation.ll
M llvm/unittests/IR/ConstantsTest.cpp
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[PatternMatch] Do not accept undef elements in m_AllOnes() and friends (#88217)
Change all the cstval_pred_ty based PatternMatch helpers (things like
m_AllOnes and m_Zero) to only allow poison elements inside vector
splats, not undef elements.
Historically, we used to represent non-demanded elements in vectors
using undef. Nowadays, we use poison instead. As such, I believe that
support for undef in vector splats is no longer useful.
At the same time, while poison splat elements are pretty much always
safe to ignore, this is not generally the case for undef elements. We
have existing miscompiles in our tests due to this (see the
masked-merge-*.ll tests changed here) and it's easy to miss such cases
in the future, now that we write tests using poison instead of undef
elements.
I think overall, keeping support for undef elements no longer makes
sense, and we should drop it. Once this is done consistently, I think we
may also consider allowing poison in m_APInt by default, as doing that
change is much less risky than doing the same with undef.
This change involves a substantial amount of test changes. For most
tests, I've just replaced undef with poison, as I don't think there is
value in retaining both. For some tests (where the distinction between
undef and poison is important), I've duplicated tests.
Commit: 971237dab259bdaa619403fc6472bd1758d4dc18
https://github.com/llvm/llvm-project/commit/971237dab259bdaa619403fc6472bd1758d4dc18
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
A flang/test/Lower/HLFIR/internal-procedures-bindc-host.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/OpenACC/acc-routine04.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association.f90
M flang/test/Lower/character-elemental.f90
M flang/test/Lower/equivalence-with-host-assoc.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/host-associated-functions.f90
M flang/test/Lower/host-associated-globals.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/polymorphic.f90
Log Message:
-----------
[flang] Retain internal and BIND(C) host procedure link in FIR (#87796)
Currently, it is not possible to find back which fun.func is the host
procedure of some internal procedure because the mangling of the
internal procedure does not contain info about the BIND(C) name of the
host.
This info may be useful to ensure dwarf DW_TAG_subprogram of internal
procedures are nested under DW_TAG_subprogram of host procedures for
instance.
Commit: b512df660ef136f8bbd0895bf862a827923a6714
https://github.com/llvm/llvm-project/commit/b512df660ef136f8bbd0895bf862a827923a6714
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBankInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBanks.td
M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
M llvm/test/CodeGen/SPIRV/instructions/select-phi.ll
A llvm/test/CodeGen/SPIRV/instructions/select-ptr-load.ll
M llvm/test/CodeGen/SPIRV/instructions/select.ll
A llvm/test/CodeGen/SPIRV/select-builtin.ll
R llvm/test/CodeGen/SPIRV/select.ll
Log Message:
-----------
[SPIR-V] Improve Tablegen instruction selection and account for a pointer size of the target (#88725)
This PR resolves the issue that SPIR-V Backend uses the notion of a
pointer size of the target, most notably, in legalizer code, but
Tablegen instruction selection in SPIR-V Backend doesn't account for a
pointer size of the target. See
https://github.com/llvm/llvm-project/issues/88723 for a detailed
description. There are 3 test cases attached to the PR that reproduced
the issue, when dealing with spirv32-spirv64 differences, and are
working correctly now with this PR.
Commit: 42d801d4e42ff8c47c3a24d562774851e3a424f5
https://github.com/llvm/llvm-project/commit/42d801d4e42ff8c47c3a24d562774851e3a424f5
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
A llvm/test/CodeGen/SPIRV/transcoding/memcpy-zext.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
Log Message:
-----------
[SPIR-V] Account for zext in a llvm intrinsic call (#88903)
This PR addresses an issue that may arise when an integer argument size
differs from a machine word size for the target in a call to llvm
intrinsic. The following example demonstrates the issue:
```
@__const.test.arr = private unnamed_addr addrspace(2) constant [3 x i32] [i32 1, i32 2, i32 3]
define spir_func void @test() {
entry:
%arr = alloca [3 x i32], align 4
%dest = bitcast ptr %arr to ptr
call void @llvm.memcpy.p0.p2.i32(ptr align 4 %dest, ptr addrspace(2) align 4 @__const.test.arr, i32 1024, i1 false)
ret void
}
declare void @llvm.memcpy.p0.p2.i32(ptr nocapture writeonly, ptr addrspace(2) nocapture readonly, i32, i1)
```
Depending on the target this code may work or may fail without this PR
due to the fact that IR Translation step introduces additional `zext`
when type of the 3rd argument of `@llvm.memcpy.p0.p2.i32` differs from
machine word.
This PR addresses the issue by adding type deduction for a newly
inserted G_ZEXT generic opcode.
Commit: fa61f062a515be92a98cac64a9193498918c1225
https://github.com/llvm/llvm-project/commit/fa61f062a515be92a98cac64a9193498918c1225
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
A flang/test/Semantics/OpenMP/threadprivate07.f90
Log Message:
-----------
Fix threadprivate variable scope inside BLOCK construct. (#88921)
When a local variable inside a BLOCK construct is used as threadprivate
variable, llvm-flang throws below error:
> error: The THREADPRIVATE directive and the common block or variable in
it must appear in the same declaration section of a scoping unit
Commit: cbe148b730a04fc95eda9a43903f0af487884a96
https://github.com/llvm/llvm-project/commit/cbe148b730a04fc95eda9a43903f0af487884a96
Author: Mel Chen <mel.chen at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV][NFC] Remove the declaration of function `fixReduction`. (#88491)
Commit: a9bafe91dd088c5fa6f074c14dd3a1af25f00457
https://github.com/llvm/llvm-project/commit/a9bafe91dd088c5fa6f074c14dd3a1af25f00457
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Split VPWidenMemoryInstructionRecipe (NFCI). (#87411)
This patch introduces a new VPWidenMemoryRecipe base class and distinct
sub-classes to model loads and stores.
This is a first step in an effort to simplify and modularize code
generation for widened loads and stores and enable adding further more
specialized memory recipes.
PR: https://github.com/llvm/llvm-project/pull/87411
Commit: f4737a2edd900df661750116821806bb45e4086a
https://github.com/llvm/llvm-project/commit/f4737a2edd900df661750116821806bb45e4086a
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/stable_ir_values_funcs.ll.expected
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
update_test_checks: keep names stable with generated functions (#87988)
Collect the original check lines in a manner that is independent of
where the check lines appear in the file. This is so that we keep
FileCheck variable names stable even when --include-generated-funcs is
used.
Reported-by: Ruiling Song <ruiling.song at amd.com>
Commit: 3eb0ba34b0a2a29c2f34ead2b84fdf9b62cb29c1
https://github.com/llvm/llvm-project/commit/3eb0ba34b0a2a29c2f34ead2b84fdf9b62cb29c1
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Lower/OpenMP/FIR/if-clause.f90
M flang/test/Lower/OpenMP/FIR/loop-combined.f90
M flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
M flang/test/Lower/OpenMP/FIR/simd.f90
M flang/test/Lower/OpenMP/if-clause.f90
M flang/test/Lower/OpenMP/loop-combined.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/simd.f90
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[MLIR][Flang][OpenMP] Make omp.simdloop into a loop wrapper (#87365)
This patch updates the definition of `omp.simdloop` to enforce the
restrictions of a wrapper operation. It has been renamed to `omp.simd`,
to better reflect the naming used in the spec. All uses of "simdloop" in
function names have been updated accordingly.
Some changes to Flang lowering and OpenMP to LLVM IR translation are
introduced to prevent the introduction of compilation/test failures. The
eventual long term solution might be different.
Commit: 16b0be613205a37519e2bfec1a904ceaa89636e7
https://github.com/llvm/llvm-project/commit/16b0be613205a37519e2bfec1a904ceaa89636e7
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[MLIR][OpenMP] NFC: Remove LoopControl parsing/printing code (#88909)
This patch removes the LoopControl parsing/printing functions that are
no longer used after transitioning `omp.simdloop` and `omp.taskloop`
into loop wrapper operations.
Commit: a02019960b1a693320cd43b0ed6653d95877b94f
https://github.com/llvm/llvm-project/commit/a02019960b1a693320cd43b0ed6653d95877b94f
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/vxrm.mir
Log Message:
-----------
[RISCV] Assert only valid AVLs in doLocalPostpass are X0 or virtual regs. NFC
In vxrm.mir we were running RISCVInsertVSETVLI on pseudos that already had
vsetvlis inserted and their AVLs set to $noreg. (This happened to work
since doLocalPostpass got rid of the extra vsetvli)
This removes the vsetvlis from the test and enforces that the only valid
AVLs we work with are either X0 or virtual registers (or $noreg before
emitVSETVLIs), since we don't handle physical registers properly in
doLocalPostpass.
Commit: a634f3ef39c0c547b87f1ee4ebe02ee3a256587f
https://github.com/llvm/llvm-project/commit/a634f3ef39c0c547b87f1ee4ebe02ee3a256587f
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.globals.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.noglobals.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.transitiveglobals.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/various_ir_values_dbgrecords.test
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
[RemoveDIs] Update update_test_checks script to recognize dbg_records (#87388)
As we've added new IR elements for the RemoveDIs project,
we need the update_test_checks script to understand them. For the
records themselves this is already done automatically, but their
metadata arguments are not recognized as such due to lacking the
`metadata` prefix, which means they won't be checked by the script. This
patch fixes this by adding a check for all `![0-9]+` patterns as long as
they are not at the start of a line (which avoids matching global
values).
Commit: 792d437b56adfb3416daf8105942d4899fb82763
https://github.com/llvm/llvm-project/commit/792d437b56adfb3416daf8105942d4899fb82763
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
Log Message:
-----------
[clang-tidy NFC] Fix a typo in docs for sizeof-expression (#88912)
"Till heaven and earth pass, one jot, or one tittle shall not pass of
the law"
Commit: 5f3e106de3cd5ce6d7ba37fb11f6ad740cb430c5
https://github.com/llvm/llvm-project/commit/5f3e106de3cd5ce6d7ba37fb11f6ad740cb430c5
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
A lldb/test/API/commands/process/detach-resumes/Makefile
A lldb/test/API/commands/process/detach-resumes/TestDetachResumes.py
A lldb/test/API/commands/process/detach-resumes/main.cpp
M lldb/test/API/functionalities/fork/concurrent_vfork/TestConcurrentVFork.py
Log Message:
-----------
[lldb/linux] Make sure the process continues running after a detach (#88494)
Fixes #85084
Whenever an inferior thread stops, lldb-server sends a SIGSTOP to all
other threads in the process to force them to stop as well. If those
threads stop on their own before they get a signal, this SIGSTOP will
remain pending and be delivered the next time the process resumes.
Normally, this is not a problem, because lldb-server will detect this
stale SIGSTOP and resume the process. However, if we detach from the
process while it has these SIGSTOPs pending, they will get immediately
delivered, and the process will remain stopped (most likely forever).
This patch fixes that by sending a SIGCONT just before detaching from
the process. This signal cancels out any pending SIGSTOPs, and ensures
it is able to run after we detach. It does have one somewhat unfortunate
side-effect that in that the process's SIGCONT handler (if it has one)
will get executed spuriously (from the process's POV).
This could be _sometimes_ avoided by tracking which threads got send a
SIGSTOP, and whether those threads stopped due to it. From what I could
tell by observing its behavior, this is what gdb does. I have not tried
to replicate that behavior here because it adds a nontrivial amount of
complexity and the result is still uncertain -- we still need to send a
SIGCONT (and execute the handler) when any thread stops for some other
reason (and leaves our SIGSTOP hanging). Furthermore, since SIGSTOPs
don't stack, it's also possible that our SIGSTOP/SIGCONT combination
will cancel a genuine SIGSTOP being sent to the debugger application (by
someone else), and there is nothing we can do about that. For this
reason I think it's simplest and most predictible to just always send a
SIGCONT when detaching, but if it turns out this is breaking something,
we can consider implementing something more elaborate.
One alternative I did try is to use PTRACE_INTERRUPT to suspend the
threads instead of a SIGSTOP. PTRACE_INTERUPT requires using
PTRACE_SEIZE to attach to the process, which also made this solution
somewhat complicated, but the main problem with that approach is that
PTRACE_INTERRUPT is not considered to be a signal-delivery-stop, which
means it's not possible to resume it while injecting another signal to
the inferior (which some of our tests expect to be able to do). This
limitation could be worked around by forcing the thread into a signal
delivery stop whenever we need to do this, but this additional
complication is what made me think this approach is also not worthwhile.
This patch should fix (at least some of) the problems with
TestConcurrentVFork, but I've also added a dedicated test for checking
that a process keeps running after we detach. Although the problem I'm
fixing here is linux-specific, the core functinoality of not stopping
after a detach should function the same way everywhere.
Commit: c8dca5bc0733e2fba81008fc33fcad1f45ba666a
https://github.com/llvm/llvm-project/commit/c8dca5bc0733e2fba81008fc33fcad1f45ba666a
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP][Lower] Refactor lowering of compound constructs (#87070)
This patch simplifies the lowering from PFT to MLIR of OpenMP compound
constructs (i.e. combined and composite).
The new approach consists of iteratively processing the outermost leaf
construct of the given combined construct until it cannot be split
further. Both leaf constructs and composite ones have `gen...()`
functions that are called when appropriate.
This approach enables treating a leaf construct the same way regardless
of if it appeared as part of a combined construct, and it also enables
the lowering of composite constructs as a single unit.
Previous corner cases are now handled in a more straightforward way and
comments pointing to the relevant spec section are added. Directive sets
are also completed with missing LOOP related constructs.
Commit: 06eedffe0d2782922e63cc25cb927f4acdaf7b30
https://github.com/llvm/llvm-project/commit/06eedffe0d2782922e63cc25cb927f4acdaf7b30
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
Log Message:
-----------
[analyzer] Use explicit call description mode in iterator checkers (#88913)
This commit explicitly specifies the matching mode (C library function,
any non-method function, or C++ method) for the `CallDescription`s
constructed in the iterator/container checkers.
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 will perform (or have already performed) this change in
other 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.
I'm handling the iterator checkers in this separate commit because
they're infamously complex; but I don't expect any trouble because this
transition doesn't interact with the "central" logic of iterator
handling.
Commit: 631c5e818ef8bb0f61fd3bb44cc4449be2142e2b
https://github.com/llvm/llvm-project/commit/631c5e818ef8bb0f61fd3bb44cc4449be2142e2b
Author: MbjYjbpivj <mbjyjbpivj at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir/IR/CommonAttrConstraints.td
Log Message:
-----------
[mlir] fix intNEQValue summary (#89029)
Fix the summary of intNEQValue.
Commit: d57907d0b4f292f148310695ed011fe5a0585d6b
https://github.com/llvm/llvm-project/commit/d57907d0b4f292f148310695ed011fe5a0585d6b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/include/__algorithm/pstl_any_all_none_of.h
M libcxx/include/__algorithm/pstl_copy.h
M libcxx/include/__algorithm/pstl_count.h
M libcxx/include/__algorithm/pstl_equal.h
M libcxx/include/__algorithm/pstl_fill.h
M libcxx/include/__algorithm/pstl_find.h
M libcxx/include/__algorithm/pstl_for_each.h
M libcxx/include/__algorithm/pstl_generate.h
M libcxx/include/__algorithm/pstl_is_partitioned.h
M libcxx/include/__algorithm/pstl_merge.h
M libcxx/include/__algorithm/pstl_move.h
M libcxx/include/__algorithm/pstl_replace.h
M libcxx/include/__algorithm/pstl_rotate_copy.h
M libcxx/include/__algorithm/pstl_sort.h
M libcxx/include/__algorithm/pstl_stable_sort.h
M libcxx/include/__algorithm/pstl_transform.h
M libcxx/include/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__numeric/pstl_reduce.h
M libcxx/include/__numeric/pstl_transform_reduce.h
M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp
A libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
M libcxx/test/support/test_iterators.h
Log Message:
-----------
[libc++] Add missing iterator requirement checks in the PSTL (#88127)
Also add tests for those, and add a few missing requirements to testing
iterators in the test suite.
Commit: 6c7853080451a7f9ba612f57b41a076061b2a1a9
https://github.com/llvm/llvm-project/commit/6c7853080451a7f9ba612f57b41a076061b2a1a9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
Log Message:
-----------
[X86] vector-shuffle-combining-sse41.ll - add missing AVX1/2/512 check prefixes
Commit: 37b26bf48b9894ed0c13fd1aede23472660fb75e
https://github.com/llvm/llvm-project/commit/37b26bf48b9894ed0c13fd1aede23472660fb75e
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/test/Dialect/Transform/test-pattern-application.mlir
Log Message:
-----------
[mlir] transform.apply_patterns support more config options (#88484)
Greedy rewrite driver has options to control the number of rewrites
applies. Expose those via the corresponding transform op.
Commit: 4536ad47579d8d61f372ab85128bcfaed58a1256
https://github.com/llvm/llvm-project/commit/4536ad47579d8d61f372ab85128bcfaed58a1256
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Fix clang-tidy warning about else after return. NFC
Commit: 86a78284e7ce2ecc7a9283c7d141566a32371492
https://github.com/llvm/llvm-project/commit/86a78284e7ce2ecc7a9283c7d141566a32371492
Author: Quentin Dian <dianqk at dianqk.net>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/TailDuplicator.cpp
A llvm/test/CodeGen/X86/tail-dup-pred-succ-size.mir
Log Message:
-----------
[TailDuplicator] Add maximum predecessors and successors to consider tail duplicating blocks (#78582)
Fixes #78578.
Duplicating a BB which has both multiple predecessors and successors
will result in a complex CFG and also may cause huge amount of PHI
nodes. See
https://github.com/llvm/llvm-project/issues/78578#issuecomment-1962363580
for a detailed description of the limit.
Commit: 915c84b1480bb3c6d2e44ca83822d2c2304b763a
https://github.com/llvm/llvm-project/commit/915c84b1480bb3c6d2e44ca83822d2c2304b763a
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M lldb/source/Expression/IRExecutionUnit.cpp
Log Message:
-----------
[lldb] Fix evaluation of expressions with static initializers (#89063)
After 281d71604f418eb952e967d9dc4b26241b7f96a, llvm generates 32-bit
relocations, which overflow when we load these objects into high memory.
Interestingly, setting the code model to "large" does not help here
(perhaps it is the default?). I'm not completely sure that this is the
right thing to do, but it doesn't seem to cause any ill effects. I'll
follow up with the author of that patch about the expected behavior
here.
Commit: 79726ef5d20f3bf6510b67d7dd3378b8a41db768
https://github.com/llvm/llvm-project/commit/79726ef5d20f3bf6510b67d7dd3378b8a41db768
Author: Kevin P. Neal <kevin.neal at sas.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.h
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/IR/Function.cpp
A llvm/test/CodeGen/Generic/expand-vp-fp-intrinsics.ll
Log Message:
-----------
[VP] Correct lowering of predicated fma and faddmul to avoid strictfp. (#85272)
Correct missing cases in a switch that result in @llvm.vp.fma.v4f32
getting lowered to a constrained fma intrinsic. Vector predicated
lowering to contrained intrinsics is not supported currently, and
there's no consensus on the path forward. We certainly shouldn't be
introducing constrained intrinsics into a function that isn't strictfp.
Problem found with D146845.
Commit: 7b8625ec16efcb6d11e14a80e08c65dbfe68db9f
https://github.com/llvm/llvm-project/commit/7b8625ec16efcb6d11e14a80e08c65dbfe68db9f
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][Docs] Fix broken link to HRF memory model reference (#88696)
The link to the Heterogeneous-race-free Memory Models ASPLOS'14 paper by
Hower et al. pointed to a bogus website, probably because the domain
ownership has changed.
This patch updates it to a version hosted on research.cs.wisc.edu.
Commit: 971ec1f0eea324d4a1eec6709e2c97e1798a6002
https://github.com/llvm/llvm-project/commit/971ec1f0eea324d4a1eec6709e2c97e1798a6002
Author: DianQK <dianqk at dianqk.net>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/Transforms/Inline/inline-switch-default-2.ll
Log Message:
-----------
[Inline] Regenerate inline-switch-default-2.ll (NFC)
Commit: 73140daebbf522dbb14dc4b2f3c67dc0aa1a62dd
https://github.com/llvm/llvm-project/commit/73140daebbf522dbb14dc4b2f3c67dc0aa1a62dd
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/Transform/Interpreter.h
M mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
M mlir/python/mlir/dialects/transform/interpreter/__init__.py
M mlir/test/python/dialects/transform_interpreter.py
Log Message:
-----------
[mlir] expose transform dialect symbol merge to python (#87690)
This functionality is available in C++, make it available in Python
directly to operate on transform modules.
Commit: 20d653fdb2d4d6eafa4575cd954beaf7ecad113a
https://github.com/llvm/llvm-project/commit/20d653fdb2d4d6eafa4575cd954beaf7ecad113a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/RegisterPressure.cpp
Log Message:
-----------
[LLVM][CodeGen] Fix register lane liveness tracking in RegisterPressure (#88892)
Re-enable an old assertion in `decreaseSetPressure`.
Commit: 1fc72dbc807fb138cafd05501e2e31beaa574693
https://github.com/llvm/llvm-project/commit/1fc72dbc807fb138cafd05501e2e31beaa574693
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
Log Message:
-----------
[RISCV] Add test for doLocalPostpass issue not checking if VL was modified. NFC
Commit: 76ad2897480a85532eee93daf041246881772693
https://github.com/llvm/llvm-project/commit/76ad2897480a85532eee93daf041246881772693
Author: Zaara Syeda <syzaara at ca.ibm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/PowerPC/P10InstrResources.td
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCMacroFusion.def
M llvm/test/CodeGen/PowerPC/toc-data.ll
Log Message:
-----------
[PowerPC] 32-bit large code-model support for toc-data (#85129)
This patch adds the pseudo op ADDItocL for 32-bit large code-model
support for toc-data.
Commit: edbeae373489a2e710f328ceba50b4740c738217
https://github.com/llvm/llvm-project/commit/edbeae373489a2e710f328ceba50b4740c738217
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
Log Message:
-----------
[RISCV] Explicitly bail if something modifies VL/VTYPE in doLocalPostpass
If an instruction between MI and NextMI uses VL or VTYPE we demand the
respective fields so as to not clobber them at their uses. But we don't
consider if something might modify VL or VTYPE, and will happily coalesce
two vsetvlis when we need to preserve them.
This fixes this by skipping to the next vsetvli. Demanding the fields isn't
enough, as we need to preserve the VL and VTYPE values even if no fields
are demanded.
In practice this doesn't happen, presumably due to there not being any
instructions that write to VL or VTYPE without reading them. But I noticed
this whilst working on a separate patch and split it out.
Commit: 38205717501237f2b7a57eaabe65a8367e5f91c3
https://github.com/llvm/llvm-project/commit/38205717501237f2b7a57eaabe65a8367e5f91c3
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[C99] Remove WG14 N522 from the C status page
This paper is about type compatibility rules that changed in C99, but
this is only applicable across translation units and so there's nothing
for us to test. The specific change was that C89 allowed different tag
types (e.g., struct and union) to be compatible and C99 tightened that
restriction. This is a case where the user gets whatever they get if
they link two TUs with incompatible tag types.
Commit: 41b7341d6b27adf81262a5a0bd4e430675b73bbb
https://github.com/llvm/llvm-project/commit/41b7341d6b27adf81262a5a0bd4e430675b73bbb
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Factor out helper to recursively collect all users (NFCI).
Factor out logic to collect all users recursively to be re-used
in https://github.com/llvm/llvm-project/pull/87816.
Commit: 856d1c44103f09f2ed0448001de9dcda63055733
https://github.com/llvm/llvm-project/commit/856d1c44103f09f2ed0448001de9dcda63055733
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-atomics.ll
Log Message:
-----------
[AMDGPU] Fix predicates for BUFFER_ATOMIC_FMIN/FMAX patterns (#89066)
Use OtherPredicates to avoid interfering with other uses of
SubtargetPredicate for GFX12.
Commit: 4f88c2311130791cf69da34b743b1b3ba7584a7b
https://github.com/llvm/llvm-project/commit/4f88c2311130791cf69da34b743b1b3ba7584a7b
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/NVGPU.h
A mlir/lib/Bindings/Python/DialectNVGPU.cpp
M mlir/lib/CAPI/Dialect/NVGPU.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/dialects/nvgpu.py
M mlir/test/python/dialects/nvgpu.py
Log Message:
-----------
[mlir][py] Add NVGPU's `TensorMapDescriptorType` in py bindings (#88855)
This PR adds NVGPU dialects' TensorMapDescriptorType in the py bindings.
This is a follow-up issue from [this
PR](https://github.com/llvm/llvm-project/pull/87153#discussion_r1546193095)
Commit: fda04b1caaf1a61b208f23e717a2db6d9b861f5a
https://github.com/llvm/llvm-project/commit/fda04b1caaf1a61b208f23e717a2db6d9b861f5a
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libc/examples/README.md
M libc/examples/examples.cmake
Log Message:
-----------
[libc] Replace mentions of `LIBC_FULLBUILD` with `LLVM_LIBC_FULL_BUILD` in 'examples/' (#88657)
Resolves #88328
Commit: d558c090fc78beb6737098f058a084635b893567
https://github.com/llvm/llvm-project/commit/d558c090fc78beb6737098f058a084635b893567
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/include/clang/Sema/ParsedAttr.h
Log Message:
-----------
[NFC] Clean dead code in ParsedAttr.h (#89064)
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: dbafcd7e6d5b6c3aff74307b2ed5ee1834f275b0
https://github.com/llvm/llvm-project/commit/dbafcd7e6d5b6c3aff74307b2ed5ee1834f275b0
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M lldb/test/API/commands/process/detach-resumes/TestDetachResumes.py
Log Message:
-----------
[lldb] XFAIL TestDetachResumes on windows
Commit: e49043512dbdc68319093da46e95a1e331ef837e
https://github.com/llvm/llvm-project/commit/e49043512dbdc68319093da46e95a1e331ef837e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/bitreverse-codesize.ll
M llvm/test/Analysis/CostModel/X86/bitreverse-latency.ll
M llvm/test/Analysis/CostModel/X86/bitreverse-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/bitreverse.ll
Log Message:
-----------
[CostModel][X86] Update BITREVERSE costs for GFNI targets
Inspired by the recent patches by @shamithoke - we have real scheduler model numbers for GFNI instructions now, allowing us to calculate an upper bounds costs table instead of performing it analytically.
Commit: 4a5ab13bf5a94ec7f0eabaf24dfe1a5ee720b860
https://github.com/llvm/llvm-project/commit/4a5ab13bf5a94ec7f0eabaf24dfe1a5ee720b860
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
M llvm/test/Transforms/VectorCombine/AArch64/vecreduce-shuffle.ll
Log Message:
-----------
[VectorCombine] Remove single quotes from "-passes=vector-combine"
These confuse the update_test_checks.py script when run by DOS cmd.exe
Commit: 5d314353fbec1a15cd8900f466dcdcf2af40e8c9
https://github.com/llvm/llvm-project/commit/5d314353fbec1a15cd8900f466dcdcf2af40e8c9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Check for VPWidenLoadRecipe directly in truncateToMinBW. (NFCI).
Since ne
After a separate recipe has been introduced for wide loads in
a9bafe91dd0, we can directly check for load recipes in the early
bail-out and remove the redundant bail out for stores.
Commit: 812963f6aa2adb5e990f273b8ce1a0eabcdefd7f
https://github.com/llvm/llvm-project/commit/812963f6aa2adb5e990f273b8ce1a0eabcdefd7f
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/include/__chrono/formatter.h
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/ostream.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.system/sys_date.ostream.pass.cpp
M libcxx/test/std/time/time.syn/formatter.year_month_day.pass.cpp
Log Message:
-----------
[libc++][chrono] Improves date formatting. (#86127)
The formatting of years has been done manually since the results of %Y
outside the "typical" range may produce unexpected values. The same
applies to %F which is identical to %Y-%m-%d. None of these conversion
specifiers is affected by the locale used. So it's trivial to manually
handle this case.
This removes several platform specific ifdefs from the tests.
Commit: 458328ae23d318a5055d5bac66426b8551bce01f
https://github.com/llvm/llvm-project/commit/458328ae23d318a5055d5bac66426b8551bce01f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/include/clang/Sema/Lookup.h
A clang/include/clang/Sema/Redeclaration.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/InterpreterUtils.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Log Message:
-----------
[clang][NFC] Refactor `Sema::RedeclarationKind`
This patch converts the enum into scoped enum, and moves it into its own header for the time being. It's definition is needed in `Sema.h`, and is going to be needed in upcoming `SemaObjC.h`. `Lookup.h` can't hold it, because it includes `Sema.h`.
Commit: 950bb097e11d6ee26533c00519c62df994322228
https://github.com/llvm/llvm-project/commit/950bb097e11d6ee26533c00519c62df994322228
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
M clang/test/Sema/aarch64-sme-func-attrs.c
Log Message:
-----------
Revert "[Clang][AArch64] Warn when calling non/streaming about vector size difference (#79842)"
This reverts commit 4e85e1ffcaf161736e27a24c291c1177be865976
Commit: b854a2323337be2633b1135f590678a17e9d1ade
https://github.com/llvm/llvm-project/commit/b854a2323337be2633b1135f590678a17e9d1ade
Author: Robin Caloudis <robin.caloudis at gmx.de>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/c23.rst
M libc/docs/fenv.rst
M libc/spec/stdc.td
M libc/src/fenv/CMakeLists.txt
A libc/src/fenv/fetestexceptflag.cpp
A libc/src/fenv/fetestexceptflag.h
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/fenv/exception_flags_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
Log Message:
-----------
[libc][c23][fenv] Implement fetestexceptflag (#87828)
Provide C23 `fetestexceptflag` function according to 7.6.4.6 in the
latest [revision of the C
standard](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf)
from 2023-04-02.
Closes https://github.com/llvm/llvm-project/issues/87565.
Commit: 8656d4c6a7a742c6fa6ee02c2ace7415163e65e4
https://github.com/llvm/llvm-project/commit/8656d4c6a7a742c6fa6ee02c2ace7415163e65e4
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseDecl.cpp
A clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p6-cxx23.cpp
Log Message:
-----------
[Clang][Parse] Diagnose requires expressions with explicit object parameters (#88974)
Clang currently allows the following:
```
auto x = requires (this int) { true; };
```
This patch addresses that.
Commit: abd5e45a96954d80f6ffe6d8676c0059fae8573b
https://github.com/llvm/llvm-project/commit/abd5e45a96954d80f6ffe6d8676c0059fae8573b
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_atomic.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_mips.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_other.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_x86.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_msvc.h
M llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
Log Message:
-----------
[compiler-rt] Use __atomic builtins whenever possible
The code in this file dates back to 2012 when Clang's support for atomic
builtins was still quite limited. The bugs referenced in the comment
at the top of the file have long been fixed and using the compiler
builtins directly should now generate slightly better code.
Additionally, this allows using the atomic builtin header for platforms
where the __sync_builtins are lacking (e.g. Arm Morello).
This change does not introduce any code generation changes for
__tsan_read*/__tsan_write* or __tsan_func_{entry,exit} on x86, which
indicates the previously noted compiler issues have been fixed.
We also have to touch the non-clang codepaths here since the only way we
can make this work easily is by making the memory_order enum match the
compiler-provided macros, so we have to update the debug checks that
assumed the enum was always a bitflag.
The one downside of this change is that 32-bit MIPS now definitely
requires libatomic (but that may already have been needed for RMW ops).
Reviewed By: dvyukov
Pull Request: https://github.com/llvm/llvm-project/pull/84439
Commit: a88ea8fbb3953c2fe2887438baf342e381a79d8b
https://github.com/llvm/llvm-project/commit/a88ea8fbb3953c2fe2887438baf342e381a79d8b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cuf-invalid.fir
Log Message:
-----------
[flang][cuda] Update memory effect on fir.cuda_allocate op (#88930)
Add MemRead effect on the box operand as the descriptor might be read
when performing the allocation of the data.
Also update the expected type of the box operand to be a reference.
Check in the verifier that this is a reference to a box or class type.
This addresses the comment made post commit on #88586
Commit: da70f2cdcde8cb96e75ce0236db1fb5353407a69
https://github.com/llvm/llvm-project/commit/da70f2cdcde8cb96e75ce0236db1fb5353407a69
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
A flang/test/Lower/CUDA/cuda-allocatable.cuf
Log Message:
-----------
[flang][cuda] Lower ALLOCATE for device variable (#88980)
Replace the runtime call to `AllocatableAllocate` for CUDA device
variable to the newly added `fir.cuda_allocate` operation.
Commit: 19c6a7feca6e1558ef7cbe18efd2477c1126899d
https://github.com/llvm/llvm-project/commit/19c6a7feca6e1558ef7cbe18efd2477c1126899d
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/test/CodeGen/aarch64-cpu-supports.c
M clang/test/CodeGen/aarch64-mixed-target-attributes.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/Sema/aarch64-cpu-supports.c
M clang/test/Sema/attr-target-clones-aarch64.c
M clang/test/Sema/attr-target-version.c
M clang/test/SemaCXX/attr-target-version.cpp
M compiler-rt/lib/builtins/cpu_model/aarch64.c
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/fuchsia.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
Log Message:
-----------
[FMV] Remove useless features according the latest ACLE spec. (#88965)
As explained in https://github.com/ARM-software/acle/pull/315 we
are deprecating features which aren't adding any value. These are:
sha1, pmull, dit, dgh, ebf16, sve-bf16, sve-ebf16, sve-i8mm,
sve2-pmull128, memtag2, memtag3, ssbs2, bti, ls64_v, ls64_accdata
Commit: 06947b9f8d258fe66fc69f1e7c0197cb621da3a5
https://github.com/llvm/llvm-project/commit/06947b9f8d258fe66fc69f1e7c0197cb621da3a5
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libc/config/linux/api.td
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/pthread_condattr_t.h
M libc/include/pthread.h.def
M libc/spec/posix.td
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_condattr_destroy.cpp
A libc/src/pthread/pthread_condattr_destroy.h
A libc/src/pthread/pthread_condattr_getclock.cpp
A libc/src/pthread/pthread_condattr_getclock.h
A libc/src/pthread/pthread_condattr_getpshared.cpp
A libc/src/pthread/pthread_condattr_getpshared.h
A libc/src/pthread/pthread_condattr_init.cpp
A libc/src/pthread/pthread_condattr_init.h
A libc/src/pthread/pthread_condattr_setclock.cpp
A libc/src/pthread/pthread_condattr_setclock.h
A libc/src/pthread/pthread_condattr_setpshared.cpp
A libc/src/pthread/pthread_condattr_setpshared.h
M libc/test/src/pthread/CMakeLists.txt
A libc/test/src/pthread/pthread_condattr_test.cpp
Log Message:
-----------
[libc][POSIX][pthreads] implement pthread_condattr_t functions (#88987)
Implement:
- pthread_condattr_destroy
- pthread_condattr_getclock
- pthread_condattr_getpshared
- pthread_condattr_init
- pthread_condattr_setclock
- pthread_condattr_setpshared
Fixes: #88581
Commit: 4edeaffbf255137861f5153eb1a6183d956efede
https://github.com/llvm/llvm-project/commit/4edeaffbf255137861f5153eb1a6183d956efede
Author: fabrizio-indirli <fabrizio.indirli at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
Log Message:
-----------
[mlir][tosa] Fix tosa.Resize-to-linalg lowering (#88514)
Commit: 564f9abfcc3b99a01843f88b5a2c7309bfab5a33
https://github.com/llvm/llvm-project/commit/564f9abfcc3b99a01843f88b5a2c7309bfab5a33
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Add missing dep after 4f88c2311130791cf69da34b743b1b3ba7584a7b
Commit: e59632bdfd4c70caed437216af17d335858686fd
https://github.com/llvm/llvm-project/commit/e59632bdfd4c70caed437216af17d335858686fd
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Fix typo in RISCVScheduleV.td that was introduced in 60a1158
Commit: 676d3bafc09d0c331a04b813804407334de12917
https://github.com/llvm/llvm-project/commit/676d3bafc09d0c331a04b813804407334de12917
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add missing dep after b854a2323337be2633b1135f590678a17e9d1ade
Commit: 693a458287d019c5c6a66fe3019d099df2978cdb
https://github.com/llvm/llvm-project/commit/693a458287d019c5c6a66fe3019d099df2978cdb
Author: Abdul Raheem <55028856+abdulraheembeigh at users.noreply.github.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M mlir/include/mlir/Interfaces/ViewLikeInterface.td
Log Message:
-----------
[MLIR] Update doc comment in ViewLikeInterface.td (NFC) (#89074)
Signed-off: Abdul Raheem Beigh <abdulraheembeigh at gmail.com>
Commit: 6f7160eedb2db02f37d4ffd52fff7b0cf88b3fdc
https://github.com/llvm/llvm-project/commit/6f7160eedb2db02f37d4ffd52fff7b0cf88b3fdc
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
Log Message:
-----------
[SLP]Attempt to vectorize long stores, if short one failed.
We can try to vectorize long store sequences, if short ones were
unsuccessful because of the non-profitable vectorization. It should not
increase compile time significantly (stores are sorted already,
complexity is n x log n), but vectorize extra code.
Metric: size..text
Program size..text
results results0 diff
test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test 1088012.00 1088236.00 0.0%
test-suite :: SingleSource/UnitTests/matrix-types-spec.test 480396.00 480476.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 664613.00 664661.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 664613.00 664661.00 0.0%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 2041105.00 2040961.00 -0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 836563.00 836387.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 1035100.00 1032140.00 -0.3%
In all benchmarks extra code gets vectorized
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/88563
Commit: eefee382186005d3662958e076c8e61e286ea1ab
https://github.com/llvm/llvm-project/commit/eefee382186005d3662958e076c8e61e286ea1ab
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libc/src/pthread/pthread_condattr_destroy.cpp
M libc/test/src/pthread/CMakeLists.txt
Log Message:
-----------
[libc] set cmake dependencies for condattr test (#89103)
The entrypoints are not yet exposed on non-x86. Express this dependency
to
unbreak post submit.
Fixes #88987
Commit: 825536039d667eeb933c590fe40c358fdea03a8d
https://github.com/llvm/llvm-project/commit/825536039d667eeb933c590fe40c358fdea03a8d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/fshl-codesize.ll
M llvm/test/Analysis/CostModel/X86/fshl-latency.ll
M llvm/test/Analysis/CostModel/X86/fshl-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fshl.ll
M llvm/test/Analysis/CostModel/X86/fshr-codesize.ll
M llvm/test/Analysis/CostModel/X86/fshr-latency.ll
M llvm/test/Analysis/CostModel/X86/fshr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fshr.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-cost.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-latency.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-cost.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-latency.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-cost.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-latency.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-sizelatency.ll
Log Message:
-----------
[CostModel][X86] Add basic GFNI target test coverage for shift/rotate costs
Commit: da04e4afd3cae13581cac85688fbf10a5848655f
https://github.com/llvm/llvm-project/commit/da04e4afd3cae13581cac85688fbf10a5848655f
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Log Message:
-----------
[InstCombine] Use `auto *` instead of `auto` in `visitSIToFP`; NFC
Commit: d423d80e560d8bf7ca493596d9f34a9e1f0eede7
https://github.com/llvm/llvm-project/commit/d423d80e560d8bf7ca493596d9f34a9e1f0eede7
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/cmake/caches/Apple.cmake
M libcxx/include/CMakeLists.txt
R libcxx/include/__algorithm/pstl_backend.h
R libcxx/include/__algorithm/pstl_backends/cpu_backend.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/backend.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/libdispatch.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/serial.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/thread.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__algorithm/pstl_copy.h
M libcxx/include/__algorithm/pstl_count.h
M libcxx/include/__algorithm/pstl_find.h
M libcxx/include/__algorithm/pstl_for_each.h
M libcxx/include/__algorithm/pstl_generate.h
M libcxx/include/__algorithm/pstl_is_partitioned.h
M libcxx/include/__algorithm/pstl_merge.h
M libcxx/include/__algorithm/pstl_move.h
M libcxx/include/__algorithm/pstl_replace.h
M libcxx/include/__algorithm/pstl_rotate_copy.h
M libcxx/include/__algorithm/pstl_sort.h
M libcxx/include/__algorithm/pstl_stable_sort.h
M libcxx/include/__algorithm/pstl_transform.h
M libcxx/include/__config_site.in
M libcxx/include/__numeric/pstl_transform_reduce.h
A libcxx/include/__pstl/backends/libdispatch.h
A libcxx/include/__pstl/backends/serial.h
A libcxx/include/__pstl/backends/std_thread.h
A libcxx/include/__pstl/configuration.h
A libcxx/include/__pstl/configuration_fwd.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/src/CMakeLists.txt
M libcxx/src/pstl/libdispatch.cpp
M libcxx/test/libcxx/algorithms/pstl.libdispatch.chunk_partitions.pass.cpp
M libcxx/test/libcxx/vendor/apple/system-install-properties.sh.cpp
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++][pstl] Promote CPU backends to top-level backends (#88968)
This patch removes the two-level backend dispatching mechanism we had in
the PSTL. Instead of selecting both a PSTL backend and a PSTL CPU
backend, we now only select a top-level PSTL backend. This greatly
simplifies the PSTL configuration layer.
While this patch technically removes some flexibility from the PSTL
configuration mechanism because CPU backends are not considered
separately, it opens the door to a much more powerful configuration
mechanism based on chained backends in a follow-up patch.
This is a step towards overhauling the PSTL dispatching mechanism.
Commit: 8d49ce176414cd4d0d5d276fd721d9226e17e810
https://github.com/llvm/llvm-project/commit/8d49ce176414cd4d0d5d276fd721d9226e17e810
Author: David Green <david.green at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-llrint.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/llrint-conv-fp16.ll
M llvm/test/CodeGen/AArch64/llrint-conv.ll
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
M llvm/test/TableGen/GlobalISelEmitter.td
Log Message:
-----------
[GlobalISel][AArch64] Add LLRINT support (#88702)
This hooks up G_INTRINSIC_LLRINT instructions, very similar to the lrint
nodes that already exist. On AArch64 they are treated the same as lrint
with the default return types.
Commit: 2c22a0c16d1cb844eac142156ba67098627a336c
https://github.com/llvm/llvm-project/commit/2c22a0c16d1cb844eac142156ba67098627a336c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/sub-xor.ll
Log Message:
-----------
[InstCombine] Add test case for turning sub into xor using dominating condition. NFC
I plan to disable using dominating conditions for turning sub into
xor, but first we need that demonstrates it currently happens.
Commit: 421a8c5892b7e59f27b2c21452f81fa789a758fd
https://github.com/llvm/llvm-project/commit/421a8c5892b7e59f27b2c21452f81fa789a758fd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
Log Message:
-----------
[InstCombine] Add phase ordering test for #88239. NFC
Commit: ed741ffe893698cd14c6785ac2ee7031d9d344a6
https://github.com/llvm/llvm-project/commit/ed741ffe893698cd14c6785ac2ee7031d9d344a6
Author: Nathan Lanza <nathanlanza at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[github] Add ClangIR to new-prs-labeler.yml (#86088)
Commit: c02ed29ec151d1d555c3735efef2ab215126ddbf
https://github.com/llvm/llvm-project/commit/c02ed29ec151d1d555c3735efef2ab215126ddbf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/fshl-codesize.ll
M llvm/test/Analysis/CostModel/X86/fshl-latency.ll
M llvm/test/Analysis/CostModel/X86/fshl-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fshl.ll
M llvm/test/Analysis/CostModel/X86/fshr-codesize.ll
M llvm/test/Analysis/CostModel/X86/fshr-latency.ll
M llvm/test/Analysis/CostModel/X86/fshr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fshr.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fshl-rot.ll
M llvm/test/Transforms/SLPVectorizer/X86/arith-fshr-rot.ll
Log Message:
-----------
[CostModel][X86] Recognise vector rotation by uniform constant patterns
Adds suitable costs for AVX512 targets (we still rely on default expansion for AVX2 and earlier)
Commit: 58a08e154c804051aaca9151a8053aea3ec15646
https://github.com/llvm/llvm-project/commit/58a08e154c804051aaca9151a8053aea3ec15646
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add coverage for strength reduction of mul by small negative immediates
Commit: cc82f1290a1e2157a6c0530d78d8cc84d2b8553d
https://github.com/llvm/llvm-project/commit/cc82f1290a1e2157a6c0530d78d8cc84d2b8553d
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedA510.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/aarch64-dup-ext-scalable.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/active_lane_mask.ll
M llvm/test/CodeGen/AArch64/arm64-convert-v4f64.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/arm64-vcvt_f.ll
M llvm/test/CodeGen/AArch64/arm64-vhadd.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/concat_vector-truncate-combine.ll
M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
M llvm/test/CodeGen/AArch64/div-rem-pair-recomposition-signed.ll
M llvm/test/CodeGen/AArch64/div-rem-pair-recomposition-unsigned.ll
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fdiv-combine.ll
M llvm/test/CodeGen/AArch64/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/AArch64/fp-veclib-expansion.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/funnel-shift-rot.ll
M llvm/test/CodeGen/AArch64/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/insert-extend.ll
M llvm/test/CodeGen/AArch64/insert-subvector-res-legalization.ll
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/ldexp.ll
M llvm/test/CodeGen/AArch64/llvm-ir-to-intrinsic.ll
M llvm/test/CodeGen/AArch64/load-insert-zero.ll
M llvm/test/CodeGen/AArch64/logic-shift.ll
M llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/neon-extadd.ll
M llvm/test/CodeGen/AArch64/neon-shift-neg.ll
M llvm/test/CodeGen/AArch64/predicated-add-sub.ll
M llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll
M llvm/test/CodeGen/AArch64/rcpc3-sve.ll
M llvm/test/CodeGen/AArch64/reassocmls.ll
M llvm/test/CodeGen/AArch64/reduce-shuffle.ll
M llvm/test/CodeGen/AArch64/sat-add.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/sink-addsub-of-const.ll
M llvm/test/CodeGen/AArch64/sme-pstate-sm-changing-call-disable-coalescing.ll
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-fp-dots.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-int-dots.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-mlall.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-rshl.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-sqdmulh.ll
M llvm/test/CodeGen/AArch64/split-vector-insert.ll
M llvm/test/CodeGen/AArch64/srem-seteq-vec-splat.ll
M llvm/test/CodeGen/AArch64/srem-vector-lkk.ll
M llvm/test/CodeGen/AArch64/sve-abd.ll
M llvm/test/CodeGen/AArch64/sve-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-cmp-folds.ll
M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
M llvm/test/CodeGen/AArch64/sve-expand-div.ll
M llvm/test/CodeGen/AArch64/sve-extract-element.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-from-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
M llvm/test/CodeGen/AArch64/sve-extract-scalable-vector.ll
M llvm/test/CodeGen/AArch64/sve-fcmp.ll
M llvm/test/CodeGen/AArch64/sve-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-addressing-modes.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-build-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-fp128.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-frame-offests-crash.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-mask-opt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-loads.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-128bit-stores.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-loads.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-stores.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
M llvm/test/CodeGen/AArch64/sve-fp-int-min-max.ll
M llvm/test/CodeGen/AArch64/sve-fp-reciprocal.ll
M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
M llvm/test/CodeGen/AArch64/sve-fptosi-sat.ll
M llvm/test/CodeGen/AArch64/sve-fptoui-sat.ll
M llvm/test/CodeGen/AArch64/sve-gather-scatter-addr-opts.ll
M llvm/test/CodeGen/AArch64/sve-hadd.ll
M llvm/test/CodeGen/AArch64/sve-implicit-zero-filling.ll
M llvm/test/CodeGen/AArch64/sve-insert-element.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector.ll
M llvm/test/CodeGen/AArch64/sve-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-index.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-logical-imm.ll
M llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll
M llvm/test/CodeGen/AArch64/sve-ld1r.ll
M llvm/test/CodeGen/AArch64/sve-lsr-scaled-index-addressing-mode.ll
M llvm/test/CodeGen/AArch64/sve-masked-gather-legalize.ll
M llvm/test/CodeGen/AArch64/sve-masked-ldst-sext.ll
M llvm/test/CodeGen/AArch64/sve-masked-ldst-zext.ll
M llvm/test/CodeGen/AArch64/sve-masked-scatter-legalize.ll
M llvm/test/CodeGen/AArch64/sve-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-pr62151.ll
M llvm/test/CodeGen/AArch64/sve-pred-arith.ll
M llvm/test/CodeGen/AArch64/sve-pred-selectop.ll
M llvm/test/CodeGen/AArch64/sve-pred-selectop2.ll
M llvm/test/CodeGen/AArch64/sve-pred-selectop3.ll
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmple.ll
M llvm/test/CodeGen/AArch64/sve-redundant-store.ll
M llvm/test/CodeGen/AArch64/sve-split-extract-elt.ll
M llvm/test/CodeGen/AArch64/sve-split-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-split-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-split-insert-elt.ll
M llvm/test/CodeGen/AArch64/sve-split-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-split-load.ll
M llvm/test/CodeGen/AArch64/sve-split-store.ll
M llvm/test/CodeGen/AArch64/sve-srem-combine-loop.ll
M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll
M llvm/test/CodeGen/AArch64/sve-stepvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.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.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-immediates.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-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-log-reduce.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-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
M llvm/test/CodeGen/AArch64/sve-trunc.ll
M llvm/test/CodeGen/AArch64/sve-umulo-sdnode.ll
M llvm/test/CodeGen/AArch64/sve-uunpklo-load-uzp1-store-combine.ll
M llvm/test/CodeGen/AArch64/sve-vecreduce-dot.ll
M llvm/test/CodeGen/AArch64/sve-vecreduce-fold.ll
M llvm/test/CodeGen/AArch64/sve2-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve2-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-combine-rshrnb.ll
M llvm/test/CodeGen/AArch64/sve2-intrinsics-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve2-rsh.ll
M llvm/test/CodeGen/AArch64/sve2-xar.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-selx2.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-selx4.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-stores.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/urem-seteq-vec-nonzero.ll
M llvm/test/CodeGen/AArch64/vec_uaddo.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/vector-fcopysign.ll
M llvm/test/CodeGen/AArch64/vector-gep.ll
M llvm/test/CodeGen/AArch64/vselect-constants.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
M llvm/test/tools/llvm-mca/AArch64/Cortex/A510-neon-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Cortex/A510-sve-instructions.s
Log Message:
-----------
[AArch64] Update latencies for Cortex-A510 scheduling model (#87293)
Updated according to the Software Optimization Guide for Arm®
Cortex®‑A510 Core Revision: r1p3 Issue 6.0.
Commit: 4572a2db2c2c48820e79fb65f3810348371db4f1
https://github.com/llvm/llvm-project/commit/4572a2db2c2c48820e79fb65f3810348371db4f1
Author: David Green <david.green at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/shuffle-load.ll
Log Message:
-----------
[AArch64] Add some test cases for LD2/LD3/LD4 shuffles. NFC
Commit: 5a0942cd7423069e78fdfb9743a13aedfa7bdee0
https://github.com/llvm/llvm-project/commit/5a0942cd7423069e78fdfb9743a13aedfa7bdee0
Author: Youngsuk Kim <joseph942010 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/DebugInfo/NVPTX/dbg-declare-alloca.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/nvptx-basic.ll.expected
Log Message:
-----------
[llvm][NVPTX] Don't emit unused var 'temp_param_reg' (NFC) (#89004)
Don't emit unused variable 'temp_param_reg' which has been around since
ae556d3ef72dfe5f40a337b7071f42b7bf5b66a4 .
Commit: 800f1050e190430f217e1fd0db9414dacc835e11
https://github.com/llvm/llvm-project/commit/800f1050e190430f217e1fd0db9414dacc835e11
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[GitHub] Add a new mapping for `offload` subproject (#89118)
Fix #89071.
Commit: 6f7976c883da592f2cf6bfadef152e4203c00445
https://github.com/llvm/llvm-project/commit/6f7976c883da592f2cf6bfadef152e4203c00445
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/docs/Status/FormatPaper.csv
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/__chrono/sys_info.h
M libcxx/include/chrono
A libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.sys/ostream.pass.cpp
A libcxx/test/std/time/time.syn/formatter.sys_info.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/ostream.pass.cpp
M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
M libcxx/test/support/test_macros.h
Log Message:
-----------
[libc++][TZDB] Adds sys_info formatter. (#85896)
Implements parts of:
- P0355 Extending <chrono> to Calendars and Time Zones
- P1361 Integration of chrono with text formatting
Commit: b1dc62f139ef265a36a2a739ce9ba4e1e48a6dbe
https://github.com/llvm/llvm-project/commit/b1dc62f139ef265a36a2a739ce9ba4e1e48a6dbe
Author: Amirreza Ashouri <ar.ashouri999 at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/Parse/ParseExprCXX.cpp
M clang/test/Sema/static-assert.c
M clang/test/SemaCXX/builtins.cpp
M clang/test/SemaCXX/deprecated-builtins.cpp
Log Message:
-----------
[clang]Treat arguments to builtin type traits as template type arguments (#87132)
This change improves error messages for builtins in case of empty
parentheses.
Fixes llvm#86997
Commit: 6cea7c491f4c4c68aa0494a9b18f36ff40c22c81
https://github.com/llvm/llvm-project/commit/6cea7c491f4c4c68aa0494a9b18f36ff40c22c81
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/test/CodeGen/X86/code-model-elf.ll
Log Message:
-----------
[X86] Always use 64-bit relocations in no-PIC large code model (#89101)
This matches other types of relocations, e.g. to constant pool. And
makes things more consistent with PIC large code model.
Some users of the large code model may not place small data in the lower
2GB of the address space (e.g.
https://github.com/ClangBuiltLinux/linux/issues/2016), so just
unconditionally use 64-bit relocations in the large code model.
So now functions in a section not marked large will use 64-bit
relocations to reference everything when using the large code model.
This also fixes some lldb tests broken by #88172
(https://lab.llvm.org/buildbot/#/builders/68/builds/72458).
Commit: 1460b4964c7ada2f7536006722c8585b5bd0a1b5
https://github.com/llvm/llvm-project/commit/1460b4964c7ada2f7536006722c8585b5bd0a1b5
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Manually port d423d80e560d
Commit: db2f64ee1f743153f242ca92bf627458ba7f8000
https://github.com/llvm/llvm-project/commit/db2f64ee1f743153f242ca92bf627458ba7f8000
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
Log Message:
-----------
AMDGPU: Fix not handling atomicrmw fadd in exotic address spaces correctly
We try to interpret unknown address space numbers as aliases of global,
but this wasn't applied here. Also improve test coverage for the
buffer fat pointer address space.
Commit: 652bcf685c72447f3cc46d93d6c9c1948e8499f3
https://github.com/llvm/llvm-project/commit/652bcf685c72447f3cc46d93d6c9c1948e8499f3
Author: Matthias Braun <matze at braunis.de>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
A llvm/test/CodeGen/X86/codegen-prepare-addrmode-tls.ll
A llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-tls.ll
Log Message:
-----------
CodeGenPrepare: Add support for llvm.threadlocal.address address-mode sinking (#87844)
Depending on the TLSMode many thread-local accesses on x86 can be
expressed by adding a %fs: segment register to an addressing mode. Even
if there are mutliple users of a `llvm.threadlocal.address` intrinsic it
is generally not worth sharing the value in a register but instead fold
the %fs access into multiple addressing modes.
Hence this changes CodeGenPrepare to duplicate the
`llvm.threadlocal.address` intrinsic as necessary.
Introduces a new `TargetLowering::addressingModeSupportsTLS` callback
that allows targets to indicate whether TLS accesses can be part of an
addressing mode.
This is fixing a performance problem, as this folding of TLS-accesses
into multiple addressing modes happened naturally before the
introduction of the `llvm.threadlocal.address` intrinsic, but regressed
due to `SelectionDAG` keeping things in registers when accessed across
basic blocks, so CodeGenPrepare needs to duplicate to mitigate this. We
see a ~0.5% recovery in a codebase with heavy TLS usage (HHVM).
This fixes most of #87437
Commit: 2583b2eea4a509424e5e5f51dffedd9beede76a3
https://github.com/llvm/llvm-project/commit/2583b2eea4a509424e5e5f51dffedd9beede76a3
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/runtime/extensions.cpp
Log Message:
-----------
[flang][NFC] Add missing include for FreeBSD
Suggested by dankm here: https://github.com/llvm/llvm-project/pull/88517
Commit: d0c51f7d5496015ce410cc758a7caf976ffaaec7
https://github.com/llvm/llvm-project/commit/d0c51f7d5496015ce410cc758a7caf976ffaaec7
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/lib/CodeGen/MachineBasicBlock.cpp
Log Message:
-----------
[LiveIns] Improve recomputeLiveIns() (#88951)
Some small changes to recomputeLiveIns() to improve performance:
- Instead of copying the list of old live-ins, and then clearing
them, a new method swaps the list for an empty one.
- getLiveIns() now returns a constant reference to the list
As result, the list-data is never copied. Depending on the
implementation
details of the vector container, it can also save calls to allocate
and deallocate memory.
I see a small improvement on CTMark with these changes.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 60b90b523323f8196a9e4a68b1f33358624c09eb
https://github.com/llvm/llvm-project/commit/60b90b523323f8196a9e4a68b1f33358624c09eb
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
Log Message:
-----------
[lldb][DynamicLoader] Fix lldb unable to stop at _dl_debug_state if user set it before the process launched. (#88792)
If user sets a breakpoint at `_dl_debug_state` before the process
launched, the breakpoint is not resolved yet. When lldb loads dynamic
loader module, it's created with `Target::GetOrCreateModule` which
notifies any pending breakpoint to resolve. However, the module's
sections are not loaded at this time. They are loaded after returned
from
[Target::GetOrCreateModule](https://github.com/llvm/llvm-project/blob/0287a5cc4e2a5ded1ae2e4079f91052e6a6b8d9b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp#L574-L577).
This change fixes it by manually resolving breakpoints after creating
dynamic loader module.
Commit: e15f47f2675a5400464aec00219658882df5e3fa
https://github.com/llvm/llvm-project/commit/e15f47f2675a5400464aec00219658882df5e3fa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/SimplifyQuery.h
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/sub-xor.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr88239.ll
Log Message:
-----------
[InstCombine] Don't use dominating conditions to transform sub into xor. (#88566)
Other passes are unable to reverse this transform if we use dominating
conditions.
Fixes #88239.
Commit: f309c882ea5ad411ac1011a4228c0e49b1025bb4
https://github.com/llvm/llvm-project/commit/f309c882ea5ad411ac1011a4228c0e49b1025bb4
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/runtime/extensions.cpp
Log Message:
-----------
Revert "[flang][NFC] Add missing include for FreeBSD"
This reverts commit 2583b2eea4a509424e5e5f51dffedd9beede76a3.
Commit: 0cee89431d77d0bb0809fd9b2c9d21da2a2783aa
https://github.com/llvm/llvm-project/commit/0cee89431d77d0bb0809fd9b2c9d21da2a2783aa
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/runtime/extensions.cpp
Log Message:
-----------
[flang][NFC] Add missing include for FreeBSD
Suggested by dankm here: https://github.com/llvm/llvm-project/pull/88517
Commit: 9435edf628cb2011652897e1f10f7c55313d50be
https://github.com/llvm/llvm-project/commit/9435edf628cb2011652897e1f10f7c55313d50be
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
M flang/test/Lower/CUDA/cuda-allocatable.cuf
Log Message:
-----------
[flang][cuda] Lower DEALLOCATE for device variables (#89091)
Replace the runtime call to `AllocatableDeallocate` for CUDA device
variable to the newly added `fir.cuda_deallocate` operation.
This is similar with #88980
A third patch will handle the case of automatic dealloctaion of device
allocatable variables
Commit: 1b87418b9960983f54aa67f87018466ae12d0ec6
https://github.com/llvm/llvm-project/commit/1b87418b9960983f54aa67f87018466ae12d0ec6
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Improve liblldb building (#89095)
On Linux using --version-script doesn't force loading of the underlying
archives that contain the symbols. By setting alwayslink=True on the API
cc_library we virtually get this behavior. This also allows downstream
users to use the exports files used by cmake. We could build more
configurability into this but there are also a lot of possible
variations users might want.
Commit: 0ab3f160c4bff1c7d57c046b95ab8c5035ae986f
https://github.com/llvm/llvm-project/commit/0ab3f160c4bff1c7d57c046b95ab8c5035ae986f
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add coverage of add (mul X, C), Y oppurtunity using shNadd
Commit: 678f19f08296fec299438130cf5943714c590b7e
https://github.com/llvm/llvm-project/commit/678f19f08296fec299438130cf5943714c590b7e
Author: azhan92 <alisonxzhang at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Support/Unix/Path.inc
M llvm/test/tools/llvm-symbolizer/input-file-err.test
M llvm/unittests/Support/CommandLineTest.cpp
M llvm/unittests/Support/Path.cpp
Log Message:
-----------
[Support] Report EISDIR when opening a directory (#79880)
The test `llvm/unittests/Support/CommandLineTest.cpp` that handles
errors in expansion of response files was previously disabled for AIX.
Originally the code was dependent on `read` returning `EISDIR` which
occurs on platforms such as Linux. However, other platforms such as AIX
allow use of `read` on file descriptors for directories. This change
updates `readNativeFile` to produce `EISDIR` on AIX and z/OS when used
on a directory (instead of relying on the call to `read` to do so).
---------
Co-authored-by: Alison Zhang <alisonzhang at ibm.com>
Co-authored-by: James Henderson <46713263+jh7370 at users.noreply.github.com>
Commit: 26101e8c50e07ea53869b0c7f343d76bfed61b02
https://github.com/llvm/llvm-project/commit/26101e8c50e07ea53869b0c7f343d76bfed61b02
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf11.cuf
Log Message:
-----------
[flang][cuda] Avoid crash by exiting the check if assignment is not usable (#89149)
In the presence of other semantic error, `GetAssignment` would return a
nullptr and therefore would make the rest of the check crash when trying
to collect symbols.
Exiting early when we have a nullptr so the compiler doesn't crash and
user can get the meaningful semantic error.
Commit: 823eb1a3252dd773f9c4d92093591f1b39ac27d4
https://github.com/llvm/llvm-project/commit/823eb1a3252dd773f9c4d92093591f1b39ac27d4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Add some validation of (S/U)(ADD/SUB)O_CARRY nodes. (#89133)
Commit: 156ab4d4fb06be93b0cfce675e4cf86d330d879c
https://github.com/llvm/llvm-project/commit/156ab4d4fb06be93b0cfce675e4cf86d330d879c
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Scope.h
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/SemaCXX/PR75221.cpp
Log Message:
-----------
[Clang][Sema] set declaration invalid earlier to prevent crash in calculating record layout (#87173)
Try to fix https://github.com/llvm/llvm-project/issues/75221
This crash caused by calculating record layout which contains a field
declaration with dependent type. Make it invalid before it is a complete
definition to prevent this crash. Define a new scope type to record this
type alias and set the record declaration invalid when it is defined in
a type alias template.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 888836930b1ed30b2095d45fcffc482560cb0e39
https://github.com/llvm/llvm-project/commit/888836930b1ed30b2095d45fcffc482560cb0e39
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
Log Message:
-----------
Revert "[SLP]Attempt to vectorize long stores, if short one failed."
This reverts commit 6f7160eedb2db02f37d4ffd52fff7b0cf88b3fdc.
This still causes large compile-time regressions in some cases.
Commit: 748ef7eccc8b997ee5553cc5aadf04d7c7d0556f
https://github.com/llvm/llvm-project/commit/748ef7eccc8b997ee5553cc5aadf04d7c7d0556f
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/AST/RecordLayoutBuilder.cpp
A clang/test/CodeGenCUDA/record-layout.cu
Log Message:
-----------
[CUDA][HIP] Fix record layout on Windows (#87651)
On windows, record layout should be consistent with host side, otherwise
host code is not able to access fields of the record correctly.
Fixes: https://github.com/llvm/llvm-project/issues/51031
Fixes: SWDEV-446010
Commit: 097b68ff067565af744b5b0327732d7c199710ab
https://github.com/llvm/llvm-project/commit/097b68ff067565af744b5b0327732d7c199710ab
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-select.ll
Log Message:
-----------
[RISCV][TTI] Refine the cost of FCmp (#88833)
This patch introduces following changes
- Support all fp predicates
- Use the Val type to estimate the latency/throughput cost
- Assign a cost of 1 for mask operations as LMULCost for mask types
cannot be correctly estimated.
Commit: 525d00e5edc4b83105c6ad518926b174f76c3a1c
https://github.com/llvm/llvm-project/commit/525d00e5edc4b83105c6ad518926b174f76c3a1c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/integer-round-up-pow2-alignment.ll
Log Message:
-----------
[InstCombine] Fix poison propagation in round up alignment fold
We can't directly use the high bits value if it is more poisonous
due to poison elements in the masks.
This fixes the issue reported in
https://github.com/llvm/llvm-project/pull/88217#issuecomment-2061034941.
Commit: 0ee260ec37a039ffc276f2f827c842f71513a3e9
https://github.com/llvm/llvm-project/commit/0ee260ec37a039ffc276f2f827c842f71513a3e9
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
Log Message:
-----------
[PowerPC] `ANDI_rec_1_*` should define CR0 (#89034)
These pseudo instructions finally copy the result to CR0 so they should
define `CR0` in their definitions.
Commit: 29ecd6d50f1400e3101f27567b535eb8af905f58
https://github.com/llvm/llvm-project/commit/29ecd6d50f1400e3101f27567b535eb8af905f58
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M polly/lib/Analysis/DependenceInfo.cpp
M polly/lib/Analysis/ScopBuilder.cpp
Log Message:
-----------
[clang-format] Revert breaking stream operators to previous default (#89016)
Reverts commit d68826dfbd98, which changes the previous default behavior
of always breaking before a stream insertion operator `<<` if both
operands are string literals.
Also reverts the related commits 27f547968cce and bf05be5b87fc.
See the discussion in #88483.
Commit: b6cc667190e3bee7485a225d3dadd8a57c0a22b6
https://github.com/llvm/llvm-project/commit/b6cc667190e3bee7485a225d3dadd8a57c0a22b6
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Annotate ampamp after new/delete as BinaryOperator (#89033)
Fixes #78789.
Commit: f2695a1c2f561da42b973187a254b6eeb7da76a9
https://github.com/llvm/llvm-project/commit/f2695a1c2f561da42b973187a254b6eeb7da76a9
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/reduced-bmi-empty-module-purview.cppm
Log Message:
-----------
[C++20] [Modules] Avoid writing untouched DeclUpdates from GMF in
Reduced BMI
Mitigate https://github.com/llvm/llvm-project/issues/61447
The root cause of the above problem is that when we write a declaration,
we need to lookup all the redeclarations in the imported modules. Then
it will be pretty slow if there are too many redeclarations in different
modules. This patch doesn't solve the porblem.
What the patchs mitigated is, when we writing a named module, we shouldn't
write the declarations from GMF if it is unreferenced **in current
module unit**. The difference here is that, if the declaration is used
in the imported modules, we used to emit it as an update. But we
definitely want to avoid that after this patch.
For that reproducer in
https://github.com/llvm/llvm-project/issues/61447, it used to take 2.5s
to compile and now it only takes 0.49s to compile, which is a big win.
Commit: 3fbb815c8c82c87f9a6e59e053ab60bad08589f6
https://github.com/llvm/llvm-project/commit/3fbb815c8c82c87f9a6e59e053ab60bad08589f6
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Check that VLMAX is the same when demanding exact VL (#89080)
Commit: 3e2aad412ada8f1db88c9e0f984a302deed74f4b
https://github.com/llvm/llvm-project/commit/3e2aad412ada8f1db88c9e0f984a302deed74f4b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Speed up RISCVRegisterInfo::needsFrameBaseReg when frame pointer isn't used. NFC (#89163)
The callee saved size is only used if there is a frame pointer. Sink the
code onto the frame pointer only path.
Commit: 8b37ec1f7bda40c240f7bfda6737df5043860103
https://github.com/llvm/llvm-project/commit/8b37ec1f7bda40c240f7bfda6737df5043860103
Author: Will Hawkins <hawkinsw at obs.cr>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/test/std/ranges/range.adaptors/range.take/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/types.h
Log Message:
-----------
[libc++][NFC] Add additional tests for begin/end of std::ranges::take_view (#79085)
Add additional tests for `begin`/`end` of `std::ranges::take_view`.
In partial fulfillment of #72406.
Commit: 808d794a45e169601ff16f72beae2f7bd79342a2
https://github.com/llvm/llvm-project/commit/808d794a45e169601ff16f72beae2f7bd79342a2
Author: Will Hawkins <hawkinsw at obs.cr>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp
M libcxx/test/support/test_range.h
Log Message:
-----------
[libc++][NFC] Centralize test for support of == and != in ranges (#78481)
Previously, tests for whether comparison using == was supported by
iterators derived from ranges adaptors was spread throughout the testing
codebase. This PR centralizes the implementation of those tests.
Commit: 0afc884e874043bf5207d561ab82b107e8860d41
https://github.com/llvm/llvm-project/commit/0afc884e874043bf5207d561ab82b107e8860d41
Author: Chia <sun1011jacobi at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-sat-clip.ll
A llvm/test/CodeGen/RISCV/rvv/trunc-sat-clip-sdnode.ll
R llvm/test/CodeGen/RISCV/rvv/trunc-sat-clip.ll
Log Message:
-----------
[RISCV] Use vnclip for scalable vector saturating truncation. (#88648)
Similar to #75145, but for scalable vectors.
Specifically, this patch works for the below optimization case:
## Source Code
```
define void @trunc_sat_i8i16_maxmin(ptr %x, ptr %y) {
%1 = load <vscale x 4 x i16>, ptr %x, align 16
%2 = tail call <vscale x 4 x i16> @llvm.smax.v4i16(<vscale x 4 x i16> %1, <vscale x 4 x i16> splat (i16 -128))
%3 = tail call <vscale x 4 x i16> @llvm.smin.v4i16(<vscale x 4 x i16> %2, <vscale x 4 x i16> splat (i16 127))
%4 = trunc <vscale x 4 x i16> %3 to <vscale x 4 x i8>
store <vscale x 4 x i8> %4, ptr %y, align 8
ret void
}
```
## Before this patch
[Compiler Explorer](https://godbolt.org/z/EKc9eGvo8)
```
trunc_sat_i8i16_maxmin:
vl1re16.v v8, (a0)
li a0, -128
vsetvli a2, zero, e16, m1, ta, ma
vmax.vx v8, v8, a0
li a0, 127
vmin.vx v8, v8, a0
vsetvli zero, zero, e8, mf2, ta, ma
vnsrl.wi v8, v8, 0
vse8.v v8, (a1)
ret
```
## After this patch
```
trunc_sat_i8i16_maxmin:
vsetivli zero, 4, e8, mf4, ta, ma
vle16.v v8, (a0)
vnclip.wi v8, v8, 0
vse8.v v8, (a1)
ret
```
Commit: 3d72c44fedc13ef51d2584b4fe930edb8d2e87ae
https://github.com/llvm/llvm-project/commit/3d72c44fedc13ef51d2584b4fe930edb8d2e87ae
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
Log Message:
-----------
[mlir][gpu] Improve `gpu.shuffle` documentation. NFC. (#89168)
* Make the wording around lanes / threads / work items more consistent.
* Add examples for all shufle modes.
* Also clean up `gpu.subgroup_reduce`.
Commit: 472b612ccbeda470fa15005e11882349b0b384be
https://github.com/llvm/llvm-project/commit/472b612ccbeda470fa15005e11882349b0b384be
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libcxx/include/__format/format_arg.h
M libcxx/include/__type_traits/remove_cv.h
Log Message:
-----------
[libc++][NFC] Remove unused includes from <__type_traits/remove_cv.h> (#88752)
Commit: fbca90b609f6c42ce7e4c9bb3ee8bd2c230a670c
https://github.com/llvm/llvm-project/commit/fbca90b609f6c42ce7e4c9bb3ee8bd2c230a670c
Author: Brad Smith <brad at comstyle.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/unittests/Support/MemoryTest.cpp
Log Message:
-----------
[unittest] Skip W+X MappedMemoryTests on OpenBSD (#89102)
OpenBSD uses W^X so the tests will not work.
Commit: 3d56ea05b6c746a7144f643bef2ebd599f605b8b
https://github.com/llvm/llvm-project/commit/3d56ea05b6c746a7144f643bef2ebd599f605b8b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang/include/clang/AST/Decl.h
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
Log Message:
-----------
[clang][NFC] Fix FieldDecl::isUnnamedBitfield() capitalization (#89048)
We always capitalize bitfield as "BitField".
Commit: dbece2bb06e7329d1390b59b3bd2e1558627c2f7
https://github.com/llvm/llvm-project/commit/dbece2bb06e7329d1390b59b3bd2e1558627c2f7
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/docs/index.rst
Log Message:
-----------
[Docs] Fix FAQ and Lexicon links under design overview (#89027)
This patch updates the FAQ and lexicon links under design overview to
actually work instead of being incomplete and thus completely missing
from the output.
Commit: 06f54e7c2b4f26fbcad906a6b4aa2e46bf60b8af
https://github.com/llvm/llvm-project/commit/06f54e7c2b4f26fbcad906a6b4aa2e46bf60b8af
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Convert llvm-spirv to imported executable
This tool now behaves like the others, for consistency.
Commit: 93d51194b1df8229268953ec94063fc4194a320b
https://github.com/llvm/llvm-project/commit/93d51194b1df8229268953ec94063fc4194a320b
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Clarify option help message
This should make it more obvious it applies only to libclc.
Commit: 0aeeff3059e79b86f55ed92a4488bdee8fa66e12
https://github.com/llvm/llvm-project/commit/0aeeff3059e79b86f55ed92a4488bdee8fa66e12
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Allow building with pre-built tools
Building the libclc project in-tree with debug tools can be very slow.
This commit adds an option for a user to specify a dierctory from which
to import (e.g., release-built) tools. All tools required by the project
must be imported from the same location, for simplicity.
Original patch downstream authored by @jchlanda.
Commit: dc74c69f016fa65949bf0cf691061e12bef93d29
https://github.com/llvm/llvm-project/commit/dc74c69f016fa65949bf0cf691061e12bef93d29
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
[libclc] Provide a more helpful error when tools are missing
Commit: d0af554464774342752548c976e1ce71a2bf856d
https://github.com/llvm/llvm-project/commit/d0af554464774342752548c976e1ce71a2bf856d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
Log Message:
-----------
[CI] Fix libclc dependencies
We need clang and llvm to build in-tree.
Commit: a5d2ed240d788a5f0caf090669eee27e51a28a89
https://github.com/llvm/llvm-project/commit/a5d2ed240d788a5f0caf090669eee27e51a28a89
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Fix typo in test (NFC)
The llvm.smix should be llvm.smin.
Commit: 5ff44dbaea27d442c89278871dc2f75942d54716
https://github.com/llvm/llvm-project/commit/5ff44dbaea27d442c89278871dc2f75942d54716
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/reduction-of-truncations.ll
Log Message:
-----------
[VectorCombine] Fix incorrect intrinsic signature (NFC)
Commit: 9099f6f8dcffffd7cf7d5cbe9ca4b7582851fde1
https://github.com/llvm/llvm-project/commit/9099f6f8dcffffd7cf7d5cbe9ca4b7582851fde1
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Skip unnamed bit fields in initializers
Fixes the Codegen/CSKY/csky-hard-abi.c test
Commit: 43eb5e2d4054104dcdd9fadeea8da8bacab6d338
https://github.com/llvm/llvm-project/commit/43eb5e2d4054104dcdd9fadeea8da8bacab6d338
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-17 (Wed, 17 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Remove unused Predicates for I and E extensions. NFC
Commit: ff3523f67b858b87ed4f72d143a1ab3634ae1db7
https://github.com/llvm/llvm-project/commit/ff3523f67b858b87ed4f72d143a1ab3634ae1db7
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Operator.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Operator.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/BDCE.cpp
M llvm/lib/Transforms/Scalar/GuardWidening.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/test/Transforms/InstCombine/freeze.ll
Log Message:
-----------
[IR] Drop poison-generating return attributes when necessary (#89138)
Rename has/dropPoisonGeneratingFlagsOrMetadata to
has/dropPoisonGeneratingAnnotations and make it also handle
nonnull, align and range return attributes on calls, similar
to the existing handling for !nonnull, !align and !range metadata.
Commit: 562f061e7e710543578875d33d64837abecc23d2
https://github.com/llvm/llvm-project/commit/562f061e7e710543578875d33d64837abecc23d2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Load result of pre-inc/dec operation if necessary
This can happen in C.
Commit: 71c0784dc4a2ef40039a97af122ba78549193120
https://github.com/llvm/llvm-project/commit/71c0784dc4a2ef40039a97af122ba78549193120
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/AST/DeclPrinter.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
Fix the double space and double attribute printing of the final keyword. (#88600)
Fixes #56517.
Commit: b5aff11aa118dabf134a1377dfd94b34e4dedbf7
https://github.com/llvm/llvm-project/commit/b5aff11aa118dabf134a1377dfd94b34e4dedbf7
Author: Dmitrii Agibov <dmitrii.agibov at arm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
Log Message:
-----------
[mlir][tosa] Add folding for TOSA ArgMax operator (#88871)
Commit: 83cc60565a8a78ce00ee0c29f167400902e60737
https://github.com/llvm/llvm-project/commit/83cc60565a8a78ce00ee0c29f167400902e60737
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[NFC] [Serialization] Extract logics to write special decls from
ASTWriter::WriteASTCore
ASTWriter::WriteASTCore is a big function and slightly hard to read.
This patch extracts the logics to force emitting special declarations
and writing special records for these declarations into member
functions.
This is helpful to improve the readability and also helpful for the
following patch to write special declarations lazily.
Commit: 7ec342ba16ca97206aa2ddd5b7ec0da063042e03
https://github.com/llvm/llvm-project/commit/7ec342ba16ca97206aa2ddd5b7ec0da063042e03
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/reduced-bmi-empty-module-purview-std.cppm
Log Message:
-----------
[C++20] [Modules] [Reduced BMI] Write Special Decl Lazily
ASTWrite would write some special records for the consumer of the AST
can get the information easily. This is fine. But currently all the
special records are written eagerly, which is conflicting with reduced
BMI.
In reduced BMI, we hope to write things as less as possible. It is not a
goal for reduced BMI to retain all the informations. So in this patch we
won't record the special declarations eagerly before we starting write.
But only writing the sepcial records after we writes decls and types,
then only the reached declarations will be collected.
Commit: 1baa3850656382d1d549a13f8a716ef5dc886eb8
https://github.com/llvm/llvm-project/commit/1baa3850656382d1d549a13f8a716ef5dc886eb8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Constant.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/CmpInstAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.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/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineNegator.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/Vectorize/VPlanPatternMatch.h
M llvm/test/Transforms/InstCombine/and-or-icmp-const-icmp.ll
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/bswap-fold.ll
M llvm/test/Transforms/InstCombine/bswap.ll
M llvm/test/Transforms/InstCombine/compare-signs.ll
M llvm/test/Transforms/InstCombine/fcmp-range-check-idiom.ll
M llvm/test/Transforms/InstCombine/icmp-fsh.ll
M llvm/test/Transforms/InstCombine/icmp-power2-and-icmp-shifted-mask.ll
M llvm/test/Transforms/InstCombine/icmp-vec-inseltpoison.ll
M llvm/test/Transforms/InstCombine/icmp-vec.ll
M llvm/test/Transforms/InstCombine/low-bit-splat.ll
M llvm/test/Transforms/InstCombine/lshr-trunc-sext-to-ashr-sext.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/signed-truncation-check.ll
M llvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check.ll
M llvm/test/Transforms/InstCombine/xor-ashr.ll
M llvm/test/Transforms/InstSimplify/cast-unsigned-icmp-cmp-0.ll
M llvm/test/Transforms/InstSimplify/icmp-constant.ll
M llvm/test/Transforms/InstSimplify/maxmin_intrinsics.ll
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[IR][PatternMatch] Only accept poison in getSplatValue() (#89159)
In #88217 a large set of matchers was changed to only accept poison
values in splats, but not undef values. This is because we now use
poison for non-demanded vector elements, and allowing undef can cause
correctness issues.
This patch covers the remaining matchers by changing the AllowUndef
parameter of getSplatValue() to AllowPoison instead. We also carry out
corresponding renames in matchers.
As a followup, we may want to change the default for things like m_APInt
to m_APIntAllowPoison (as this is much less risky when only allowing
poison), but this change doesn't do that.
There is one caveat here: We have a single place
(X86FixupVectorConstants) which does require handling of vector splats
with undefs. This is because this works on backend constant pool
entries, which currently still use undef instead of poison for
non-demanded elements (because SDAG as a whole does not have an explicit
poison representation). As it's just the single use, I've open-coded a
getSplatValueAllowUndef() helper there, to discourage use in any other
places.
Commit: 85215508966abbedaf80a7a0a2ae4687a46447fe
https://github.com/llvm/llvm-project/commit/85215508966abbedaf80a7a0a2ae4687a46447fe
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[X86] Use m_APIntAllowPoison instead of m_APIntAllowUndef
Fix build after 1baa3850656382d1d549a13f8a716ef5dc886eb8.
Commit: 9760b6b1ecff3d3c43d182ea488fa34a82472a3e
https://github.com/llvm/llvm-project/commit/9760b6b1ecff3d3c43d182ea488fa34a82472a3e
Author: Mike Weller <mike at mikeweller.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
Log Message:
-----------
[clang-tidy] Ignore deleted ctor in `bugprone-forwarding-reference-overload` (#88138)
Fix `bugprone-forwarding-reference-overload` so it doesn't report a
constructor that is deleted.
Commit: da579ad807bd55c686e1c1c52e0a4bcc259347b4
https://github.com/llvm/llvm-project/commit/da579ad807bd55c686e1c1c52e0a4bcc259347b4
Author: martinboehme <mboehme at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
Log Message:
-----------
[clang][dataflow] Refactor `PropagateResultObject()` with a switch statement. (#88865)
See also discussion in #88726.
Commit: fcdb2203e05002f0488221f6a0cab42e1a34f8fc
https://github.com/llvm/llvm-project/commit/fcdb2203e05002f0488221f6a0cab42e1a34f8fc
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
A llvm/test/CodeGen/AMDGPU/atomic_optimization_split_dt_update.ll
Log Message:
-----------
[AMDGPU][AtomicOptimizer] Fix DT update for divergent values with Iterative strategy (#87605)
We take the terminator from EntryBB and put it in ComputeEnd. Make sure
we also move the DT edges, we previously only did it assuming a
non-conditional branch.
Fixes SWDEV-453943
Commit: b5f2cecf833f8d08197cda80ac684c250b8fa0f9
https://github.com/llvm/llvm-project/commit/b5f2cecf833f8d08197cda80ac684c250b8fa0f9
Author: martinboehme <mboehme at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
Log Message:
-----------
Revert "[clang][dataflow] Refactor `PropagateResultObject()` with a switch statement." (#89176)
Reverts llvm/llvm-project#88865
There were failing tests in the CI that I didn't notice. Sorry.
Commit: 42348b6918e9bbf2dd0260d8ffab4b80b8ff08f8
https://github.com/llvm/llvm-project/commit/42348b6918e9bbf2dd0260d8ffab4b80b8ff08f8
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github] Add myself as default code reviewer (#89099)
Commit: 3c721b90d363bf73b78467f6e86c879235bac1b2
https://github.com/llvm/llvm-project/commit/3c721b90d363bf73b78467f6e86c879235bac1b2
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/source/Expression/IRExecutionUnit.cpp
Log Message:
-----------
Revert "[lldb] Fix evaluation of expressions with static initializers (#89063)"
It breaks expression evaluation on arm, and the x86 breakage has been
fixed in 6cea7c491f4c4c68aa0494a9b18f36ff40c22c81.
This reverts commit 915c84b1480bb3c6d2e44ca83822d2c2304b763a.
Commit: 135472b553ccc18e4337b23f8d5616c8dda5e2a6
https://github.com/llvm/llvm-project/commit/135472b553ccc18e4337b23f8d5616c8dda5e2a6
Author: Isha Agarwal <isha.agarwal at intel.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/test/CodeGen/X86/x86-cf-protection.c
Log Message:
-----------
[X86][test] Added extra cet tests, NFC (#88736)
Updated cet test to:
-Check different modules based on different cet options
-Added negative tests also
---------
Signed-off-by: Isha Agarwal <isha.agarwal at intel.com>
Commit: 5d4e072a253afac018e312d75290314bd2d03b30
https://github.com/llvm/llvm-project/commit/5d4e072a253afac018e312d75290314bd2d03b30
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/unreached-static-entities.cppm
Log Message:
-----------
[C++20] [Modules] [Reduced BMI] Don't eagerly write static entities in
module purview
For,
```
export module A;
static int impl() { ... }
export int func() { return impl(); }
```
Previously, even with reduced BMI, the function `impl` will be emitted
into the BMI. After the patch, the static entities in module purview
won't get emitted eagerly. Now the static entities may only be emitted
if required.
Note that, this restriction is actually more relaxed than the language
standard required. The language spec said, the program is ill-formed if
any TU-local entities get exposed. However, we can't do this since there
are many static entities in the headers of existing libraries.
Forbidding that will cause many existing program fail immediately.
Another note here is, we can't do this for non-static non-exported
entities, they can be used for other module units within the same
module.
Commit: 6e30d97e89f1c49e8bf2073746a5e08f5e75948f
https://github.com/llvm/llvm-project/commit/6e30d97e89f1c49e8bf2073746a5e08f5e75948f
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
Log Message:
-----------
[MLIR][NVVM] [NFC] Update Docs for shfl.sync Op (#89044)
The first argument to the nvvm_shfl_sync_* family
of intrinsics is the thread_mask (aka member_mask).
This patch renames the corresponding operand in the Op
to reflect the same i.e. `dst` -> `thread_mask`.
While we are there, add summary and description
for this Op.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 609ee9fe6a96113c893e8344f0dfaef5eba73e3d
https://github.com/llvm/llvm-project/commit/609ee9fe6a96113c893e8344f0dfaef5eba73e3d
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang] Remove unused lambda capture (NFC)
llvm-project/clang/lib/Serialization/ASTWriter.cpp:5077:59:
error: lambda capture 'SemaRef' is not used [-Werror,-Wunused-lambda-capture]
auto AddEmittedDeclRefOrZero = [this, &SemaDeclRefs, &SemaRef](Decl *D) {
~~~^~~~~~~
1 error generated.
Commit: c82f45f9deb98aa383b0be37f8edc32f9e48c4ec
https://github.com/llvm/llvm-project/commit/c82f45f9deb98aa383b0be37f8edc32f9e48c4ec
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/test/Integration/GPU/CUDA/sm90/python/tools/matmulBuilder.py
Log Message:
-----------
[mlir][nvgpu] Simplify TMA IR generation (#87153)
This PR add `TmaDescriptorBuilder`
- class simplifies TMA generation.
- Makes the code ready to support various Tma configurations
- removes strings and use the enums from `mlir.nvgpu.ENUMs`.
- Example "swizzle = swizzle_128b, l2promo=none, oob=zero,
interleave=none" to enums in `mlir.nvgpu` dialects.
- Enums have string equivalent that are used during the IR writing and
generation (see `TmaDescriptorBuilder::tensormap_descriptor_ty`).
- Improves readability and abstracts out TMA descriptor builders in
reusable component.
---------
Co-authored-by: Manish Gupta <manigupta at google.com>
Commit: 03e841c870e7beccf1368e566045e233b3bd8db5
https://github.com/llvm/llvm-project/commit/03e841c870e7beccf1368e566045e233b3bd8db5
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/docs/resources/test.rst
M lldb/test/API/CMakeLists.txt
Log Message:
-----------
[lldb] Correct documentation of LLDB_TEST_USER_ARGS (#89042)
https://discourse.llvm.org/t/running-lldb-in-a-container/76801/4 found
that the obvious way to use this variable doesn't work, despite what our
docs and examples say.
Perhaps in the past it did but now you need to use ";" as a separator to
make sure the final command line works properly.
For example "-A foo" becomes "-A foo" when python goes to run the runner
script. The script sees this as one command line element, not two. What
you actually want is "-A;foo" which we convert to "-A" "foo" which the
script sees as one option and one value for that option.
The "Script:" printout from dotest is misleading here because it does `"
".join(cmd)` so it looks like it's ok but in fact it's not.
I'm not changing that format though because printing the command as a
Python list is not useful outside of this specific situation.
Commit: e7a8dd9b0d419403fe1d8adeb177a4ec78e036cc
https://github.com/llvm/llvm-project/commit/e7a8dd9b0d419403fe1d8adeb177a4ec78e036cc
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[docs] [C++20] [Modules] Mentioning Module Initializer
Although we want to treat the module initializer as a transparent
concept to users, but it shows that people need to understand
the concept to understand how to understand and distribute modules.
So it is better to mention this too.
Commit: c674dbc2a89298f1ff06686ae953cef9a1b19961
https://github.com/llvm/llvm-project/commit/c674dbc2a89298f1ff06686ae953cef9a1b19961
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/test/CodeGen/aarch64-cpu-supports.c
M clang/test/CodeGen/aarch64-mixed-target-attributes.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/Sema/aarch64-cpu-supports.c
M clang/test/Sema/attr-target-clones-aarch64.c
M clang/test/Sema/attr-target-version.c
M clang/test/SemaCXX/attr-target-version.cpp
M compiler-rt/lib/builtins/cpu_model/aarch64.c
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/fuchsia.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
Log Message:
-----------
Revert "[FMV] Remove useless features according the latest ACLE spec." (#89184)
Reverts llvm/llvm-project#88965
This caused a test suite failure:
https://lab.llvm.org/buildbot/#/builders/185/builds/6583
NOEXE: test-suite::aarch64-acle-fmv-features.test
```
/home/tcwg-buildbot/worker/clang-aarch64-lld-2stage/test/test-suite/SingleSource/UnitTests/AArch64/acle-fmv-features.c:98:1: error: redefinition of 'check_sha1'
98 | CHECK(sha1, {
| ^
/home/tcwg-buildbot/worker/clang-aarch64-lld-2stage/test/test-suite/SingleSource/UnitTests/AArch64/acle-fmv-features.c:36:17: note: expanded from macro 'CHECK'
36 | static void check_##X(void) { \
| ^
<scratch space>:150:1: note: expanded from here
150 | check_sha1
| ^
```
I presume that the useless features need to be removed from the fmv test
as well.
Commit: fd98f80f602e11d523d252feef301634c2c689a7
https://github.com/llvm/llvm-project/commit/fd98f80f602e11d523d252feef301634c2c689a7
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Finish initializing structs from CompoundLiteralExprs
Commit: 61f400165c64894374d23ffbcbebc8650d974961
https://github.com/llvm/llvm-project/commit/61f400165c64894374d23ffbcbebc8650d974961
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
Log Message:
-----------
[llvm-exegesis] Define SYS_gettid if not available
This patch defines SYS_gettid as __NR_gettid if SYS_gettid is not
available to avoid compile time errors due to SYS_gettid not being
defined. This happens with certain libcs (like bionic) that do not
define SYS_gettid.
Commit: 63d8058ef50a3186b6b6a5db254f44673fea3d19
https://github.com/llvm/llvm-project/commit/63d8058ef50a3186b6b6a5db254f44673fea3d19
Author: Ramkumar Ramachandra <ram.ramachandra at arm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/pr55096-scalarize-add.ll
Log Message:
-----------
LoopVectorize: guard appending InstsToScalarize; fix bug (#88720)
In the process of collecting instructions to scalarize, LoopVectorize
uses faulty reasoning whereby it also adds instructions that will be
scalar after vectorization. If an instruction satisfies
isScalarAfterVectorization() for the given VF, it should not be appended
to InstsToScalarize. Add this extra guard, fixing a crash.
Fixes #55096.
Commit: e90bc9cfd4d22c89dd993f62ede700ae25df49c5
https://github.com/llvm/llvm-project/commit/e90bc9cfd4d22c89dd993f62ede700ae25df49c5
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/Config/llvm-config.h.cmake
A llvm/include/llvm/Support/float128.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/test/CMakeLists.txt
A llvm/test/Transforms/InstSimplify/ConstProp/logf128.ll
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
M llvm/unittests/Analysis/CMakeLists.txt
Log Message:
-----------
Constant Fold Logf128 calls (#84501)
This patch enables constant folding for 128 bit floating-point logf
calls. This is achieved by querying if the host system has the logf128()
symbol available with a CMake test. If so, replace the runtime call with
the compile time value returned from logf128.
Commit: 3e64f8a4e74cdcaf5920879c86e7e0a827f6ec13
https://github.com/llvm/llvm-project/commit/3e64f8a4e74cdcaf5920879c86e7e0a827f6ec13
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/mops-register-alias.ll
A llvm/test/MC/AArch64/armv9.3a-mops-register-aliasing.s
Log Message:
-----------
[AArch64][CodeGen] Fix illegal register aliasing bug for mops instrs (#88869)
A bug was found where mops instructions were being generated that
aliased the source and size registers. This is unpredictable behaviour.
This patch uses the earlyclobber constraint on the input source
register so that it doesn't alias with the size register. Also a test is
introduced which checks affected instructions can't violate this
constraint.
Commit: 750de326ef0408df4a5f91773c355ded1a1b1b77
https://github.com/llvm/llvm-project/commit/750de326ef0408df4a5f91773c355ded1a1b1b77
Author: Martin Storsjö <martin at martin.st>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M llvm/include/llvm/Object/COFFImportFile.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Object/COFFModuleDefinition.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
Log Message:
-----------
[COFF] Rename the COFFShortExport::AliasTarget field. NFC. (#89039)
It turns out that the previous name is vaguely misleading.
When operating on a def file like "symbolname == dllname", that is
supposed to make an import library entry, that when the symbol
"symbolname" links against this, it imports the DLL symbol "dllname"
from the referenced DLL. This doesn't need to involve any alias, and it
doesn't need to imply that "dllname" is available on its own as a
separate symbol in the import library at all.
GNU dlltool implements import libraries in the form of "long import
library", where each member is a regular object file with section chunks
that compose the relevant .idata section pieces. There, this kind of
import renaming does not involve any form of aliases, but the right
.idata section just gets a different string than the symbol name.
Commit: d17db6066d2524856fab493dd894f8396e896bc7
https://github.com/llvm/llvm-project/commit/d17db6066d2524856fab493dd894f8396e896bc7
Author: Martin Storsjö <martin at martin.st>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lld/COFF/Writer.cpp
A lld/test/COFF/autoimport-debug.s
Log Message:
-----------
[LLD] [COFF] Don't create pseudo relocations for discardable sections (#89043)
This extends on the case from 9c970d5ecd6a85188cd2b0a941fcd4d60063ef81;
if a section is marked discardable, it won't be mapped into memory at
runtime, so there's no point in creating runtime pseudo relocations for
such sections.
Commit: 3da065896b1b59fd8291958e8d13f4a942d51214
https://github.com/llvm/llvm-project/commit/3da065896b1b59fd8291958e8d13f4a942d51214
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
Log Message:
-----------
Revert "CompilerRT: Normalize COMPILER_RT_DEFAULT_TARGET_TRIPLE (#88835)"
This reverts commit 16f188761da1df6ba5e6627b8742aacfec8e9ec5.
This broke Libcxx Picolib testing at the install step, and builds
for Windows builtins. Revert while we figure out the cause.
Commit: 8d6a9c05f6d676c93c84ebf06cf6263657e74c00
https://github.com/llvm/llvm-project/commit/8d6a9c05f6d676c93c84ebf06cf6263657e74c00
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/Verifier.cpp
A llvm/test/DebugInfo/X86/template-alias.ll
M llvm/test/tools/llvm-symbolizer/frame-types.s
Log Message:
-----------
[DWARF] Add support for DW_TAG_template_alias for template aliases (#88943)
Part 1 of fix for issue
https://github.com/llvm/llvm-project/issues/54624
Split from PR #87623. Clang front end changes to follow.
Use DICompositeType to represent the template alias, using its extraData
field as a tuple of DITemplateParameter to describe the template
parameters.
Added template-alias.ll - Check DWARF emission.
Modified frame-types.s - Check llvm-symbolizer understands the DIE.
Commit: ac39fa740b067f6197dca1caecc97c0da91ebf3d
https://github.com/llvm/llvm-project/commit/ac39fa740b067f6197dca1caecc97c0da91ebf3d
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
Log Message:
-----------
[MLIR][Mem2Reg][LLVM] Enhance partial load support (#89094)
This commit improves LLVM dialect's Mem2Reg interfaces to support
promotions of partial loads from larger memory slots. To support this,
the Mem2Reg interface methods are extended with additional data layout
parameters. The data layout is required to determine type sizes to
produce correct conversion sequences.
Note: There will be additional followups that introduce a similar
functionality for stores, and there are plans to support accesses into
the middle of memory slots.
Commit: c26e9bf8fafea656b64d811c01fc3a5f970829ef
https://github.com/llvm/llvm-project/commit/c26e9bf8fafea656b64d811c01fc3a5f970829ef
Author: Matt Devereau <matthew.devereau at arm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/Config/llvm-config.h.cmake
R llvm/include/llvm/Support/float128.h
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/test/CMakeLists.txt
R llvm/test/Transforms/InstSimplify/ConstProp/logf128.ll
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
M llvm/unittests/Analysis/CMakeLists.txt
Log Message:
-----------
Revert "Constant Fold Logf128 calls (#84501)"
This reverts commit e90bc9cfd4d22c89dd993f62ede700ae25df49c5.
Commit: 9462abdff1687c1e35574cdef8de6c549addc42a
https://github.com/llvm/llvm-project/commit/9462abdff1687c1e35574cdef8de6c549addc42a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/insertelement-across-zero.ll
Log Message:
-----------
[SLP]Fix PR89187: fixx assertion check.
Need to use proper index variable to fix a crash.
Commit: 2a4e61b342e7a19bcb229ef16dee083c58224a3f
https://github.com/llvm/llvm-project/commit/2a4e61b342e7a19bcb229ef16dee083c58224a3f
Author: Matthias Springer <me at m-sp.org>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/docs/BufferDeallocationInternals.md
M mlir/docs/Bufferization.md
A mlir/docs/OwnershipBasedBufferDeallocation.md
A mlir/docs/includes/img/bufferization_dealloc_op.svg
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationBase.td
Log Message:
-----------
[mlir][NFC] Move and improve ownership-based buffer dellocation docs (#89196)
Move the documentation of the ownership-based buffer deallocation pass
to a separate file. Also improve the documentation a bit and insert a
figure that explains the `bufferization.dealloc` op (copied from the
tutorial at the LLVM Dev Summit 2023).
Commit: 652ae4ecadaa972d70ef5cea3b68f2ff103c4af2
https://github.com/llvm/llvm-project/commit/652ae4ecadaa972d70ef5cea3b68f2ff103c4af2
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/SemaCXX/attr-exclude_from_explicit_instantiation.local-class.cpp
Log Message:
-----------
[Clang][Sema] Warn when 'exclude_from_explicit_instantiation' attribute is used on local classes and members thereof (#88777)
A local class and its members declared in a function template are
instantiated alongside the definition of that template. It therefore
does not make sense to apply the `exclude_from_explicit_instantiation`
attribute to such declarations, and this patch adds a warning to
diagnose these cases (in addition to ignoring the attribute).
(The motivation for this patch is to fix a failing test in libc++ for
#84050. In particular, line 199 in `include/__memory/uses_allocator_construction.h`
in libc++ contains the expression `this->__value_` (reduced to
https://godbolt.org/z/KqEerKWPd) which will be looked up prior
to instantiation once #84050 lands (the lookup context is the
current instantiation). `_LIBCPP_HIDE_FROM_ABI` includes
`__attribute__((exclude_from_explicit_instantiation))`, which in the
reduced example results in `Local` being instantiated with
`Local::operator A` as its `DeclContext`)
Commit: 3f0d52b2dbdb096212e8ffa6ad86aacd0d256957
https://github.com/llvm/llvm-project/commit/3f0d52b2dbdb096212e8ffa6ad86aacd0d256957
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
Log Message:
-----------
[mlir][llvm] Clean out f8 types from compatible types list
These were added in faf697e49bad099b36770c7738f36917e3d90d2d so things
can flow through non-opaque LLVM ptrs. Those ptrs are gone so there is
no reason for this to be around anymore. LLVM doesn't support f8 types,
they get converted to i8 when lowering to LLVM dialect.
Removing the f8 types makes LLVM::isCompatibleType and
LLVM::isCompatibleFloatingPointType consistent again.
Commit: 0e08bce142c90fcdc36365433e02d75acadbaa3c
https://github.com/llvm/llvm-project/commit/0e08bce142c90fcdc36365433e02d75acadbaa3c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
R libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__pstl/backends/libdispatch.h
M libcxx/include/__pstl/backends/serial.h
M libcxx/include/__pstl/backends/std_thread.h
A libcxx/include/__pstl/cpu_algos/any_of.h
A libcxx/include/__pstl/cpu_algos/fill.h
A libcxx/include/__pstl/cpu_algos/find_if.h
A libcxx/include/__pstl/cpu_algos/for_each.h
A libcxx/include/__pstl/cpu_algos/merge.h
A libcxx/include/__pstl/cpu_algos/stable_sort.h
A libcxx/include/__pstl/cpu_algos/transform.h
A libcxx/include/__pstl/cpu_algos/transform_reduce.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
Log Message:
-----------
[libc++][pstl] Move the CPU algorithm implementations to __pstl (#89109)
This colocates the CPU algorithms closer to the rest of the PSTL
implementation details.
Commit: af7a82fdc717c9cbd1b77ff4168292098a1f6e8a
https://github.com/llvm/llvm-project/commit/af7a82fdc717c9cbd1b77ff4168292098a1f6e8a
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
[NFC] Format code of parseArch() (#89152)
In preparation for a cleaner addition in a following PR.
Commit: 97c60d61d043e21da454226619a98bfb2f2194ee
https://github.com/llvm/llvm-project/commit/97c60d61d043e21da454226619a98bfb2f2194ee
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
Log Message:
-----------
[MLIR][OpenMP] Check that omp.loop_nest represents at least one loop (#89082)
Commit: a66c09a96dec633c1172a02818859f71fbff4f45
https://github.com/llvm/llvm-project/commit/a66c09a96dec633c1172a02818859f71fbff4f45
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 0e08bce142c9
Commit: 73b255c9f824157064212d341a255a962e746fd4
https://github.com/llvm/llvm-project/commit/73b255c9f824157064212d341a255a962e746fd4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
Log Message:
-----------
[DAG] Ensure extract_subvector(insert_subvector(x,y,c1),c2) --> extract_subvector(y,c2-c1) is working on fixed vector types
#87925 failed to ensure we weren't removing the extracted subvector from a scalable vector type
Thanks to @antmox for the headsup.
Commit: e06fb82b40a42eaa6ed6c21b7dbe0fa4bd2443dc
https://github.com/llvm/llvm-project/commit/e06fb82b40a42eaa6ed6c21b7dbe0fa4bd2443dc
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github] notify me about mlir python changes
Commit: 6d9ee88599f551be91938ed77fe66d2d6b01b550
https://github.com/llvm/llvm-project/commit/6d9ee88599f551be91938ed77fe66d2d6b01b550
Author: abidh <haqadeer at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
Log Message:
-----------
[flang] Rename AddDebugFoundation to AddDebugInfo (NFC) (#89191)
These changes were missed in PR #88526.
Commit: 743d090b96e09fe7c2cea60a8962f579684c37ce
https://github.com/llvm/llvm-project/commit/743d090b96e09fe7c2cea60a8962f579684c37ce
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/add_new_check.py
Log Message:
-----------
[clang-tidy] fix add_new_check.py regex (#89189)
Commit: e6ee191f968c1dc39410bcb0db3ee62f51c7d158
https://github.com/llvm/llvm-project/commit/e6ee191f968c1dc39410bcb0db3ee62f51c7d158
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
Log Message:
-----------
[RISCV] Add test case for CASE_VFMA_CHANGE_OPCODE_VV to handle MF4 pseudos (#88947)
The fix was committed in
https://github.com/llvm/llvm-project/commit/8cee94e989b5bf6fb6455087d48eb6c6e0e23c54.
This adds a test.
Commit: 16fed31f440ff7b194cb0f843e46339e28aa7982
https://github.com/llvm/llvm-project/commit/16fed31f440ff7b194cb0f843e46339e28aa7982
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
A llvm/test/CodeGen/AMDGPU/release-vgprs-dbg-loc.mir
Log Message:
-----------
[AMDGPU] Fix debug line table for MSG_DEALLOC_VGPRS optimization (#88924)
Deallocating VGPRs interferes with doing a context save, which is needed for GDB
to report a breakpoint. So, in this sequence:
s_sendmsg MSG_DEALLOC_VGPRS
s_endpgm
We now use the debug location of the s_endpgm for the s_sendmsg, so a breakpoint
set in the debugger at the end of a shader will be hit before deallocating VGPRs.
Commit: 73e7f2ff70e64defcc59f707a8d2463dd4c79be0
https://github.com/llvm/llvm-project/commit/73e7f2ff70e64defcc59f707a8d2463dd4c79be0
Author: Ramkumar Ramachandra <ram.ramachandra at arm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
Log Message:
-----------
LoopVectorize: guard marking iv as scalar; fix bug (#88730)
When collecting loop scalars, LoopVectorize over-eagerly marks the
induction variable and its update as scalars after vectorization, even
if the induction variable update is a first-order recurrence. Guard the
process with this check, fixing a crash.
Fixes #72969.
Commit: 4c3514fa53cc39db5de4dbbca9a54977159f24e8
https://github.com/llvm/llvm-project/commit/4c3514fa53cc39db5de4dbbca9a54977159f24e8
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] Fix a "!CodeSynthesisContexts.empty()" assertion failure when constructing aggregate deduction guides. (#89227)
We were missing to push an record to the instantiation stack in
`DeclareAggregateDeductionGuideForTypeAlias`. This patch fixes that.
Commit: c515c780244e3ecbb1fcfd06b3ad588d8d22c28e
https://github.com/llvm/llvm-project/commit/c515c780244e3ecbb1fcfd06b3ad588d8d22c28e
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/Bufferization.h
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-out-params.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
Log Message:
-----------
[mlir][Bufferization] castOrReallocMemRefValue: Use BufferizationOptions (#89175)
This allows to configure both the op used for allocation and copy of
memrefs.
It also changes the default behavior because the default allocation in
`BufferizationOptions` creates `memref.alloc` with `alignment = 64`
where we used to create `memref.alloca` without any alignment before.
Fixes
```
// TODO: Use alloc/memcpy callback from BufferizationOptions if called via
// BufferizableOpInterface impl of ToMemrefOp.
```
Commit: 8f07a67f9731dfcd490f8aaefac34d95f207b39c
https://github.com/llvm/llvm-project/commit/8f07a67f9731dfcd490f8aaefac34d95f207b39c
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/test/Driver/aix-toolchain-include.cpp
Log Message:
-----------
[clang][AIX] set OpenMP include path (#88545)
Add include directory for omp.h at `/opt/IBM/openxlCSDK/include/openmp`.
Commit: bc5536469d7854a043dbfe4c018e5b5dfc069d4f
https://github.com/llvm/llvm-project/commit/bc5536469d7854a043dbfe4c018e5b5dfc069d4f
Author: tomnatan30 <130450079+tomnatan30 at users.noreply.github.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/test/python/ir/operation.py
Log Message:
-----------
[mlir][python] Fix PyOperationBase::walk not catching exception in python callback (#89225)
If the python callback throws an error, the c++ code will throw a
py::error_already_set that needs to be caught and handled in the c++
code .
This change is inspired by the similar solution in
PySymbolTable::walkSymbolTables.
Commit: f981d860029411febac9200762dca47c1ef1af22
https://github.com/llvm/llvm-project/commit/f981d860029411febac9200762dca47c1ef1af22
Author: azhan92 <alisonxzhang at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/test/Driver/compress.c
Log Message:
-----------
XFAIL clang/Driver/test/compress.c on AIX (#87269)
This PR XFAIL's `clang/Driver/compress.c` on AIX since it requires the
LLVM integrated assembler / assembly parser support, which is not
available on AIX.
```
/home/jenkinsWorker/jenkins/workspace/LLVM-Release/release-testing-prototype/llvm/clang18.1.2-final/final/llvm-project/clang/test/Driver/compress.c:19:18: error: CHECK-OPT_GZ: expected string not found in input
// CHECK-OPT_GZ: "--compress-debug-sections=zlib"
```
Commit: 9c51f9b7362d25b8c49258fa636fb95aaa07463a
https://github.com/llvm/llvm-project/commit/9c51f9b7362d25b8c49258fa636fb95aaa07463a
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/test/Driver/response-file-errs.c
Log Message:
-----------
[AIX][NFC] Enable response-file-errs.c
The test was fixed by commit 678f19f08296fec299438130cf5943714c590b7e.
Commit: 7257c37357ee4540d6a63e5d2854b97f43ae2c49
https://github.com/llvm/llvm-project/commit/7257c37357ee4540d6a63e5d2854b97f43ae2c49
Author: Sam McCall <sam.mccall at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaObjCXX/Inputs/nullability-consistency-smart.h
Log Message:
-----------
[clang] fix -Wnullability-completeness false-positive in dependent code (#88727)
The intent was that smart-pointers do not participate in completeness
checks, but we failed to capture dependent `unique_ptr<T>`, which is not
a RecordType but a TemplateSpecializationType.
Commit: 353322f61db41392c56dd9204e912199b5250e78
https://github.com/llvm/llvm-project/commit/353322f61db41392c56dd9204e912199b5250e78
Author: bcahoon <59846893+bcahoon at users.noreply.github.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
A llvm/test/CodeGen/AMDGPU/sgpr-spills-empty-prolog-block.mir
Log Message:
-----------
[AMDGPU] Fix end() iterator dereference in SILowerSGPRSpills (#88828)
Commit: 4c18681a2d5a5738233fce9d7746b968d4b4ab76
https://github.com/llvm/llvm-project/commit/4c18681a2d5a5738233fce9d7746b968d4b4ab76
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/MachO.h
M clang/lib/InstallAPI/DylibVerifier.cpp
A clang/test/InstallAPI/alias_list.test
M clang/test/InstallAPI/mismatching-objc-class-symbols.test
M clang/tools/clang-installapi/ClangInstallAPI.cpp
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] Add support for aliased exports (#88750)
Apple's ld supports alias_lists, described as
```
-alias_list filename
The specified filename contains a list of aliases. The symbol name and its alias are on one
line, separated by whitespace. Lines starting with # are ignored.
```
To handle this for installapi-produced TBD files, pass along the same
input and account for it in verification.
Commit: a1e7c83af11ee111994ec19029494e6e9ea97dbd
https://github.com/llvm/llvm-project/commit/a1e7c83af11ee111994ec19029494e6e9ea97dbd
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
Log Message:
-----------
[lldb] Disable break at _dl_debug_state test on arm
Commit: 44c876f9e0a0dd6c3a5eb65bb49c2e2661ab02e0
https://github.com/llvm/llvm-project/commit/44c876f9e0a0dd6c3a5eb65bb49c2e2661ab02e0
Author: Corentin Ferry <corentin.ferry at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
Log Message:
-----------
[mlir][emitc] Add EmitC lowering for arith.cmpi (#88700)
Commit: 2cdbc9cff3b7ef262c45e749f0a942343a19808a
https://github.com/llvm/llvm-project/commit/2cdbc9cff3b7ef262c45e749f0a942343a19808a
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
Log Message:
-----------
[clangd] Use TargetOpts from preamble when building ASTs (#88381)
Building ASTs with compile flags that are incompatible to the ones used
for the Preamble are not really supported by clang and can trigger
crashes.
In an ideal world, we should be re-using not only TargetOpts, but the
full ParseInputs from the Preamble to prevent such failures.
Unfortunately current contracts of ThreadSafeFS makes this a non-safe
change for certain implementations. As there are no guarantees that the
same ThreadSafeFS is going to be valid in the Context::current() we're
building the AST in.
Commit: cd0c94bb8558b6e26313694da18006a840521903
https://github.com/llvm/llvm-project/commit/cd0c94bb8558b6e26313694da18006a840521903
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
A llvm/test/MC/RISCV/rv64e-zcmp-valid.s
Log Message:
-----------
[RISCV] Remove IsEABI from RISCVZC::getStackAdjBase. (#89177)
The usage of IsEABI was only valid for RV32E. For RV64E, the stack
adjust
base needs to be 32 when ra,s0-s1 are being saved. Since it takes more
than 16 bytes to save 3 64-bit registers.
The spec lists the rv32e behavior explicitly, but not rv64e. My
assumption is that the only thing that changes with rv64e is which
registers can be used in the register list, but not how the register
list affects the stack_adj_base.
Commit: acd736e3e1e7b8a20e28ed17fb59595ce1e670bb
https://github.com/llvm/llvm-project/commit/acd736e3e1e7b8a20e28ed17fb59595ce1e670bb
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/ClangdServer.cpp
Log Message:
-----------
[clangd] Propagate context into stdlib indexing thread (#87611)
Some FS implementations rely on snapshots available in the context.
Commit: fdce6c80bc92c9668b3835264806fa85b8a93ab7
https://github.com/llvm/llvm-project/commit/fdce6c80bc92c9668b3835264806fa85b8a93ab7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/atomicrmw.ll
Log Message:
-----------
InstCombine: Fix typo in atomicrmw or test
This was copy-paste from the identical add test, and
didn't change to test the or from the name.
Commit: 9606716be3de067d4402957810fb05d5eee77349
https://github.com/llvm/llvm-project/commit/9606716be3de067d4402957810fb05d5eee77349
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
Log Message:
-----------
AMDGPU: Fix typo in test function names
Commit: d3993ac1890731d2b24543646961c95680788207
https://github.com/llvm/llvm-project/commit/d3993ac1890731d2b24543646961c95680788207
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
Log Message:
-----------
[lldb][test] Correctly fix break at _dl_debug_state test on arm.
If lldb finds the dynamic linker in the search path or if the binary is linked staticlly, it will fail at `lldbutil.run_break_set_by_symbol` because the breakpoint is resolved. Otherwise, it's not resolved at this point. But we don't care if it's resolved or not. This test cares about if the breakpoint is hit or not after launching.
This changes the num_expected_locations to -2, which means don't assert on if this breakpoint resolved or not.
Commit: af0b69f27dd9aa9c4609b413d502114218a6990c
https://github.com/llvm/llvm-project/commit/af0b69f27dd9aa9c4609b413d502114218a6990c
Author: Scott Egerton <9487234+ScottEgerton at users.noreply.github.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInsertSingleUseVDST.cpp
M llvm/test/CodeGen/AMDGPU/insert-singleuse-vdst.mir
Log Message:
-----------
[AMDGPU] Support wide register or subregister access when emitting s_singleuse_vdst instructions. (#88520)
Both single use producer and consumer instructions using wide/sub
registers are now correctly tracked and eligible for being marked as
single use.
Commit: 8a21d59f29ef8d6011c6defa05ff7e8b7decc6d2
https://github.com/llvm/llvm-project/commit/8a21d59f29ef8d6011c6defa05ff7e8b7decc6d2
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libcxx/docs/Status/FormatPaper.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
A libcxx/include/__chrono/local_info.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/chrono
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/modules/std/chrono.inc
A libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.local/ostream.pass.cpp
A libcxx/test/std/time/time.syn/formatter.local_info.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/local_info,members.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/ostream.pass.cpp
M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
Log Message:
-----------
[libc++][TZDB] Adds local_info formatter. (#86256)
This adds the local_info type and its formatting options.
The usage of the local_info object will be done in separate patches.
Implements parts of:
- P0355 Extending to Calendars and Time Zones
- P1361 Integration of chrono with text formatting
Commit: d8a26ca323977035969813b0e1e9fb54fd334620
https://github.com/llvm/llvm-project/commit/d8a26ca323977035969813b0e1e9fb54fd334620
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/KnownBits.h
M llvm/lib/Support/KnownBits.cpp
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[KnownBits] Make abdu and abds optimal (#89081)
Fixes #84212
Commit: ba1158813d4656585c7e345747bc4db4e3f03b9d
https://github.com/llvm/llvm-project/commit/ba1158813d4656585c7e345747bc4db4e3f03b9d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/pr88966.ll
Log Message:
-----------
[DAGCombiner][AArch64] Make combineCarryDiamond avoid creating UADDO_CARRY with carry in larger than setcc result type. (#89121)
In the attach test case we were creating a UADDO_CARRY with i1 carry out
and i41 carry in. i41 exceeds is larger than the setcc result type for
AArch64 which is i32. i41 needs to be promoted to i64 since it is larger
than i32. The type legalizer tried to use promoteTargetBoolean, but that
can only promote from a type smaller than setcc result type.
The easiest fix here is to force the carryin type to match the carryout
type at the type of creation. This should ensure the node won't exceeed
setcc result type as long as the output type doesn't.
I think we should explore requiring the types to match for this node.
Fixes #88966
Commit: b41179d26568acbc7ba7456052029200c2146547
https://github.com/llvm/llvm-project/commit/b41179d26568acbc7ba7456052029200c2146547
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 8a21d59f29ef
Commit: 8fa1cbbbb94100ae356665062f88ab58f9f2738c
https://github.com/llvm/llvm-project/commit/8fa1cbbbb94100ae356665062f88ab58f9f2738c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/gfni-shifts.ll
Log Message:
-----------
[X86] gfni-shifts.ll - add vXi8 variable/splat/constant test coverage
Once #89115 has landed, we can handle per-element shifts as well using (V)GF2P8MULB
Commit: efbb846f067a60a5fdad1c4a008274c5cb089a3d
https://github.com/llvm/llvm-project/commit/efbb846f067a60a5fdad1c4a008274c5cb089a3d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/gfni-rotates.ll
Log Message:
-----------
[X86] gfni-rotates.ll - add vXi8 variable/splat/constant test coverage
Once #89115 has landed, we can handle per-element rotates as well using (V)GF2P8MULB
Commit: 254cdcddd65efe3c045d49853239932ab07121d5
https://github.com/llvm/llvm-project/commit/254cdcddd65efe3c045d49853239932ab07121d5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/X86/combine-ptest.ll
M llvm/test/CodeGen/X86/combine-testpd.ll
M llvm/test/CodeGen/X86/combine-testps.ll
M llvm/test/CodeGen/X86/vector-reduce-or-cmp.ll
Log Message:
-----------
[X86] ptest is commutable as long as only the Z flag is used. (#88969)
Fixes #88958.
Commit: 215eee60497489ae0cc7cc78c0d8b8270e057a70
https://github.com/llvm/llvm-project/commit/215eee60497489ae0cc7cc78c0d8b8270e057a70
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
Revert "[flang][build] Fixed paths discrovery for the out-of-tree build. (#87822)"
This reverts commit 920298456037b9ed3ab14cb646ef6d3bf95d2c2b.
Commit: 6870ac201f9f50a13313213fea7a14b198d7280a
https://github.com/llvm/llvm-project/commit/6870ac201f9f50a13313213fea7a14b198d7280a
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
A lldb/test/API/tools/lldb-dap/save-core/Makefile
A lldb/test/API/tools/lldb-dap/save-core/TestDAP_save_core.py
A lldb/test/API/tools/lldb-dap/save-core/main.cpp
Log Message:
-----------
Fix saving minidump from lldb-dap (#89113)
There are users reporting saving minidump from lldb-dap does not work.
Turns out our stack trace request always evaluate a function call which
caused JIT object file like "__lldb_caller_function" to be created which
can fail minidump builder to get its module size.
This patch fixes "getModuleFileSize" for ObjectFileJIT so that module
list can be saved. I decided to create a lldb-dap test so that this
end-to-end functionality can be validated from our tests (instead of
only command line lldb).
The patch also improves several other small things in the workflow:
1. It logs any minidump stream failure so that it is easier to find out
what stream saving fails. In future, we should show process and error to
end users.
2. It handles error from "getModuleFileSize" llvm::Expected<T> otherwise
it will complain the error is not handled.
---------
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: 24da7fa029f999c0faf5c90de351237a273f385f
https://github.com/llvm/llvm-project/commit/24da7fa029f999c0faf5c90de351237a273f385f
Author: Bharathi Ramana Joshi <joshibharathiramana at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Analysis/FlatLinearValueConstraints.h
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/include/mlir/Analysis/Presburger/PresburgerSpace.h
M mlir/include/mlir/Dialect/Affine/Analysis/AffineAnalysis.h
M mlir/include/mlir/Dialect/Affine/Analysis/AffineStructures.h
M mlir/lib/Analysis/FlatLinearValueConstraints.cpp
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
M mlir/lib/Analysis/Presburger/PresburgerSpace.cpp
M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
M mlir/lib/Dialect/Affine/Analysis/AffineStructures.cpp
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
M mlir/unittests/Analysis/Presburger/PresburgerSpaceTest.cpp
Log Message:
-----------
[MLIR][Presburger] Use Identifiers outside Presburger library (#77316)
The pull request includes the following changes.
1. Refactors the interface to `PresburgerSpace::identifiers` to `setId` and a
const `getId`, instead of previous `getId` which returned a mutable
reference. `resetIds` does not need to be called to use identifiers, `setId`
calls `resetIds` if identifiers are not enabled.
2. Deprecates `FlatAffineRelation` by refactoring all usages of
`FlatAffineRelation` to `IntegerRelation`. To achieve this,
`FlatAffineRelation::compose` is refactored into
`IntegerRelation::mergeAndCompose`.
3. Deletes unneeded overrides of virtual functions `hasConsistentState`,
`clearAndCopyFrom` and `fourierMotzkinEliminate` from
`FlatLinearValueConstraints` as these were only used through
`FlatAffineRelation` and we now use `IntegerRelation`'s member functions
instead.
4. Fixes an existing bug in FlatLinearValueConstraints' constructor
which caused
identifiers set by superclass FlatLinearConstraints' constructor to be
erased.
5. Fixes `IntegerRelation::convertVarKind` not preserving identifiers.
Commit: c37c472597d30a313c06bf55c72eaabdaf1ed65a
https://github.com/llvm/llvm-project/commit/c37c472597d30a313c06bf55c72eaabdaf1ed65a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/AVR/AVRISelLowering.cpp
Log Message:
-----------
[AVR] Let ArrayRef infer the array size (NFC) (#88638)
Commit: 468107904098e0b5d32db710db80907befde614e
https://github.com/llvm/llvm-project/commit/468107904098e0b5d32db710db80907befde614e
Author: Fred Grim <fgrim at apple.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/include/lldb/Utility/ProcessInfo.h
M lldb/source/Host/linux/Host.cpp
M lldb/unittests/Host/linux/HostTest.cpp
Log Message:
-----------
adds additional information to the ProcessInfo object for elf processes (#88995)
This adds some additional bits into a ProcessInfo structure that will be
of use in filling structs in an elf core file. This is a demand for
implementing process save-core
Commit: d556ed5b4a02bc61a595fbd903d8c9b4116dd926
https://github.com/llvm/llvm-project/commit/d556ed5b4a02bc61a595fbd903d8c9b4116dd926
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/gfni-rotates.ll
M llvm/test/CodeGen/X86/gfni-shifts.ll
Log Message:
-----------
[X86] Add GFNI test coverage without AVX512BW
512-bit GFNI doesn't require AVX512BW
Commit: ee0284ec1027b2917afac3da5322553d0f85a759
https://github.com/llvm/llvm-project/commit/ee0284ec1027b2917afac3da5322553d0f85a759
Author: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[TOSA] FFT2D/RFFT2D accuracy increased (#88510)
This PR increases accurasy of FFT2D/RFFT2D calculation by removing
periodic part of sin/cos
Commit: df7eb202ce432ec5f683f673b04878d6e1314d24
https://github.com/llvm/llvm-project/commit/df7eb202ce432ec5f683f673b04878d6e1314d24
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-node-trunc-with-signed-users.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect final analysis for unsigned nodes, being used in signed nodes.
Commit: 992413de99588a60920f934de07d703efb432ade
https://github.com/llvm/llvm-project/commit/992413de99588a60920f934de07d703efb432ade
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[flang][OpenMP] Move clause/object conversion to happen early, in genOMP (#87086)
This removes the last use of genOmpObjectList2, which has now been
removed.
---------
Co-authored-by: Sergio Afonso <safonsof at amd.com>
Commit: 33786b62bae4cec1c921f7c017aa6cdc644ced39
https://github.com/llvm/llvm-project/commit/33786b62bae4cec1c921f7c017aa6cdc644ced39
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/utils/update_any_test_checks.py
Log Message:
-----------
Make update_any_test_check.py script accepting @listfile CL argument. (#86800)
Usage: `update_any_test_check.py @my_list_of_tests`
where my_list_of_tests is a file containing list of tests to update.
Commit: 74e07ab523122d6a8347b25770062ab331b6bb84
https://github.com/llvm/llvm-project/commit/74e07ab523122d6a8347b25770062ab331b6bb84
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-node-trunc-with-signed-users.ll
Log Message:
-----------
[SLP]Fix final analysis for unsigned nodes.
Need to check that at least single bit is cleared for unsigned nodes
before reducing their size. Otherwise they might be treated as signed in
signed nodes.
Commit: 98427264cab558d285c7222f1f25b904124c6b93
https://github.com/llvm/llvm-project/commit/98427264cab558d285c7222f1f25b904124c6b93
Author: Fred Grim <fgrim at apple.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/unittests/Host/linux/HostTest.cpp
Log Message:
-----------
this test is flakey on arm in linux because I got too clever (#89267)
the assembly jazz doesn't work on arm. oops
Commit: eb989f625ee0e47ffa4343abe11b6afa9f3b2e69
https://github.com/llvm/llvm-project/commit/eb989f625ee0e47ffa4343abe11b6afa9f3b2e69
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/image/sampler.ll
Log Message:
-----------
[SPIR-V] Fix return type when sampling an image with OpImageSampleExplicitLod (#89252)
This PR fixes parsing of builtins return types in general and fixes
return type when sampling an image with OpImageSampleExplicitLod in
particular.
Commit: e9654880df9b30af11816782a83ebf960536309c
https://github.com/llvm/llvm-project/commit/e9654880df9b30af11816782a83ebf960536309c
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
R libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/local_info,members.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/local_info.members.pass.cpp
Log Message:
-----------
[NFC][libc++][chrono] Renames a file.
This uses a period instead of a comma; the latter was a typo.
Commit: 68e814d9114b6c8910642298714dad6fa79ccad2
https://github.com/llvm/llvm-project/commit/68e814d9114b6c8910642298714dad6fa79ccad2
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h
M llvm/lib/MC/MCDisassembler/MCDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
A llvm/test/MC/Disassembler/AMDGPU/kernel-descriptor-errors.test
A llvm/test/MC/Disassembler/AMDGPU/kernel-descriptor-rsrc-errors.test
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[AMDGPU] Add disassembler diagnostics for invalid kernel descriptors (#87400)
These mostly are checking for various reserved bits being set. The diagnostics
for gpu-dependent reserved bits have a bit more context since they seem like the
most likely ones to be observed in practice.
This commit also improves the error handling mechanism for
MCDisassembler::onSymbolStart(). Previously it had a comment stream parameter
that was just being ignored by llvm-objdump, now it returns errors using
Expected<T>.
Commit: 44713f15f9116a83f168f420ebddc6ae061883c0
https://github.com/llvm/llvm-project/commit/44713f15f9116a83f168f420ebddc6ae061883c0
Author: Joe Nash <joseph.nash at amd.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
Log Message:
-----------
[AMDGPU][MC] Separate VOPC MnemonicAlias from Instruction (#89105)
Tablegen classes MnemonicAlias, Requires, and VOPC_Real, all define a
field 'Predicates'. The prior formulation resulted in the instantiated
record inheriting from all three to only have the Predicate set in
Requires, i.e. Gen.AssemblerPredicate. This breaks the design of
GCNPredicateControl (which is a parent class of VOPC_Real) that allows
multiple predicates such as SubtargetPredicate and OtherPredicates to be
set on an Instruction.
MnemonicAlias does not need to be defined in the same record as
VOPC_Real, so we can separate the definitions and remove Requires to
avoid the issue.
NFCI, but it enables future changes, such as setting multiple predicates
on a VOPC_Real.
Commit: c577f91d266b74d1b5df475fa2dce7c47fc6c57e
https://github.com/llvm/llvm-project/commit/c577f91d266b74d1b5df475fa2dce7c47fc6c57e
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Add support for linearizing Extract, ExtractStridedSlice, Shuffle VectorOps in VectorLinearize (#88204)
This PR adds support for converting `vector.extract_strided_slice` and
`vector.extract` operations to equivalent `vector.shuffle` operations
that operates on linearized (1-D) vectors. `vector.shuffle` operations
operating on n-D (n > 1) are also converted to equivalent shuffle
operations working on linearized vectors.
Commit: 0e5c28d1930e7210f0f293312382c54d298dda06
https://github.com/llvm/llvm-project/commit/0e5c28d1930e7210f0f293312382c54d298dda06
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/cmake/caches/Fuchsia.cmake
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/packages/Python/lldbsuite/test/lldb_pylint_helper.py
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/CMakeLists.txt
M lldb/use_lldb_suite_root.py
M lldb/utils/lldb-dotest/CMakeLists.txt
M lldb/utils/lldb-dotest/lldb-dotest.in
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[lldb][test] Remove LLDB_TEST_USE_VENDOR_PACKAGES (#89260)
The `LLDB_TEST_USE_VENDOR_PACKAGES` has defaulted to `Off` for a while.
Either installing `pexpect` or skipping those tests with
`-DLLDB_TEST_USER_ARGS=--skip-category=pexpect` seems to be enough that
we can fully remove this option.
This patch removes the `LLDB_TEST_USE_VENDOR_PACKAGES` cmake
configuration as well as the associated code to add
`third_party/Python/module` to the python path. I'll do the actual
deletion of `third_party/Python/module` in a followup PR in the
(unlikely, I hope) event this commit needs to be reverted.
Commit: 22ed10d11e3ed5179e21a59cfa78b8318d1e1665
https://github.com/llvm/llvm-project/commit/22ed10d11e3ed5179e21a59cfa78b8318d1e1665
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Add missing dep after ee0284ec1027
Commit: 947b656add053a8c9a36cab27b5c6e8eb9c426f7
https://github.com/llvm/llvm-project/commit/947b656add053a8c9a36cab27b5c6e8eb9c426f7
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Instrumentation/PGOForceFunctionAttrs/basic.ll
Log Message:
-----------
[PGO] Check that PGOOpt exists before using PGOOpt->ColdOptType (#89139)
This means that the pass is unusable without some sort of profile. We
can revisit this decision later if we want to support running this pass
without a profile.
Commit: b3383d77693b1ea0fc622112b2c4b2e6719b3811
https://github.com/llvm/llvm-project/commit/b3383d77693b1ea0fc622112b2c4b2e6719b3811
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
Log Message:
-----------
[MLIR][NVVM] Fix a typo in barrier.arrive Op (#89273)
Commit: a71c1b34525c836ab8fbefe4cc3029699ac208a4
https://github.com/llvm/llvm-project/commit/a71c1b34525c836ab8fbefe4cc3029699ac208a4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Remove unused HasStdExtZama16b Predicate. NFC
Commit: 2a3a79ce4c2149d7787d56f9841b66cacc9061d0
https://github.com/llvm/llvm-project/commit/2a3a79ce4c2149d7787d56f9841b66cacc9061d0
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lld/MachO/ICF.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/MapFile.cpp
M lld/MachO/MarkLive.cpp
M lld/MachO/ObjC.cpp
M lld/MachO/Relocations.cpp
M lld/MachO/SectionPriorities.cpp
M lld/MachO/SymbolTable.cpp
M lld/MachO/Symbols.cpp
M lld/MachO/Symbols.h
M lld/MachO/SyntheticSections.cpp
M lld/MachO/UnwindInfoSection.cpp
M lld/MachO/Writer.cpp
Log Message:
-----------
[lld-macho][NFC] Preserve original symbol isec, unwindEntry and size (#88357)
Currently, when moving symbols from one `InputSection` to another (like
in ICF) we directly update the symbol's `isec`, `unwindEntry` and
`size`. By doing this we lose the original information. This information
will be needed in a future change. Since when moving symbols we always
set the symbol's `wasCoalesced` and `isec-> replacement`, we can just
use this info to conditionally get the information we need at access
time.
Commit: 515269b0ac0e061731eb5546c44083bf771db4d8
https://github.com/llvm/llvm-project/commit/515269b0ac0e061731eb5546c44083bf771db4d8
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/test/InstallAPI/binary-attributes.test
M clang/test/InstallAPI/rpath.test
Log Message:
-----------
[InstallAPI][Tests] Update tests to be resilient to reversion iteration config (#89270)
Commit: 22c26fa13d46e174e3d862e5f40cff06d804af0c
https://github.com/llvm/llvm-project/commit/22c26fa13d46e174e3d862e5f40cff06d804af0c
Author: Anthony Ha <anthonyha96 at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
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/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
Log Message:
-----------
[lldb] Skip remote PutFile when MD5 hashes equal (#88812)
This PR adds a check within `PutFile` to exit early when both local and
destination files have matching MD5 hashes. If they differ, or there is
trouble getting the hashes, the regular code path to put the file is
run.
As I needed this to talk to an `lldb-server` which runs the gdb-remote
protocol, I enabled `CalculateMD5` within `Platform/gdb-server` and also
found and fixed a parsing bug within it as well. Before this PR, the
client is incorrectly parsing the response packet containing the
checksum; after this PR, hopefully this is fixed. There is a test for
the parsing behavior included in this PR.
---------
Co-authored-by: Anthony Ha <antha at microsoft.com>
Commit: 2a2e21cd2bc4db9ec579d1c53bd11fc4bb0e7714
https://github.com/llvm/llvm-project/commit/2a2e21cd2bc4db9ec579d1c53bd11fc4bb0e7714
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libc/docs/dev/config_options.rst
Log Message:
-----------
[libc][docs] adds highlighting languages to `docs/dev/config_options.rst` (#89136)
Fixes #89135.
Commit: bd0f818d6303b87314755f026742197fd3b2bae2
https://github.com/llvm/llvm-project/commit/bd0f818d6303b87314755f026742197fd3b2bae2
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libc/docs/index.rst
A libc/docs/threads.rst
A libc/utils/docgen/threads.json
Log Message:
-----------
[libc][docs] adds threads.h impl status docs (#89275)
Closes #88067.
Adding @nickdesaulniers for review.
Commit: 8ba0041e158f8678e829c10efa73397afdba6b4f
https://github.com/llvm/llvm-project/commit/8ba0041e158f8678e829c10efa73397afdba6b4f
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/explicit.cpp
Log Message:
-----------
Stop double-diagnosing explicit convert operator in switch condition (#89142)
Note this also likely fixes a bunch of other cases. We were
double-diagnosting in a template because we were generating the
expression anyway, so any attempts to instantiate the function would
instantiate the expression, thus re-diagnosing it.
This patch replaces it with a RecoveryExpr. Additionally,
VerifyIntegerConstantExpression couldn't handle the RecoveryExpr, as it
requires a non-dependent expression result (which a RecoveryExpr is
dependent). Additionally, callers of it use the return value to decide
that VerifyIntegerConstantExpression succeeded, so it fails if it sees a
RecoveryExpr.
Commit: 76600aee9d7c851d3e26eed7496cec880bd53861
https://github.com/llvm/llvm-project/commit/76600aee9d7c851d3e26eed7496cec880bd53861
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.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/ParserOpenACC/parse-clauses.c
A clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
A clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'num_workers' clause for compute constructs (#89151)
This clause just takes an 'int expr', which is not optional. This patch
implements the clause on compute constructs.
Commit: e772a268ef75332b72dd9b9ca0341a6af8b0db72
https://github.com/llvm/llvm-project/commit/e772a268ef75332b72dd9b9ca0341a6af8b0db72
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGenCXX/debug-info-alias.cpp
A clang/test/CodeGenCXX/defaulted-template-alias.cpp
A clang/test/CodeGenCXX/template-alias.cpp
A clang/test/CodeGenCXX/variadic-template-alias.cpp
M clang/test/Driver/debug-options.c
Log Message:
-----------
[Clang] Emit DW_TAG_template_alias for template aliases (#87623)
Fix issue https://github.com/llvm/llvm-project/issues/54624
Add front end flags -gtemplate-alias (also a cc1 flag) and -gno-template-alias
to enable/disable usage of the feature. It's enabled by default in the front
end for SCE debugger tuning only.
GCC emits DW_TAG_typedef for template aliases (as does Clang with this feature
disabled), and GDB and LLDB appear not to support DW_TAG_template_alias.
The -Xclang option -gsimple-template-names=mangled is treated the same as
=full, which is not a regression from current behaviour for template
aliases.
The current implementation omits defaulted arguments and as a consequence
also omits empty parameter packs that come after defaulted arguments. Again,
this isn't a regression as the DW_TAG_typedef name doesn't contain defaulted
arguments.
LLVM support added in https://github.com/llvm/llvm-project/pull/88943
Added template-alias.cpp - Check the metadata construction & interaction with
-gsimple-template-names.
Added variadic-template-alias.cpp - Check template parameter packs work.
Added defaulted-template-alias.cpp - Check defaulted args (don't) work.
Modified debug-options.c - Check Clang generates correct cc1 flags.
Commit: 67669eada3eac53bb88574988dc82f582c2dc9cc
https://github.com/llvm/llvm-project/commit/67669eada3eac53bb88574988dc82f582c2dc9cc
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libc/utils/docgen/fenv.json
M libc/utils/docgen/signal.json
M libc/utils/docgen/stdbit.json
Log Message:
-----------
[libc][docs] Updates implementation status for some preexisting docgen json files (#89281)
Moving towards displaying impl status of standard header macros. The macros
aren't handled by docgen yet, so I haven't included updated rst files.
Commit: b8adf169bb86f8226978e1262443e2ffd94298ce
https://github.com/llvm/llvm-project/commit/b8adf169bb86f8226978e1262443e2ffd94298ce
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.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/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
A clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'vector_length' clause On compute constructs
The 'vector_length' clause is semantically identical to the
'num_workers' clause, in that it takes a mandatory single int-expr. This
is implemented identically to it.
Commit: b8de7cf6588ebc95e33a0e4a5b4254a94df60e4e
https://github.com/llvm/llvm-project/commit/b8de7cf6588ebc95e33a0e4a5b4254a94df60e4e
Author: Michael Jones <michaelrj at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libc/src/unistd/linux/pipe.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] unpoison memory returned by pipe syscall (#88942)
The memory sanitizer doesn't recognize the results of the pipe syscall
as being initialized. This patch manually unpoisons that memory.
Commit: 7aad1ee70f2c6be603707ff52a13e0e22330e859
https://github.com/llvm/llvm-project/commit/7aad1ee70f2c6be603707ff52a13e0e22330e859
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libc/docs/contributing.rst
Log Message:
-----------
[libc][docs] link to good beginner bugs (#89297)
Tagging bugs as "good first issue" and taking the time to work with new
contributors pays dividends.
Commit: 172f6ddfa7662a36e3a41db6bb944f7d72fd0b00
https://github.com/llvm/llvm-project/commit/172f6ddfa7662a36e3a41db6bb944f7d72fd0b00
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/ProfileData/MemProfReader.h
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/test/tools/llvm-profdata/memprof-merge-v0.test
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[memprof] Add Version2 of the indexed MemProf format (#89100)
This patch adds Version2 of the indexed MemProf format. The new
format comes with a hash table from CallStackId to actual call stacks
llvm::SmallVector<FrameId>. The rest of the format refers to call
stacks with CallStackId. This "values + references" model effectively
deduplicates call stacks. Without this patch, a large indexed memprof
file of mine shrinks from 4.4GB to 1.6GB, a 64% reduction.
This patch does not make Version2 generally available yet as I am
planning to make a few more changes to the format.
Commit: 6e6da74c8b936e457ca5e56a828823ae6a9f9066
https://github.com/llvm/llvm-project/commit/6e6da74c8b936e457ca5e56a828823ae6a9f9066
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/GPU.h
A mlir/lib/Bindings/Python/DialectGPU.cpp
M mlir/lib/CAPI/Dialect/GPU.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/dialects/gpu/__init__.py
M mlir/test/python/dialects/gpu/dialect.py
M mlir/test/python/dialects/gpu/module-to-binary-nvvm.py
Log Message:
-----------
[mlir][python] add binding to `#gpu.object` (#88992)
Commit: 16711b431b843dd2143d38fdf6b0591dfb1783e0
https://github.com/llvm/llvm-project/commit/16711b431b843dd2143d38fdf6b0591dfb1783e0
Author: cmtice <cmtice at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/DWARF.cpp
M lld/ELF/DWARF.h
M lld/ELF/Driver.cpp
M lld/ELF/Options.td
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
A lld/test/ELF/Inputs/debug-names-a.s
A lld/test/ELF/Inputs/debug-names-b.s
A lld/test/ELF/debug-names-bad.s
A lld/test/ELF/debug-names-die-offset-form-flag-present.s
A lld/test/ELF/debug-names-different-aug-string.s
A lld/test/ELF/debug-names-dwarf64.s
A lld/test/ELF/debug-names-missing-parent.s
A lld/test/ELF/debug-names-multi-cus.s
A lld/test/ELF/debug-names-nonames.s
A lld/test/ELF/debug-names-parent-idx.s
A lld/test/ELF/debug-names-type-units.s
A lld/test/ELF/debug-names.s
M lld/test/ELF/driver.test
A lld/test/ELF/ppc32-debug-names.s
Log Message:
-----------
[lld][ELF] Add --debug-names to create merged .debug_names. (#86508)
`clang -g -gpubnames` (with optional -gsplit-dwarf) creates the
`.debug_names` section ("per-CU" index). By default lld concatenates
input `.debug_names` sections into an output `.debug_names` section.
LLDB can consume the concatenated section but the lookup performance is
not good.
This patch adds --debug-names to create a per-module index by combining
the per-CU indexes into a single index that covers the entire load
module. The produced `.debug_names` is a replacement for `.gdb_index`.
Type units (-fdebug-types-section) are not handled yet.
Co-authored-by: Fangrui Song <i at maskray.me>
---------
Co-authored-by: Fangrui Song <i at maskray.me>
Commit: 78eb2c2cba5ad0f9a36ec1959371527313a76bbe
https://github.com/llvm/llvm-project/commit/78eb2c2cba5ad0f9a36ec1959371527313a76bbe
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/CodeGen/ABIInfoImpl.cpp
Log Message:
-----------
[clang] Preserve argument type in round pointer to alignment
Commit: 8b24028a7e2130cb79d40da58c9738400b20465b
https://github.com/llvm/llvm-project/commit/8b24028a7e2130cb79d40da58c9738400b20465b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[memprof] Use structured binding (NFC) (#89315)
Commit: 446371f5ccbd81aa7707b4f1a1baa0ea0955dc67
https://github.com/llvm/llvm-project/commit/446371f5ccbd81aa7707b4f1a1baa0ea0955dc67
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[memprof] Use std::optional (NFC) (#89317)
This is partly for readability and partly for consistency with other
id-to-frame callbacks.
Commit: 0dcabba9a7c5e1f72eca106ccb61a51b571ebb2a
https://github.com/llvm/llvm-project/commit/0dcabba9a7c5e1f72eca106ccb61a51b571ebb2a
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] fix llvm:support dependency error for CAPIGPU
Commit: a2face49ac7ba49736ca47f5e5dd7fa636b5defa
https://github.com/llvm/llvm-project/commit/a2face49ac7ba49736ca47f5e5dd7fa636b5defa
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[DXIL] Add DXIL SubArch to correspond to version number (#89125)
This change is in line with similar notation in SPIRV.
Decoupling version numbering of DXIL and of Shader Model is intended to
enable accurate specification of DXIL features that can be targeted by
different Shader Model versions.
Commit: 39bfdb7f33f7f53ab662c5cea25129c45a9b4c11
https://github.com/llvm/llvm-project/commit/39bfdb7f33f7f53ab662c5cea25129c45a9b4c11
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-gep-constexpr.ll
Log Message:
-----------
[GlobalOpt] Precommit tests for PR84694 (#87443)
PR link: https://github.com/llvm/llvm-project/pull/84694
Commit: 2132ebf0fe883a76ee29ad7c639e9f2a77704830
https://github.com/llvm/llvm-project/commit/2132ebf0fe883a76ee29ad7c639e9f2a77704830
Author: Jeff Niu <jeff at modular.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/IR/Properties.td
Log Message:
-----------
[mlir] Add def to `Properties.td` to help with enum properties (#89311)
This is useful for defining operation properties that are enums.
Commit: 0c41eea4742a05e68a2612f00baf5aa53c4c0d94
https://github.com/llvm/llvm-project/commit/0c41eea4742a05e68a2612f00baf5aa53c4c0d94
Author: Jeff Niu <jeff at modular.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/include/mlir/Conversion/LLVMCommon/VectorPattern.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
Log Message:
-----------
[mlir][llvm] Port `overflowFlags` to a native operation property (#89312)
This PR changes the LLVM dialect's IntegerOverflowFlags to be stored on
operations as native properties.
Commit: 7154a3967eae3817b3bc33a1b55085b397d1bc24
https://github.com/llvm/llvm-project/commit/7154a3967eae3817b3bc33a1b55085b397d1bc24
Author: Alex Langford <alangford at apple.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/include/lldb/Core/Disassembler.h
M lldb/source/Core/Disassembler.cpp
Log Message:
-----------
[lldb][nfc] Remove unused member Disassembler::m_base_addr (#89289)
This member variable is completely unused. I also don't think it makes a
ton of sense since (1) The "base address" can be obtained from the first
Instruction in its InstructionList, and (2) InstructionLists may not be
a series of contiguous instructions (even though they are most of the
time).
Commit: 8fb7ddf75fbfc62a91fa163ffb6333edcffab99a
https://github.com/llvm/llvm-project/commit/8fb7ddf75fbfc62a91fa163ffb6333edcffab99a
Author: Will Dietz <will.dietz at sifive.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/CMakeLists.txt
Log Message:
-----------
[Tosa] TosaToLinalg: link in Index dialect (#89318)
This is needed now that this depends on it:
ee0284ec1027b2917afac3da5322553d0f85a759
Co-authored-by: Will Dietz <w at wdtz.org>
Commit: 23d88a825bf46922333a78dc0ea431b9e54e48c2
https://github.com/llvm/llvm-project/commit/23d88a825bf46922333a78dc0ea431b9e54e48c2
Author: Fred Grim <fgrim at apple.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/BinaryFormat/ELF.cpp
Log Message:
-----------
adds conversion functions for EI_OSABI in elf (#89280)
These are needed to populate elf headers in core files. This is part of
implementing process save-core in lldb
Commit: 8c212a3f41e2414cbdea274fd5fd4188893df72c
https://github.com/llvm/llvm-project/commit/8c212a3f41e2414cbdea274fd5fd4188893df72c
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/test/lit.cfg.py
Log Message:
-----------
[mlir][python] allow passing in PYTHONPATH to lit tests (#89296)
Commit: ab0b865d31ed0f2c40bd148ad709850dc10728de
https://github.com/llvm/llvm-project/commit/ab0b865d31ed0f2c40bd148ad709850dc10728de
Author: Thurston Dang <thurston at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/hwasan-check-memaccess-fixedshadow.ll
Log Message:
-----------
[hwasan] Add testcase for check-memaccess when using a fixed shadow (#89328)
The test case is based on hwasan-check-memaccess.ll (albeit updated
using update_llc_test_checks) with --hwasan-mapping-offset=...
--hwasan-mapping-offset=... actually doesn't affect the LLVM IR at the
moment; future work will introduce memaccess fixed shadow intrinsics.
(https://github.com/llvm/llvm-project/pull/89319)
Commit: 6b3893690b37d6e85cabfd144eca9a738e3baf9b
https://github.com/llvm/llvm-project/commit/6b3893690b37d6e85cabfd144eca9a738e3baf9b
Author: jimingham <jingham at apple.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
Log Message:
-----------
Check for null oso SymbolFile in SymbolFileDwarfDebugMap::ResolveSymbolContext (#89324)
The couple other places that use the oso module's SymbolFile, they check
that it's non-null, so this is just an oversight in
ResolveSymbolContext.
I didn't add a test for this (but did add a log message for the error
case) because I can't see how this would actually happen. The .o file
had to have valid enough DWARF that the linker's parser could handle it
or it would not be in the debug map. If you delete the .o file, we just
leave that entry out of the debug map. If you strip it or otherwise mess
with it, we'll notice the changed mod time and refuse to read it...
This was based on a report from the field, and we don't have access to
the project. But if the logging tells me how this happened I can come
back and add a test with that example.
Commit: 55d4a8929711c9fc68a460bafa3a63e4a90ac9c1
https://github.com/llvm/llvm-project/commit/55d4a8929711c9fc68a460bafa3a63e4a90ac9c1
Author: Michael Jones <michaelrj at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
Log Message:
-----------
[libc] fix FEnvImpl not using the proxy header (#89303)
In the recent fenv.h header cleanup, two FEnvImpl.h files were missed,
causing build issues. This patch fixes that.
Commit: 2b2c4a84651787faaa223b7c1b206e3a805bc10c
https://github.com/llvm/llvm-project/commit/2b2c4a84651787faaa223b7c1b206e3a805bc10c
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M lld/test/ELF/debug-names-bad.s
Log Message:
-----------
[ELF,test] Make debug-names-bad.s Linux only because of GNU sed extension
Commit: 3f2371e1a0dacf78a53d5b57df3cc5f08cddf6a9
https://github.com/llvm/llvm-project/commit/3f2371e1a0dacf78a53d5b57df3cc5f08cddf6a9
Author: Max Winkler <max.enrico.winkler at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/Driver/cl-outputs.c
M clang/test/Driver/cl-pch.cpp
Log Message:
-----------
[clang-cl] [Driver] Fix clang-cl driver supported colon options (#88216)
Tested locally against msvc 1939.
MSVC supports the colon form of various options that take a path even
though that isn't documented for all options on MSDN.
I added the colon form for all supported msvc options that clang-cl does
not intentionally ignore due to being unsupported.
I also fixed the existing colon options by ensure we use
`JoinedOrSeparate`. `/F[x]` argument must used within the same command
line argument. However, `/F[x]:` arguments are allowed to span a command
line argument. The following is valid `/F[x]: path` which is 2 separate
command line arguments.
You can see this documented here,
https://learn.microsoft.com/en-us/cpp/build/reference/fo-object-file-name?view=msvc-170,
where it says `/Fo:[ ]"pathname"`.
This behaviour works for all colon options that take a path and I tested
it locally against msvc 1939 for all the option changes in this PR.
Commit: eb7ad8853cfe6ede2d592a417a1ec64636a61bb5
https://github.com/llvm/llvm-project/commit/eb7ad8853cfe6ede2d592a417a1ec64636a61bb5
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/binop-itofp.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-sgt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-slt-to-icmp-sgt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ugt-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/vector-xor.ll
Log Message:
-----------
[InstCombine] Remove some uses with replaceUndefsWith() (#89190)
Now that we don't accept undef splat in PatternMatch, we can remove some
uses of replaceUndefsWith(). I believe in all these cases only poison
splats are possible now, in which case no replacement is necessary.
Commit: 89f8ba2855789c6c8b445af0e1aa82d5f5cf940a
https://github.com/llvm/llvm-project/commit/89f8ba2855789c6c8b445af0e1aa82d5f5cf940a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/IR/Function.cpp
M llvm/test/Assembler/implicit-intrinsic-declaration-invalid.ll
A llvm/test/Assembler/implicit-intrinsic-declaration-invalid2.ll
A llvm/test/Assembler/implicit-intrinsic-declaration-invalid3.ll
M llvm/test/Assembler/implicit-intrinsic-declaration.ll
Log Message:
-----------
[AsmParser] Support calling intrinsics without mangling suffix (#89172)
This adds proper support for calling intrinsics without mangling suffix
when parsing textual IR. This already worked (mostly by accident) when
only a single mangling suffix was in use.
This patch extends support to the case where the intrinsic is used with
multiple signatures, and as such multiple different intrinsic
declarations have to be inserted. The final IR will have intrinsics with
mangling suffix as usual.
Motivated by the discussion at:
https://discourse.llvm.org/t/recent-improvements-to-the-ir-parser/77366
Commit: 949e66baf1c5d97dc60a243d9b66df5216255343
https://github.com/llvm/llvm-project/commit/949e66baf1c5d97dc60a243d9b66df5216255343
Author: Andrey Ali Khan Bolshakov <bolsh.andrey at yandex.ru>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
Log Message:
-----------
[Coverage][NFC] Avoid visiting non-unique `OpaqueValueExpr` (#88910)
Only unique `OpaqueValueExpr`s should be handled in the mapping builder,
as
[discussed](https://github.com/llvm/llvm-project/pull/85837#discussion_r1542056451)
in #85837. However, `getCond()` returns non-unique `OpaqueValueExpr` for
`BinaryConditionalOperator` (because it is also used as the "true"
branch expression). Use `getCommon()` instead so as to bypass the
`OpaqueValueExpr`.
Commit: 396cdabe47f3596464b289d0937c0066f50a0ac6
https://github.com/llvm/llvm-project/commit/396cdabe47f3596464b289d0937c0066f50a0ac6
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
M llvm/test/Transforms/InstCombine/signed-truncation-check.ll
Log Message:
-----------
[PatternMatch] Allow poison in api_pred_ty matchers (#89188)
This allows vector splats containing poison for matchers using
api_pred_ty, making the behavior consistent with cst_pred_ty. In other
words, previously `m_NonNegative()` allowed splats with poison, while
`m_NonNegative(C)` did not. Now both allow them.
The affected matchers are m_MaxSignedValue, m_Negative, m_NonNegative,
m_StrictlyPositive, m_NonPositive, m_Power2, m_Power2OrZero,
m_NegatedPower2, m_NegatedPower2OrZero, m_LowBitMask and
m_LowBitMaskOrZero when passing in APInt.
I briefly went through the uses of these matchers and didn't spot any
places where allowing poison would be obviously wrong (I initially
thought foldSelectICmpAndBinOp is problematic, but because it does not
reuse the original constants, it's fine).
A problem here is that, despite these matchers appearing in a decent
number of places, we have very little pre-existing test coverage for
these folds with poison vectors, so we don't benefit from alive2
verification.
Commit: 3090efc6b65be0aa26b2ed0b734eef6efdd50322
https://github.com/llvm/llvm-project/commit/3090efc6b65be0aa26b2ed0b734eef6efdd50322
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/cuf03.cuf
A flang/test/Semantics/cuf12.cuf
Log Message:
-----------
[flang][cuda] Relax semantic for device variable in block construct (#89330)
Commit: aac4d03423dd6b7bdef0f2eb03c570f3e2ca6630
https://github.com/llvm/llvm-project/commit/aac4d03423dd6b7bdef0f2eb03c570f3e2ca6630
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaModule.cpp
A clang/test/Modules/pr85122.cppm
Log Message:
-----------
[C++20] [Modules] Mark exported all declarations as used
Close https://github.com/llvm/llvm-project/issues/85122
As the title suggested, it looks pretty sensible.
Commit: 08a787c91be51e6a561dc50ec34ce28abc04ac54
https://github.com/llvm/llvm-project/commit/08a787c91be51e6a561dc50ec34ce28abc04ac54
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
A llvm/test/Transforms/InstCombine/update-bpi.ll
Log Message:
-----------
[InstCombine] Add test to track BPI when condition was inverted (#86469)
InstCombine may invert branch condition and profile metadata. Branch
probability analysis should be updated in this case.
Commit: de3e4a9dfe89dfc0a4d6d5e0891c542f6c82ca57
https://github.com/llvm/llvm-project/commit/de3e4a9dfe89dfc0a4d6d5e0891c542f6c82ca57
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86InstrAsmAlias.td
M llvm/lib/Target/X86/X86InstrKL.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/X86/keylocker-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/sha.ll
R llvm/test/MC/Disassembler/X86/apx/keylocker.txt
R llvm/test/MC/Disassembler/X86/apx/sha.txt
R llvm/test/MC/X86/apx/keylocker-att.s
R llvm/test/MC/X86/apx/keylocker-intel.s
R llvm/test/MC/X86/apx/sha-att.s
R llvm/test/MC/X86/apx/sha-intel.s
M llvm/test/MC/X86/x86_64-asm-match.s
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
Log Message:
-----------
[X86][APX] Remove KEYLOCKER and SHA promotions from EVEX MAP4. (#89173)
APX spec: https://cdrdv2.intel.com/v1/dl/getContent/784266
Change happended in version 4.0.
Removed instructions' Opcodes:
AESDEC128KL
AESDEC256KL
AESDECWIDE128KL
AESDECWIDE256KL
AESENC128KL
AESENC256KL
AESENCWIDE128KL
AESENCWIDE256KL
ENCODEKEY128
ENCODEKEY256
SHA1MSG1
SHA1MSG2
SHA1NEXTE
SHA1RNDS4
SHA256MSG1
SHA256MSG2
SHA256RNDS2
Commit: d3925e65a7ab88eb0ba68d3ab79cd95db5629951
https://github.com/llvm/llvm-project/commit/d3925e65a7ab88eb0ba68d3ab79cd95db5629951
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
CompilerRT: Normalize COMPILER_RT_DEFAULT_TARGET_TRIPLE (#89234)
If LLVM is configured with -DLLVM_DEFAULT_TARGET_TRIPLE, or compiler_rt
is configured with -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE, while the
argument is not normalized, such as Debian-style vendor-less triple,
clang will try to find libclang_rt in lib/<normalized_triple>, while
libclang_rt is placed into lib/<triple_arg>.
Let's also place libclang_rt into lib/<normalized_triple>.
`libcxx/utils/ci/run-buildbot` is also updated to use
`armv7m-none-unknown-eabi` as normalized triple instead of
current `armv7m-none-eabi`.
ChangeLog of this PR:
This patch has been applied and revert twice:
1. The first try is https://github.com/llvm/llvm-project/pull/88407, and
then it is found that it causes some CI failures.
https://lab.llvm.org/buildbot/#/builders/98/builds/36366
It is then resolved by another commit:
https://github.com/llvm/llvm-project/commit/1693009679313282afbed38778dd3fad62641e1b
https://lab.llvm.org/buildbot/#/builders/77/builds/36372
It is caused that `COMPILER_RT_DEFAULT_TARGET_TRIPLE` is overwrite
without taking care about `CACHE`.
2. The second try https://github.com/llvm/llvm-project/pull/88835,
resolves https://lab.llvm.org/buildbot/#/builders/77/builds/36372
and in fact only one `execute_process` is needed.
Then we find some other CI failures.
https://github.com/mstorsjo/llvm-mingw/actions/runs/8730621159
https://buildkite.com/llvm-project/libcxx-ci/builds/34897#018eec06-612c-47f1-9931-d3bd88bf7ced
It is due to misunderstanding `-print-effective-triple`: which will
output `thumbv7-w64-windows-gnu` for `armv7-w64-windows-gnu` or some
other thumb-enabled arm triples.
In fact we should use `-print-target-triple`.
For armv7m-picolibc, `armv7m-none-eabi` is hardcoded in
libcxx/utils/ci/run-buildbot, while in fact `armv7m-none-unknown-eabi`
is the real normalized triple.
Commit: f4bbcac244eded55acf02cc9fd74eb3f0b075304
https://github.com/llvm/llvm-project/commit/f4bbcac244eded55acf02cc9fd74eb3f0b075304
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
M clang/test/Parser/pragma-unroll.cpp
Log Message:
-----------
[Clang] Allow the value of unroll count to be zero in `#pragma GCC unroll` and `#pragma unroll` (#88666)
Fixes https://github.com/llvm/llvm-project/issues/88624
GCC allows the value of loop unroll count to be zero, and the values of
0 and 1 block any unrolling of the loop. This PR aims to make clang
keeps the same behavior with GCC.
https://gcc.gnu.org/onlinedocs/gcc/Loop-Specific-Pragmas.html
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 176f7f2c7c1cbc98e10a1cd611d221f473db7a5e
https://github.com/llvm/llvm-project/commit/176f7f2c7c1cbc98e10a1cd611d221f473db7a5e
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
Log Message:
-----------
[clang][RISCV] Remove unneeded overloaded suffix for vcreate (#89241)
Since `vcreate` doesn't support overload, we can remove it.
Commit: bd676f00b80a064e1d377a758aec5b7ae6814e5f
https://github.com/llvm/llvm-project/commit/bd676f00b80a064e1d377a758aec5b7ae6814e5f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaStmtAttr.cpp
Log Message:
-----------
[Sema] Fix a warning
This patch fixes
clang/lib/Sema/SemaStmtAttr.cpp:114:18: error: unused variable 'R'
[-Werror,-Wunused-variable]
Commit: b64c69d5b1bfeaf675f25e7598b78e9f3543f241
https://github.com/llvm/llvm-project/commit/b64c69d5b1bfeaf675f25e7598b78e9f3543f241
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/InstrProfReader.cpp
Log Message:
-----------
[memprof] Introduce IndexedMemProfReader (NFC) (#89331)
Without this patch, a lot of details about the deserilization of the
MemProf data are exposed in IndexedInstrProfReader -- four
MemProf-related variables in IndexedInstrProfReader plus 90+ lines of
deserilization code within IndexedInstrProfReader::readHeader.
This patch encapsulates them into a separate class, exposing only
three methods, namely the default constructor, deserialize, and
getMemProfRecord.
Commit: ab1d988e1483895a71dcd257bdcaf6fdb0a83d62
https://github.com/llvm/llvm-project/commit/ab1d988e1483895a71dcd257bdcaf6fdb0a83d62
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/fsh.ll
Log Message:
-----------
[InstCombine] Add test for incorrect fshr transform (#89338)
Commit: 46957a138dea339799059ea5bf032e40042ff185
https://github.com/llvm/llvm-project/commit/46957a138dea339799059ea5bf032e40042ff185
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/fsh.ll
Log Message:
-----------
[InstCombine] Fix incorrect fshr to fshl transform
This transform is only valid if the (modular) shift amount is not
zero.
Proof: https://alive2.llvm.org/ce/z/WBxn-x
Fixes https://github.com/llvm/llvm-project/issues/89338.
Commit: 13beabe5e9d790ed6c1db10fb4774fa1330fbb2a
https://github.com/llvm/llvm-project/commit/13beabe5e9d790ed6c1db10fb4774fa1330fbb2a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-18 (Thu, 18 Apr 2024)
Changed paths:
M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/include/mlir/Conversion/LLVMCommon/VectorPattern.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
Log Message:
-----------
Revert "[mlir][llvm] Port `overflowFlags` to a native operation property" (#89344)
Reverts llvm/llvm-project#89312 as it breaks all flang buildbots
Commit: bd898d5e111e33a7f614f6b6c34940d81be6682c
https://github.com/llvm/llvm-project/commit/bd898d5e111e33a7f614f6b6c34940d81be6682c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/test/Transforms/FunctionAttrs/noundef.ll
Log Message:
-----------
[FunctionAttrs] Add tests for incorrect noundef inference (#88026)
Commit: 20667dbec30354723d6467b833a081db998eb70a
https://github.com/llvm/llvm-project/commit/20667dbec30354723d6467b833a081db998eb70a
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/ubsan-shift-bitint.c
Log Message:
-----------
[clang][CodeGen] Fix shift-exponent ubsan check for signed _BitInt (#88004)
Commit 5f87957fefb21d454f2f (pull-requst #80515) corrected some codegen
problems related to _BitInt types being used as shift exponents. But it
did not fix it properly for the special case when the shift count
operand is a signed _BitInt.
The basic problem is the same as the one solved for unsigned _BitInt. As
we use an unsigned comparison to see if the shift exponent is
out-of-bounds, then we need to find an unsigned maximum allowed shift
amount to use in the check. Normally the shift amount is limited by
bitwidth of the LHS of the shift. However, when the RHS type is small in
relation to the LHS then we need to use a value that fits inside the
bitwidth of the RHS instead.
The earlier fix simply used the unsigned maximum when deterining the max
shift amount based on the RHS type. It did however not take into
consideration that the RHS type could have a signed representation. In
such situations we need to use the signed maximum instead. Otherwise we
do not recognize a negative shift exponent as UB.
Commit: 8363ff6a2e9d20258fb72e4db64ffb6e4167618f
https://github.com/llvm/llvm-project/commit/8363ff6a2e9d20258fb72e4db64ffb6e4167618f
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/test/Driver/aix-toolchain-include.cpp
Log Message:
-----------
specify openmp lib in aix-toolchain-include.cpp test
when unset -fopenmp tries to find the library itself and in some
configurations this test fails
fix for #88545 8f07a67f9731dfcd490f8aaefac34d95f207b39c
Commit: affcaf622d8e900abab1d39d41d9f2d335f32614
https://github.com/llvm/llvm-project/commit/affcaf622d8e900abab1d39d41d9f2d335f32614
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/tiny-model-pic.ll
Log Message:
-----------
[test][AArch64][CodeGen] Delete redundant check lines in tiny-model-pic.ll (#89243)
Similarly to #87965, delete check lines which do not have corresponding
FileCheck run lines in tiny-model-pic.ll (while having them tested in
tiny-model-static.ll).
Commit: ca7d9442baf638f020c9594dc2af388d24c4a3e1
https://github.com/llvm/llvm-project/commit/ca7d9442baf638f020c9594dc2af388d24c4a3e1
Author: martinboehme <mboehme at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Support `CXXParenListInitExpr` in `PropagateResultObject()`. (#89235)
Commit: b2323f43e3cdb52b4e15a7d4f434cd5c64740dd4
https://github.com/llvm/llvm-project/commit/b2323f43e3cdb52b4e15a7d4f434cd5c64740dd4
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/CodeGen/dwarf-version.c
Log Message:
-----------
[AIX][Debug] generate an error instead of crash in backend for -gdwarf-5
Before this change -gdwarf-5 on AIX will cause backend crash, because
some DWARF5 sections are not defined in XCOFF.
Explicitly statement -gdwarf-5 as unsupported in frontend on AIX.
Commit: e8fce95887ecfd87a83db8dbb0cc55966b004d6f
https://github.com/llvm/llvm-project/commit/e8fce95887ecfd87a83db8dbb0cc55966b004d6f
Author: martinboehme <mboehme at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/Value.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/DebugSupport.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/FlowSensitive/Value.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/RecordOpsTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][nullability] Remove `RecordValue`. (#89052)
This class no longer serves any purpose; see also the discussion here:
https://reviews.llvm.org/D155204#inline-1503204
A lot of existing tests in TransferTest.cpp check for the existence of
`RecordValue`s. Some of these checks are now simply redundant and have
been
removed. In other cases, tests were checking for the existence of a
`RecordValue` as a way of testing whether a record has been initialized.
I have
typically changed these test to instead check whether a field of the
record has
a value.
Commit: 14193f4320e26b75dc592abf952af1c63760665c
https://github.com/llvm/llvm-project/commit/14193f4320e26b75dc592abf952af1c63760665c
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/test/CodeGen/SPIRV/empty-module.ll
Log Message:
-----------
[SPIR-V] SPIR-V Backend must generate a valid OCL version if working in OpenCL environment (#89199)
If there is no information about OpenCL version we are forced to
generate OpenCL 1.0 by default for the OpenCL environment to avoid
puzzling run-times with Unknown/0.0 version output. For a reference,
LLVM-SPIRV Translator avoids potential issues with run-times in a
similar manner.
Commit: 14122106320b88f114301bbf8694ceac9bb7a27a
https://github.com/llvm/llvm-project/commit/14122106320b88f114301bbf8694ceac9bb7a27a
Author: martinboehme <mboehme at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
Log Message:
-----------
[clang][dataflow][NFC] Fix code formatting in DataflowEnvironment.cpp (#89352)
For some reason, when I merged #89235, two lines were mis-formatted.
This patch corrects this; while I'm here, I'm also correcting other
existing formatting errors.
Commit: aac695da42cf48ccb29c2fe495ead564cc913471
https://github.com/llvm/llvm-project/commit/aac695da42cf48ccb29c2fe495ead564cc913471
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclOpenMP.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclFriend.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclOpenMP.cpp
M clang/lib/AST/DeclTemplate.cpp
Log Message:
-----------
[NFC] [Serialization] Use semantical type 'DeclID' for 'CreateDeserialized'
Previously we use 'unsigned' as the type of ID in 'CreateDeserialized'.
And the type of `DeclID` in serialization is 'uint32_t', so there is
minor inconsistency.
Also more importantly, if we want to extend the type of DeclID from
uint32_t to uint64_t, we may be in trouble due to we forgot updating the
a lot of 'CreateDeserialized'.
So this patch tries to use semantical type 'DeclID' for
'*Decl::CreateDeserialized' to make sure it is tightly consistent.
Commit: 851462fcaa7f6e3301865de84f98be7e872e64b6
https://github.com/llvm/llvm-project/commit/851462fcaa7f6e3301865de84f98be7e872e64b6
Author: David Green <david.green at arm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
Log Message:
-----------
[AArch64] Remove invalid uabdl patterns. (#89272)
These were added in https://reviews.llvm.org/D14208, which look like
they attempt to detect abs from xor+add+ashr. They do not appear to be
detecting the correct value for the src input though, which I think is
intended to be the sub(zext, zext) part of the pattern. We have pattens
from abs now, so the old invalid patterns can be removed.
Fixes #88784
Commit: e2a72fa583d9ccec7e996e15ea86f0ceddbfe63c
https://github.com/llvm/llvm-project/commit/e2a72fa583d9ccec7e996e15ea86f0ceddbfe63c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
Log Message:
-----------
[VPlan] Introduce recipes for VP loads and stores. (#87816)
Introduce new subclasses of VPWidenMemoryRecipe for VP
(vector-predicated) loads and stores to address multiple TODOs from
https://github.com/llvm/llvm-project/pull/76172
Note that the introduction of the new recipes also improves code-gen for
VP gather/scatters by removing the redundant header mask. With the new
approach, it is not sufficient to look at users of the widened canonical
IV to find all uses of the header mask.
In some cases, a widened IV is used instead of separately widening the
canonical IV. To handle that, first collect all VPValues representing header
masks (by looking at users of both the canonical IV and widened inductions
that are canonical) and then checking all users (recursively) of those header
masks.
Depends on https://github.com/llvm/llvm-project/pull/87411.
PR: https://github.com/llvm/llvm-project/pull/87816
Commit: 95ffa8a2ac1154d968c0af2d428ade541eddd828
https://github.com/llvm/llvm-project/commit/95ffa8a2ac1154d968c0af2d428ade541eddd828
Author: Tina Jung <tinamaria.jung at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/test/Dialect/EmitC/invalid_types.mlir
Log Message:
-----------
[mlir][emitc] Restrict types in EmitC (#88391)
Restrict the types which are valid for EmitC operations. Use what is
currently supported by the emitter as restriction. Define a utility
functions for valid types, such that they can be used to restrict the
operations in table gen as well as being available for reuse in dialect
conversions.
Commit: 7c7704c946ab6078c42b24a57eb537944861cba1
https://github.com/llvm/llvm-project/commit/7c7704c946ab6078c42b24a57eb537944861cba1
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.cpp
A llvm/test/CodeGen/AMDGPU/lower-module-lds-zero-size-arr.ll
Log Message:
-----------
[AMDGPU] Allow any linkage for dynlds (#84742)
Solves SWDEV-449592
Commit: 494c637816e4787752ae3bf29be618ffdc92f4cd
https://github.com/llvm/llvm-project/commit/494c637816e4787752ae3bf29be618ffdc92f4cd
Author: Ramkumar Ramachandra <ram.ramachandra at arm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/MachineInstrBundle.cpp
Log Message:
-----------
MachineInstrBundle: modernize a couple of loops (NFC) (#89229)
Commit: 2512ce3df51ef57d9e7134bc187c5cd41f2cd10c
https://github.com/llvm/llvm-project/commit/2512ce3df51ef57d9e7134bc187c5cd41f2cd10c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/IR/Instruction.cpp
M llvm/test/Transforms/Scalarizer/basic.ll
Log Message:
-----------
[IR] Add support for trunc's nuw/nsw flags in `copyIRFlags` (#89353)
This patch fixes
https://github.com/llvm/llvm-project/pull/85592#issuecomment-2065865020.
I found this while fixing flag propagation in my
["vectorizer"](https://github.com/dtcxzyw/llvm-codegen-benchmark/blob/main/vectorize.cpp).
Commit: 054b1b3b5ac67385220654df12732346b51c8a41
https://github.com/llvm/llvm-project/commit/054b1b3b5ac67385220654df12732346b51c8a41
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-node-trunc-with-signed-users.ll
Log Message:
-----------
Revert "[SLP]Fix final analysis for unsigned nodes."
This reverts commit 74e07ab523122d6a8347b25770062ab331b6bb84.
It might be that Mask.getBitWidth() == Mask.countl_zero() (32 in my
case) and zero bitwidth2 causes the crash.
Commit: 6f26867cfa4c1333e69a17f8a2fc8297a4ab6d45
https://github.com/llvm/llvm-project/commit/6f26867cfa4c1333e69a17f8a2fc8297a4ab6d45
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve2-bsl.ll
Log Message:
-----------
[AArch64][SVE2] Generate SVE2 BSL instruction in LLVM for add/sub. (#88413)
Allow to fold or/and-and to BSL instuction for scalable vectors.
Commit: 4d7f3d9e0fb8cf9a4db6aa73c4fcb21bae98ef3a
https://github.com/llvm/llvm-project/commit/4d7f3d9e0fb8cf9a4db6aa73c4fcb21bae98ef3a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-node-trunc-with-signed-users.ll
Log Message:
-----------
[SLP]Fix final analysis for unsigned nodes.
Need to check that at least single bit is cleared for unsigned nodes
before reducing their size. Otherwise they might be treated as signed in
signed nodes.
Commit: df411fbac60825d07090ce17391db7606d8400f1
https://github.com/llvm/llvm-project/commit/df411fbac60825d07090ce17391db7606d8400f1
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/test/Interfaces/DataLayoutInterfaces/query.mlir
M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
Log Message:
-----------
[MLIR][DataLayout] Add support for scalable vectors (#89349)
This commit extends the data layout to support scalable vectors. For
scalable vectors, the `TypeSize`'s scalable field is set accordingly,
and the alignment information remains the same as for normal vectors.
This behavior is in sync with what LLVM's data layout queries are
producing.
Before this change, scalable vectors incorrectly returned the same size
as "normal" vectors.
Commit: b3c72bcbf2eb7963ef0ac3da519107aba151f77f
https://github.com/llvm/llvm-project/commit/b3c72bcbf2eb7963ef0ac3da519107aba151f77f
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/reduction12.f90
Log Message:
-----------
[Flang][OpenMP] Issue error if reduction clause has proc-pointer (#88999)
OpenMP 5.2: Section 5.5.5: A procedure pointer must not appear in a
reduction clause.
Fixes #87915
Commit: 090d03d1c7eef4f9790b9300f19176e8f49151dd
https://github.com/llvm/llvm-project/commit/090d03d1c7eef4f9790b9300f19176e8f49151dd
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/Import.h
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
A mlir/test/Target/LLVMIR/Import/ignore-composite-type-elements.ll
Log Message:
-----------
[MLIR][LLVM] Add flag to skip import of DICompositeType's elems (#89355)
This commit introduces a flag to allow skipping the potentially
recursive import of DICompositeType elements. This patch is essentially a
bandaid for the still broken recursive debug type import.
Some of our downstream inputs are produced by excessive usage of
template meta programming, and thus contain tens of thousands of types
that all participate in such recursions. Unfortunately, the series of
patches that introduces type support is not easily revertible due to
being around for a while now and Modular depending on it.
We can consider to revert this change once the type importer has show to
be very performant, but for now we are talking second vs hours to import
specific files.
Commit: 7e2c2981fbb9e609886cfbe6c95644ed58b03d08
https://github.com/llvm/llvm-project/commit/7e2c2981fbb9e609886cfbe6c95644ed58b03d08
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
A llvm/test/CodeGen/SystemZ/zos-frameaddr.ll
Log Message:
-----------
[SystemZ][z/OS] Implement llvm.frameaddr for XPLINK (#89284)
The implementation follows the ELF implementation.
Commit: e7c042f12fd6f3bbbbe9aeb37854d499aada8457
https://github.com/llvm/llvm-project/commit/e7c042f12fd6f3bbbbe9aeb37854d499aada8457
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/Type.cpp
M lldb/test/API/python_api/type/TestTypeList.py
Log Message:
-----------
[lldb] Make SBType::FindDirectNestedType work with expression ASTs (#89183)
The types we get out of expressions will not have an associated symbol
file, so the current method of looking up the type will fail. Instead, I
plumb the query through the TypeSystem class. This correctly finds the
type in both cases (importing it into the expression AST if needed). I
haven't measured, but it should also be more efficient than doing a type
lookup (at least, after the type has already been found once).
Commit: 5af9701985c6abba328dbedbd2d9c602dc46c4b0
https://github.com/llvm/llvm-project/commit/5af9701985c6abba328dbedbd2d9c602dc46c4b0
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
Log Message:
-----------
[SystemZ] Fix Operand Retrieval for Vector Reduction Intrinsic in `shouldExpandReduction` (#88874)
In the existing version, SystemZTTIImpl::shouldExpandReduction will
create a `cast` error when handling vector reduction intrinsics that
do not have the vector to reduce as their first operand, such as
`llvm.vector.reduce.fadd` and `llvm.vector.reduce.fmul`.
This commit fixes that problem by moving the cast into the case
statement that handles the specific intrinsic, where the vector
operand position is well-known.
Commit: e2f1cbae45f81f3cd9a4d3c2bcf69a094eb060fa
https://github.com/llvm/llvm-project/commit/e2f1cbae45f81f3cd9a4d3c2bcf69a094eb060fa
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp
Log Message:
-----------
[analyzer] Use explicit call description mode (easy cases) (#88879)
This commit explicitly specifies the matching mode (C library function,
any non-method function, or C++ method) for the `CallDescription`s
constructed in various checkers where this transition was easy and
straightforward.
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 will perform (or have already performed) this change in
other 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: 0a5f50d50be429734074584702cd20cf54c27420
https://github.com/llvm/llvm-project/commit/0a5f50d50be429734074584702cd20cf54c27420
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[KnownBits] Simplify optimality checking in unit tests. NFC. (#89368)
Use bool instead of function_ref.
Commit: ae9a5b07e0dca10cd44a11f11915be5eab002307
https://github.com/llvm/llvm-project/commit/ae9a5b07e0dca10cd44a11f11915be5eab002307
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFeatures.td
M llvm/lib/Target/SystemZ/SystemZInstrSystem.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ15.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
M llvm/test/MC/Disassembler/SystemZ/insns-z14.txt
M llvm/test/MC/SystemZ/insn-bad-z13.s
M llvm/test/MC/SystemZ/insn-good-z14.s
Log Message:
-----------
[SystemZ] Add TPEI instruction and Associated Facility (#89372)
This PR adds the TPEI (Test Pending External Interruption) instruction,
along with the facility that contains it. This is a millicoded system
instruction that is not used for code generation, so it will be used
exclusively by the Assembler and Disassembler.
Accordingly, this commit also adds tests for both.
Commit: 7fbdadb68e259079d23165ecb94e2893a3823576
https://github.com/llvm/llvm-project/commit/7fbdadb68e259079d23165ecb94e2893a3823576
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/xor.ll
M llvm/test/CodeGen/X86/xor.ll
Log Message:
-----------
[AArch64][X86] xor.ll - fix vec_add_of_not_with_undef_decrement copy+pasta typo
This was copied from vec_add_of_not_with_undef instead of vec_add_of_not_decrement - replacing the second sub with an add
Commit: 2e68ba99def5b07f4c6c53627baf076c5c924979
https://github.com/llvm/llvm-project/commit/2e68ba99def5b07f4c6c53627baf076c5c924979
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/xor.ll
M llvm/test/CodeGen/X86/xor.ll
Log Message:
-----------
[DAG] visitADDLike - update "(x - y) + -1 -> add (xor y, -1), x" fold to accept UNDEF in a splat vector of -1
Make sure we use getNOT instead of reusing the allones (with undefs) vector
Commit: aa39b0b13e3b56ac072acff2660dbef9db45bca0
https://github.com/llvm/llvm-project/commit/aa39b0b13e3b56ac072acff2660dbef9db45bca0
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/test/CodeGen/debug-info-file-checksum.c
A clang/test/Driver/debug-options-embed-source.c
M clang/test/Driver/debug-options.c
Log Message:
-----------
[AIX][Debug]correct the cases on AIX bot, NFC
Related to commit b2323f43e3cdb52b4e15a7d4f434cd5c64740dd4
Commit: 0a8cd1ed1f4f35905df318015b0dbcb69d81d7c2
https://github.com/llvm/llvm-project/commit/0a8cd1ed1f4f35905df318015b0dbcb69d81d7c2
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M openmp/runtime/test/worksharing/for/collapse_test.inc
Log Message:
-----------
[OpenMP] Use half of available logical processors for collapse tests (#88319)
The new collapse test cases define `MAX_THREADS` to be 256 and use all
available threads/logical processors on the system. This triples the
testing time on an AIX machine that has 128 logical processors. This
patch changes to use half of available logical processors to avoid over
subscribing because there are other libomp tests running at the same
time, including 2 other such collapse tests.
Commit: 90dfabc9e12466ce306b3168f47621598bbf900b
https://github.com/llvm/llvm-project/commit/90dfabc9e12466ce306b3168f47621598bbf900b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
AMDGPU: Refactor unsafe atomicrmw remark emission (#89379)
Defers some of the setup work until the remark is actually emitted. Move
big lambda into a helper function, and only use value capture of a
pointer. Prepare to have different messages.
Commit: c8db069253a8783ebce0eb6c244551b0b42e997e
https://github.com/llvm/llvm-project/commit/c8db069253a8783ebce0eb6c244551b0b42e997e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
Log Message:
-----------
AMDGPU: Use common check prefix in atomic expand test
Commit: ce2f6423f0168e945b6f29aa40a3054c1abe22a9
https://github.com/llvm/llvm-project/commit/ce2f6423f0168e945b6f29aa40a3054c1abe22a9
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/CMakeLists.txt
Log Message:
-----------
[clangd] Fix shared-lib builds after 2cdbc9cff3b7ef262
Commit: a5757c5b65f1894de16f549212b1c37793312703
https://github.com/llvm/llvm-project/commit/a5757c5b65f1894de16f549212b1c37793312703
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/examples/transform/Ch4/lib/MyExtension.cpp
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterfaceImpl.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/IR/Location.h
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/CAPI/IR/BuiltinTypes.cpp
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/Arith/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M mlir/lib/Dialect/Complex/IR/ComplexOps.cpp
M mlir/lib/Dialect/ControlFlow/Transforms/BufferDeallocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/IRDL/IRDLLoading.cpp
M mlir/lib/Dialect/LLVMIR/IR/BasicPtxBuilderInterface.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/Linalg/Transforms/EliminateEmptyTensors.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandRealloc.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SparseTensor/IR/Detail/Var.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorInterfaces.cpp
M mlir/lib/Dialect/SparseTensor/TransformOps/SparseTensorTransformOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/IterationGraphSorter.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Transform/DebugExtension/DebugExtensionOps.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Transform/IR/TransformTypes.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/IR/AffineMap.cpp
M mlir/lib/IR/Operation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.cpp
M mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
M mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp
M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp
M mlir/test/lib/IR/TestAffineWalk.cpp
M mlir/test/lib/IR/TestBuiltinAttributeInterfaces.cpp
M mlir/test/lib/Rewrite/TestPDLByteCode.cpp
Log Message:
-----------
Switch member calls to `isa/dyn_cast/cast/...` to free function calls. (#89356)
This change cleans up call sites. Next step is to mark the member
functions deprecated.
See https://mlir.llvm.org/deprecation and
https://discourse.llvm.org/t/preferred-casting-style-going-forward.
Commit: 9a07d7ea9b37a5b537fc8099cc5744f44da29abc
https://github.com/llvm/llvm-project/commit/9a07d7ea9b37a5b537fc8099cc5744f44da29abc
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
A clang/test/SemaCXX/aarch64-sve-resolve-type.cpp
Log Message:
-----------
[Sema] Check if types are resolved before querying function description.
Commit: 58764ddccda99039174ca572c6a94393c290f8ac
https://github.com/llvm/llvm-project/commit/58764ddccda99039174ca572c6a94393c290f8ac
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/Function.cpp
Log Message:
-----------
Add IIT_V10 to support 10-element vectors in intrinsics (#89383)
Needed for a future patch.
Commit: 7d8616ed500f01b201667020c9be545d686950be
https://github.com/llvm/llvm-project/commit/7d8616ed500f01b201667020c9be545d686950be
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
A clang/test/Analysis/gh-issue-89185.c
Log Message:
-----------
[analyzer] Fix stores through label locations (#89265)
Interestingly, this case crashed from the very beginning of the project,
at least starting by clang-3.
As a "fix" I just do the same thing as we do for concrete integers. It
might not be the best we could do, but arguably, it's still better than
crashing.
Fixes #89185
Commit: a309c07ad3fc4a9b0bf41a4e66e812b54338aa02
https://github.com/llvm/llvm-project/commit/a309c07ad3fc4a9b0bf41a4e66e812b54338aa02
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf11.cuf
Log Message:
-----------
[flang][cuda] Allow if stmt in device subroutine (#89347)
Commit: 5fa21e5fc7384069276e15dbb1c27986a6e86483
https://github.com/llvm/llvm-project/commit/5fa21e5fc7384069276e15dbb1c27986a6e86483
Author: Paul Robinson <paul.robinson at sony.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/Headers/avxintrin.h
Log Message:
-----------
[NFC][X86][Headers] Fix missing blank line
It caused the \headerfile directive to be considered as part of
the brief description in some of our tooling.
Commit: 78dca4af5a9fd77972f80e9f1ff33a00b95f669e
https://github.com/llvm/llvm-project/commit/78dca4af5a9fd77972f80e9f1ff33a00b95f669e
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/docs/ClangOffloadBundler.rst
M clang/include/clang/Driver/OffloadBundler.h
M clang/lib/Driver/OffloadBundler.cpp
M clang/test/Driver/clang-offload-bundler-zstd.c
Log Message:
-----------
[ClangOffloadBundler] Add file size to header (#88827)
__hipRegisterFatBinary only accepts one pointer argument. It is expected
to get the fat binary size from the header.
This patch adds a file size field to the header of the compressed
bundle.
Commit: f4c0c40f388fff0975ecada4997683cef3cb1fae
https://github.com/llvm/llvm-project/commit/f4c0c40f388fff0975ecada4997683cef3cb1fae
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/docs/Passes.md
M mlir/include/mlir/Dialect/XeGPU/CMakeLists.txt
A mlir/include/mlir/Dialect/XeGPU/Transforms/CMakeLists.txt
A mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.h
A mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.td
A mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
M mlir/include/mlir/InitAllPasses.h
M mlir/lib/Dialect/XeGPU/CMakeLists.txt
A mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
A mlir/lib/Dialect/XeGPU/Transforms/XeGPUFoldAliasOps.cpp
A mlir/test/Dialect/XeGPU/xegpu-fold-alias-ops.mlir
Log Message:
-----------
[mlir][xegpu] XeGPU alias ops folder pass (#88886)
Adds a pass that folds aliasing ops into XeGPU ops.
Commit: b859a9fc152f83d657b1b59a99ede2478e285b27
https://github.com/llvm/llvm-project/commit/b859a9fc152f83d657b1b59a99ede2478e285b27
Author: Kojo Acquah <KoolJBlack at users.noreply.github.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractionToSMMLAPattern.cpp
M mlir/test/Dialect/ArmNeon/lower-to-arm-neon.mlir
Log Message:
-----------
[mlir][ArmNeon] Update `LowerContractionToSMMLAPattern` to support proper unrolling for k dimension (#88591)
Fixes correctness issue with current smmla unrolling patterns whereby
unrolling K dimension would only include the result from the last tile
along K. Updates patterns to feed previous smmla output of the previous
tile into the next one along K.
Commit: 3a4bc11b675c0511319c2843221133e986825b3b
https://github.com/llvm/llvm-project/commit/3a4bc11b675c0511319c2843221133e986825b3b
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
M clang/test/Sema/aarch64-sme-func-attrs.c
Log Message:
-----------
Reapply "[Clang][AArch64] Warn when calling non/streaming about vector size difference (#79842)"
This reverts commit 950bb097e11d6ee26533c00519c62df994322228
Commit: 97c71247312c7e5261168283c13cd7e3ecd039a5
https://github.com/llvm/llvm-project/commit/97c71247312c7e5261168283c13cd7e3ecd039a5
Author: ZelinMa557 <72912470+ZelinMa557 at users.noreply.github.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/add.ll
Log Message:
-----------
[InstCombine] Regard zext nneg as sext when folding add(zext neg(add)) (#88887)
fixes #88348
proof:
https://alive2.llvm.org/ce/z/fJnM7t
test will be added later
---------
Signed-off-by: ZelinMa557 <3388706467 at qq.com>
Commit: f76475c026acbc30ef42834b3956bfa7bd61052b
https://github.com/llvm/llvm-project/commit/f76475c026acbc30ef42834b3956bfa7bd61052b
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/test/Target/LLVMIR/Import/ignore-composite-type-elements.ll
Log Message:
-----------
[MLIR][LLVM] Add vector exception to composite type element ignore mode (#89385)
This commit fixes a bug in the DICompositeType element ignore mode. It
seems that vectors require the presence of elements, as they otherwise
do not pass the verifier.
Commit: 9dbf3e2384e450c2b4f282b85b9ec47c65976194
https://github.com/llvm/llvm-project/commit/9dbf3e2384e450c2b4f282b85b9ec47c65976194
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
Log Message:
-----------
[Flang][OpenMP] NFC: Simplify handling of insertion points (#89221)
This patch replaces some `saveInsertionPoint`, `restoreInsertionPoint`
call pairs for an `InsertionGuard` instance where it makes sense within
Flang OpenMP lowering to make further modifications less error-prone.
Commit: 5e5b8c49096afba8e4e0fd094a5ab905a9acced0
https://github.com/llvm/llvm-project/commit/5e5b8c49096afba8e4e0fd094a5ab905a9acced0
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR][OpenMP] Verify loop wrapper properties of omp.parallel (#88722)
This patch extends verification of the `omp.parallel` operation to check
it is correctly defined when taking a loop wrapper role.
In OpenMP, a PARALLEL construct can be either a (potenially combined)
block construct or a loop construct, when appearing as part of a
composite construct. This is currently the case for the DISTRIBUTE
PARALLEL DO/FOR and DISTRIBUTE PARALLEL DO/FOR SIMD exclusively.
When used to represent the PARALLEL leaf of a composite construct, it
must follow the rules of a wrapper loop operation in MLIR, and this is
what this patch ensures. No additional restrictions are introduced for
PARALLEL block constructs.
Commit: 64cc3fad53c8313ad2fb3f2ba2fd44f280e5babf
https://github.com/llvm/llvm-project/commit/64cc3fad53c8313ad2fb3f2ba2fd44f280e5babf
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/LangOptions.h
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/CodeGenCXX/mangle-lambdas-gh88906.cpp
Log Message:
-----------
[Clang] Fix the mangling of lambdas (#89204)
Lambdas used in the initializer of a local class were not mangling the
name of the member.
Fixes #88906
Commit: 26a59bf6fcfe3717d41ae6a92b8e0d3913c3fc1f
https://github.com/llvm/llvm-project/commit/26a59bf6fcfe3717d41ae6a92b8e0d3913c3fc1f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
Log Message:
-----------
[TableGen] MacroFusionPredicatorEmitter - pass constant std::vector arguments by ArrayRef instead
Silence pass by value warnings
Fixes #89210
Commit: f02a27df2f133503b39bad38d0e2b3e95d3f8a23
https://github.com/llvm/llvm-project/commit/f02a27df2f133503b39bad38d0e2b3e95d3f8a23
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/DriverUtils.cpp
M lld/ELF/Options.td
M lld/docs/ld.lld.1
A lld/test/ELF/linkerscript/default-script.s
M lld/test/ELF/reproduce.s
Log Message:
-----------
[ELF] Add --default-script/-dT
GNU ld added --default-script (alias: -dT) in 2007. The option specifies
a default script that is processed if --script/-T is not specified. -dT
can be used to override GNU ld's internal linker script, but only when
the application does not specify -T.
In addition, dynamorio's CMakeLists.txt may use -dT.
The implementation is simple and the feature can be useful to dabble
with different section layouts.
Pull Request: https://github.com/llvm/llvm-project/pull/89327
Commit: 854cc8986650267846c5eaf8ba164584a9ea7c01
https://github.com/llvm/llvm-project/commit/854cc8986650267846c5eaf8ba164584a9ea7c01
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M libc/test/src/pthread/CMakeLists.txt
M libc/test/src/pthread/pthread_condattr_test.cpp
Log Message:
-----------
[libc] fixup nascent pthread_condattr_test (#89308)
- use namespaced identifiers
- add corresponding headers for namespaced declarations
- replace time.h and errno.h with finer grain includes
- update cmake
Fixes: #88987
Fixes: #89261
Link: #88997
Link: #89262
Commit: d86079f93c9f59d31f2cebb55dce24783070bd77
https://github.com/llvm/llvm-project/commit/d86079f93c9f59d31f2cebb55dce24783070bd77
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M lld/test/ELF/pack-dyn-relocs.s
M lld/test/ELF/partition-pack-dyn-relocs.s
M llvm/test/tools/llvm-readobj/ELF/relr-relocs.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm-readelf] Print more information for RELR
llvm-readelf/llvm-readobj print RELR as REL relocations with a fixed
type (e.g. `R_*_RELATIVE`). GNU readelf printed only addresses and have
recently switched to a more descritive style that includes a symbolic
address column (symbolized using .symtab/.strtab) (milestone: binutils
2.43).
This patch implements the new GNU style, which seems superior to the
current REL style and essentially obsoletes LLVM-specific --raw-relr
(`printRelrReloc`).
Pull Request: https://github.com/llvm/llvm-project/pull/89162
Commit: e553ac4d8148291914526f4f66f09e362ce0a63f
https://github.com/llvm/llvm-project/commit/e553ac4d8148291914526f4f66f09e362ce0a63f
Author: Jeff Niu <jeff at modular.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/include/mlir/Conversion/LLVMCommon/VectorPattern.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
Log Message:
-----------
[mlir][llvm] Port `overflowFlags` to a native operation property (RELAND) (#89410)
This PR changes the LLVM dialect's IntegerOverflowFlags to be stored on
operations as native properties.
Reland to fix flang
Commit: 1b79a34a56378f5b75fb0abd03bb7029ea1c60ec
https://github.com/llvm/llvm-project/commit/1b79a34a56378f5b75fb0abd03bb7029ea1c60ec
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
A clang/test/CodeGen/pgo-force-function-attrs.ll
Log Message:
-----------
[clang] Add flag to experiment with cold function attributes (#89298)
To be removed and promoted to a proper driver flag if experiments turn
out fruitful.
For now, this can be experimented with `-mllvm
-pgo-cold-func-opt=[optsize|minsize|optnone|default] -mllvm
-enable-pgo-force-function-attrs`.
Original LLVM patch for this functionality: #69030
Commit: e6e931960b917e3a37f059a75d476966f572f787
https://github.com/llvm/llvm-project/commit/e6e931960b917e3a37f059a75d476966f572f787
Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/TextAPI/TextStub.cpp
Log Message:
-----------
[LLVM][TextAPI] Refactor Redundant Condition (#86542)
Fixes #83241
---------
Signed-off-by: Troy-Butler <squintik at outlook.com>
Co-authored-by: Troy-Butler <squintik at outlook.com>
Commit: cd9f98de7309bf94369929b0bd957cd6f5e5a9ed
https://github.com/llvm/llvm-project/commit/cd9f98de7309bf94369929b0bd957cd6f5e5a9ed
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] add bazel rule for XeGPU
Commit: e4f63202b926072e75997936806e659252a43077
https://github.com/llvm/llvm-project/commit/e4f63202b926072e75997936806e659252a43077
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Fix invalid quotation mark in BUILD file
Commit: 82c320ca59744b5082ef6e45dab6bab20cbd0795
https://github.com/llvm/llvm-project/commit/82c320ca59744b5082ef6e45dab6bab20cbd0795
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M lld/test/ELF/pack-dyn-relocs.s
Log Message:
-----------
[ELF,test] Remove --raw-relr from pack-dyn-relocs.s
Commit: 41e696291c64fe19629e14887ed1ed9b9c2271f0
https://github.com/llvm/llvm-project/commit/41e696291c64fe19629e14887ed1ed9b9c2271f0
Author: LRFLEW <LRFLEW at aol.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M libcxx/include/__random/linear_congruential_engine.h
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/alg.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp
Log Message:
-----------
linear_congruential_engine: add using more precision to prevent overflow (#81583)
This PR is a followup to #81080.
This PR makes two major changes to how the LCG operation is computed:
The first is that I added an additional case where `ax + c` might
overflow the intermediate variable, but `ax` by itself won't. In this
case, it's much better to use `(ax mod m) + c mod m` than the previous
behavior of falling back to Schrage's algorithm. The addition modulo is
done in the same way as when using Schrage's algorithm (i.e. `x += c -
(x >= m - c)*m`), but the multiplication modulo is calculated directly,
which is faster.
The second is that I added handling for the case where the `ax`
intermediate might overflow, but Schrage's algorithm doesn't apply (i.e.
r > q). In this case, the only real option is to increase the precision
of the intermediate values. The good news is that - for `x`, `a`, and
`c` being n-bit values - `ax + c` will never overflow a 2n-bit
intermediary, meaning this promotion can only happen once, and will
always be able to use the simplest implementation. This is already the
case for 16-bit LCGs, as libcxx chooses to compute them with 32-bit
intermediate values. For 32-bit LCGs, I simply added code similar to the
16-bit case to use the existing 64-bit implementations. Lastly, for
64-bit LCGs, I wrote a case that calculates it using `unsigned __int128`
if it is available to use.
While this implementation covers a *lot* of the missing cases from
#81080, this still won't compile **every** possible
`linear_congruential_engine`. Specifically, if `a`, `c`, and `m` are
chosen such that it needs 128-bit integers, but the platform doesn't
support `__int128` (eg. 32-bit x86), then it will fail to compile.
However, this is a fairly rare case to see actually used, and libcxx
would be in good company with this, as [libstdc++ also fails to compile
under these
circumstances](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87744).
Fixing **this** gap would require even **more** work of further
complexity, so that would probably be best handled by a different PR
(I'll put more details on what that PR would entail in a comment).
Commit: 6bbccd2516c3a843809a8303da48abce58a88855
https://github.com/llvm/llvm-project/commit/6bbccd2516c3a843809a8303da48abce58a88855
Author: Matthias Braun <matze at braunis.de>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/GlobalsModRef.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/GlobalsModRef/nonescaping-noalias.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
M llvm/test/CodeGen/X86/threadlocal_address.ll
Log Message:
-----------
GlobalsModRef, ValueTracking: Look through threadlocal.address intrinsic (#88418)
This improves handling of `threadlocal.address` intrinsic in analyses:
The thread-id cannot change within a function with the exception of
suspend points of pre-split coroutines. This changes
`llvm::getUnderlyingObject` to look through `threadlocal.address` in
these cases.
`GlobalsAAResult::AnalyzeUsesOfPointer` checks whether an address can be
traced to simple loads/stores or escapes to other places. Starting the
analysis from a thread-local `GlobalValue` the `threadlocal.address`
intrinsic is safe to skip here.
This improves issue #87437
Commit: ab22504479cb7b8985855aa2f2c851390bc1d167
https://github.com/llvm/llvm-project/commit/ab22504479cb7b8985855aa2f2c851390bc1d167
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M libcxx/include/__memory/uses_allocator_construction.h
M libcxx/include/variant
Log Message:
-----------
[libc++] Fix usage of 'exclude_from_explicit_instantiation' attribute on local class members (#89377)
#88777 adds a warning for when the `exclude_from_explicit_instantiation`
attribute is applied to local classes and members thereof. This patch
addresses the few instances of `exclude_from_explicit_instantiation`
being applied to local class members in libc++.
Commit: c045955501ed28fee7c40d8822a1aacc2022786e
https://github.com/llvm/llvm-project/commit/c045955501ed28fee7c40d8822a1aacc2022786e
Author: Rob Suderman <rob.suderman at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Fold `tensor.reshape` for dynamic reshape (#88961)
If `tensor.reshape` occurs with `d0, d1, d2, ...` for the dimensions we
know that the reshape is a no-op. Checking for this case lets us fold
away the computation.
Commit: 4841d70a4b7d7cd8c492c16a9da339ec75bca135
https://github.com/llvm/llvm-project/commit/4841d70a4b7d7cd8c492c16a9da339ec75bca135
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M flang/docs/FlangDriver.md
M flang/tools/f18/CMakeLists.txt
R flang/tools/f18/flang-to-external-fc.in
Log Message:
-----------
[flang] Remove obsolete flang-to-external-fc tool (#88904)
It seems like the `flang-to-external-fc` tool is no longer needed,
because Flang is now a full compiler in its own right. After PR #85249
has landed, this tool will not be able to pick up the `.f18.mod` files.
Commit: a6a4d4a0949fa7aab93429754704f28505d56d3f
https://github.com/llvm/llvm-project/commit/a6a4d4a0949fa7aab93429754704f28505d56d3f
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
Reland "[flang][build] Fixed paths discrovery for the out-of-tree build. (#87822)"
This reverts commit 215eee60497489ae0cc7cc78c0d8b8270e057a70.
Commit: afc8ad0d938b3fa74e92f1d066d28e64a7f7f905
https://github.com/llvm/llvm-project/commit/afc8ad0d938b3fa74e92f1d066d28e64a7f7f905
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-fshl-128.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
Log Message:
-----------
[X86] LowerFunnelShift - improve handling of vXi8 constant splat funnel shifts
This patch moves the promotion to vXi16 shifts and the upper/lower bit masking into LowerFunnelShift for targets that have a bit-select instruction (XOP's VPCMOV and AVX512's VPTERNLOG).
This prevents the regressions in #89115 due to the masking of ((X << V) | (Y >> (8-V))) vXi8 shifts.
Commit: 5b4ed0dc9fac9144efe74da77517dcff46e731e9
https://github.com/llvm/llvm-project/commit/5b4ed0dc9fac9144efe74da77517dcff46e731e9
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/test/Analysis/GlobalsModRef/nonescaping-noalias.ll
Log Message:
-----------
[test] Fix test. NFC
- Add the missing token in @llvm.coro.end
Commit: 30b9537ff438366547f968c7909718e27d65c815
https://github.com/llvm/llvm-project/commit/30b9537ff438366547f968c7909718e27d65c815
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/Driver/riscv-features.c
Log Message:
-----------
[Driver] Add m_Group to -m[no-]strict-align
so that `Args.ClaimAllArgs(options::OPT_CompileOnly_Group);` in
Driver::handleArguments will claim the options even if only linking is
performed.
Fix #87945
Commit: adc11b34b1d7f99b3931f945073a652f0dec5aaf
https://github.com/llvm/llvm-project/commit/adc11b34b1d7f99b3931f945073a652f0dec5aaf
Author: Fabio D'Urso <fdurso at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/allocator_config.h
Log Message:
-----------
Sync FuchsiaConfig with downstream's custom_scudo_config.h (#89244)
Downstream disabled EnableContiguousRegions on RISCV-64 to avoid
running out of virtual memory, but our tests still use the internal
FuchsiaConfig class, which therefore needs to be changed too.
Commit: ce48f43f054f396fec50287cf8c7624bfaa5842a
https://github.com/llvm/llvm-project/commit/ce48f43f054f396fec50287cf8c7624bfaa5842a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Require UADDO_CARRY carryin and carryout to have the same type. (#89255)
This requires type legalization to keep them the same. This means we no
longer need to legalize the operand since it will be legalized when we
legalize the second result.
Commit: 016ce9ed5cd3694cbff72a768a593714913822ea
https://github.com/llvm/llvm-project/commit/016ce9ed5cd3694cbff72a768a593714913822ea
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Rename FeatureRVE to FeatureStdExtE. NFC (#89174)
Planning to declare all extensions in tablegen so we can generate the
tables for RISCVISAInfo.cpp. This requires making "e" consistent with
other extensions.
Commit: 8e2060bf210e83d6cc34f61185918ca67b54f6f1
https://github.com/llvm/llvm-project/commit/8e2060bf210e83d6cc34f61185918ca67b54f6f1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
Log Message:
-----------
[X86][TableGen] Remove unnecessary use of formatted_raw_ostream. NFC (#89343)
This code used to use the PadToColumn feature of formatted_raw_ostream,
but no longer does. formatted_raw_ostream is slower than regular
raw_ostream because it has to keep track of the number of character
since the last new line character.
Commit: 3ea5dff0efdbb4bf5590d882810aa42f9ec26e4e
https://github.com/llvm/llvm-project/commit/3ea5dff0efdbb4bf5590d882810aa42f9ec26e4e
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/ClangScanDeps/modules-full.cpp
R clang/test/Modules/add-remove-irrelevant-module-map.m
A clang/test/Modules/prune-non-affecting-module-map-files.m
Log Message:
-----------
[clang][modules] Only avoid pruning module maps when asked to (#89428)
Pruning non-affecting module maps is useful even when passing module
maps explicitly via `-fmodule-map-file=<path>`. For this situation, this
patch reinstates the behavior we had prior to #87849. For the situation
where the explicit module map file arguments were generated by the
dependency scanner (which already pruned the non-affecting ones), this
patch introduces new `-cc1` flag
`-fno-modules-prune-non-affecting-module-map-files` that avoids the
extra work.
Commit: aa7c104124ac4a8da12fbd25c797bc8ab438c545
https://github.com/llvm/llvm-project/commit/aa7c104124ac4a8da12fbd25c797bc8ab438c545
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/cuf03.cuf
Log Message:
-----------
[flang][cuda] Allow fixed size array with the managed attribute (#89436)
Fixed size array and scalar should be allowed with the `managed`
attribute.
Commit: c32712d1763d74329b42c1cd68a24d4c0075b596
https://github.com/llvm/llvm-project/commit/c32712d1763d74329b42c1cd68a24d4c0075b596
Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/attr-counted-by-pr88931.c
A clang/test/CodeGen/attr-counted-by-pr88931.cpp
Log Message:
-----------
[Clang] Handle structs with inner structs and no fields (#89126)
A struct that declares an inner struct, but no fields, won't have a
field count. So getting the offset of the inner struct fails. This
happens in both C and C++:
struct foo {
struct bar {
int Quantizermatrix[];
};
};
Here 'struct foo' has no fields.
Closes: https://github.com/llvm/llvm-project/issues/88931
Commit: 0c455ee34823cb991a35e33ff020bb7cc4e44c8a
https://github.com/llvm/llvm-project/commit/0c455ee34823cb991a35e33ff020bb7cc4e44c8a
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.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
Log Message:
-----------
[flang][OpenMP] Use maxnum/minnum for lowering of max/min reduction operators (#89258)
This patch changes the lowering of max and min to be lowered to
arith::MaxNumFop and arith::MinNumFOp instead of using arith::MaximumFOp
and arith::MinimumFOp. The arith::MaximumFOp and arith::MinimumFOp map
to the corresponding intrinsics llvm.maximum.* and llvm.minimum.*
intrinsics which conform to the semantics specified in the draft of IEEE
754-2019, which is not supported by all hardware. Instead using
arith::MaximumFOp and arith::MinimumFOp will allow code generation for
more targets and match the code generated by clang OpenMP.
fixes #87955
Commit: cee7d994b94db625177cdfebcb8a6ce1ed677f85
https://github.com/llvm/llvm-project/commit/cee7d994b94db625177cdfebcb8a6ce1ed677f85
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-reduced.ll
Log Message:
-----------
[SLP]Fix PR89438: Check for same vectorized node in MinBWs, not user.
Need to check if the buildvector node has perfect diamond match in the
graph and the matched node is resized.
Commit: c8e65e193d542464421ad4f9a9965d45b302ac0c
https://github.com/llvm/llvm-project/commit/c8e65e193d542464421ad4f9a9965d45b302ac0c
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[clang] CTAD: Fix require-clause is not transformed. (#89378)
Fixes https://github.com/llvm/llvm-project/issues/89013
When building the deduction guide, we use the
TemplateArgsForBuildingFPrime to transform the require-clause from the
underlying class deduction guide. However, we do this at the wrong place
where not all elements of TemplateArgsForBuildingFPrime are initialized.
The fix involves rearranging the transformRequireClause call to the
correct location.
As part of the fix, we extend the TemplateInstantiator to support more
types in the template-rewrite mode. Otherwise, we will encounter an
assertion error when attempting to rewrite the template type parameter
type like D with a complex type like Derived<U>.
Commit: 08163cd9d82690e808c28515523b5fd0923d7b38
https://github.com/llvm/llvm-project/commit/08163cd9d82690e808c28515523b5fd0923d7b38
Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/test/API/lang/cpp/constructors/TestCppConstructors.py
Log Message:
-----------
[lldb] Provide a better error message for missing symbols (#89433)
This adds a hint to the missing symbols error message to make it easier
to understand what this means to users.
Commit: d634b233640dc38cf5f673a9cfcd1fe55124430a
https://github.com/llvm/llvm-project/commit/d634b233640dc38cf5f673a9cfcd1fe55124430a
Author: Samira Bazuzi <bazuzi at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
Log Message:
-----------
[clang][dataflow] Expose getReferencedDecls for a Stmt. (#89444)
Commit: 5232cec8f947ed8bff4ca57f990954228d58e66d
https://github.com/llvm/llvm-project/commit/5232cec8f947ed8bff4ca57f990954228d58e66d
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang-tools-extra/clang-doc/Representation.cpp
M lldb/unittests/Host/FileSystemTest.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
Apply modernize-use-starts-ends-with on llvm-project (#89140)
Run `modernize-use-starts-ends-with` on llvm-project. Two instances are
flagged, minor readability improvements, extremely minor performance
improvements.
```
python3 clang-tools-extra/clang-tidy/tool/run-clang-tidy.py \
-clang-tidy-binary="build/bin/clang-tidy" \
-clang-apply-replacements-binary="build/bin/clang-apply-replacements" \
-checks="-*,modernize-use-starts-ends-with" \
-header-filter=".*" \
-fix -format
```
I am working on some additions to this check, but they don't seem to
flag any additional cases anyway.
Commit: 45432eec0ae6a7f7452196eb099814d1a7dc2c0f
https://github.com/llvm/llvm-project/commit/45432eec0ae6a7f7452196eb099814d1a7dc2c0f
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/cl-options.c
Log Message:
-----------
[ARM64EC] Add softintrin.lib as an implicit dependency to object files. (#89171)
This copies MSVC behavior, and avoids weird link errors in certain
cases.
Commit: 5bcf31ebfad8b32aed20dd47be6238cc19710e63
https://github.com/llvm/llvm-project/commit/5bcf31ebfad8b32aed20dd47be6238cc19710e63
Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
[Clang] Loop over FieldDecls instead of all Decls (#89453)
Only FieldDecls are of importance here. A struct defined within another
struct has the same semantics as if it were defined outside of the
struct. So there's no need to look into RecordDecls that aren't a field.
Commit: 2a632d3d9f5c70db38c617b0816deb37ef722a7b
https://github.com/llvm/llvm-project/commit/2a632d3d9f5c70db38c617b0816deb37ef722a7b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M flang/include/flang/Lower/Allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/CUDA/cuda-allocatable.cuf
Log Message:
-----------
[flang][cuda] Use fir.cuda_deallocate for automatic deallocation (#89450)
Automatic deallocation of allocatable that are cuda device variable must
use the fir.cuda_deallocate operation. This patch update the automatic
deallocation code generation to use this operation when the variable is
a cuda variable.
Commit: 7c3dfb29dc4b5345da6a7fb25f92bf8d2919bce9
https://github.com/llvm/llvm-project/commit/7c3dfb29dc4b5345da6a7fb25f92bf8d2919bce9
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M mlir/python/mlir/dialects/memref.py
Log Message:
-----------
[mlir][python] fix memref._is_constant_int_like (#89447)
Commit: 16e3464852efe3001060ff7feb3261dd397bfe84
https://github.com/llvm/llvm-project/commit/16e3464852efe3001060ff7feb3261dd397bfe84
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-allocate.cpp
M flang/test/Semantics/cuf07.cuf
Log Message:
-----------
[flang][cuda] Enforce PINNED attribute when ALLOCATE with PINNED option (#89455)
When the PINNED option is specified on an ALLOCATE statement, the object
must have the PINNED attribute.
Commit: 4523a267829c807f3fc8fab8e5e9613985a51565
https://github.com/llvm/llvm-project/commit/4523a267829c807f3fc8fab8e5e9613985a51565
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-allocate.cpp
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Parser/cuf-sanity-common
M flang/test/Parser/cuf-sanity-tree.CUF
M flang/test/Parser/cuf-sanity-unparse.CUF
M flang/test/Semantics/cuf07.cuf
Log Message:
-----------
[flang][cuda] Enforce DEVICE attribute when ALLOCATE with STREAM option (#89459)
When the STREAM option is specified on an ALLOCATE statement, the object
must have the DEVICE attribute.
Commit: d9169ffaf7c01691644537d3443240748b107359
https://github.com/llvm/llvm-project/commit/d9169ffaf7c01691644537d3443240748b107359
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M bolt/test/AArch64/constant_island_pie_update.s
Log Message:
-----------
[BOLT,test] Update AArch64/constant_island_pie_update.s after llvm-readelf -r RELR change
Commit: f433c3b38005701fdc219ae8c01e6af1b8bedba9
https://github.com/llvm/llvm-project/commit/f433c3b38005701fdc219ae8c01e6af1b8bedba9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.v2f16.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f32-system.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-f64-system.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i32-system.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i64-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2bf16-system.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-v2f16-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomicrmw-integer-ops-0-to-add-0.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
A llvm/test/Transforms/Inline/AMDGPU/inline-atomicrmw-md-preserve.ll
Log Message:
-----------
AMDGPU: Add tests for atomicrmw handling of new metadata (#89248)
Add baseline tests which should comprehensively test the new atomic
metadata. Test codegen / expansion, and preservation in a few
transforms.
New metadata defined in #85052
Commit: c69efcd54879835085cf03a09e1eec28dc80e1d3
https://github.com/llvm/llvm-project/commit/c69efcd54879835085cf03a09e1eec28dc80e1d3
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/cuf03.cuf
Log Message:
-----------
[flang][cuda] Relax assumed size check on object with device attribute (#89466)
Assumed size arrays are apparently allowed with attribute device.
Commit: f09f99ed329f58c79fba43abf5fc73a28a0e2055
https://github.com/llvm/llvm-project/commit/f09f99ed329f58c79fba43abf5fc73a28a0e2055
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV] Add RISCVTuneProcessorModel to 'generic' CPU. NFC
Remove hardcode GENERIC cpu from RISCVTargetDefEmitter.cpp.
Commit: 11019be4cf75ff40d2da84094477ab5dac818c99
https://github.com/llvm/llvm-project/commit/11019be4cf75ff40d2da84094477ab5dac818c99
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/test/Instrumentation/SanitizerCoverage/inline-bool-flag.ll
M llvm/test/Instrumentation/SanitizerCoverage/stack-depth.ll
Log Message:
-----------
[test][sancov] Regenerate with update_test_checks (#89457)
Prepare for #89458
Commit: c8627e4e0c8ac453844638522b887ac7b7687672
https://github.com/llvm/llvm-project/commit/c8627e4e0c8ac453844638522b887ac7b7687672
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/test/API/lang/cpp/constructors/TestCppConstructors.py
Log Message:
-----------
Revert "[lldb] Provide a better error message for missing symbols (#89433)"
This reverts commit 08163cd9d82690e808c28515523b5fd0923d7b38.
I accidentally broke the test while addressing review feedback.
Commit: 6a35ee8077647b32626c3c41f9d9da4dae6670fc
https://github.com/llvm/llvm-project/commit/6a35ee8077647b32626c3c41f9d9da4dae6670fc
Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/test/API/lang/cpp/constructors/TestCppConstructors.py
Log Message:
-----------
[lldb] Provide a better error message for missing symbols (#89433)
This adds a hint to the missing symbols error message to make it easier
to understand what this means to users.
[Reapplies an earlier patch with a test fix.]
Commit: 7fcca112034f55c26e943c13fd0d57adfbe96705
https://github.com/llvm/llvm-project/commit/7fcca112034f55c26e943c13fd0d57adfbe96705
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/lambda-function-name.cpp
Log Message:
-----------
[clang-tidy] bugprone-lambda-function-name ignore macro in captures (#89076)
Commit: 777d2e54a9b69463a30c305a0d1a34fef90dbe93
https://github.com/llvm/llvm-project/commit/777d2e54a9b69463a30c305a0d1a34fef90dbe93
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfReader.cpp
Log Message:
-----------
[memprof] Drop the trait parameter (NFC) (#89461)
OnDiskIterableChainedHashTable::Create can default-contruct a trait
object for us. We don't need to construct one on our own unless we
need to customize something (like a version number).
Commit: f3587d41064ce22330231baee1553b210777f3e3
https://github.com/llvm/llvm-project/commit/f3587d41064ce22330231baee1553b210777f3e3
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
M llvm/test/Instrumentation/SanitizerCoverage/inline-bool-flag.ll
M llvm/test/Instrumentation/SanitizerCoverage/stack-depth.ll
Log Message:
-----------
[sancov] Apply branch weights when checking counters (#89458)
It reduces instrumentation overhead by ~50%.
Commit: c60aa430dc4085d276a630699323068bf36bd9d8
https://github.com/llvm/llvm-project/commit/c60aa430dc4085d276a630699323068bf36bd9d8
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/MDBuilder.h
M llvm/lib/IR/MDBuilder.cpp
M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/KCFI.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
M llvm/test/Instrumentation/AddressSanitizer/asan-funclet.ll
M llvm/test/Instrumentation/AddressSanitizer/basic.ll
Log Message:
-----------
[NFCI][sanitizers][metadata] Exctract create{Unlikely,Likely}BranchWeights (#89464)
We have a lot of repeated code with random constants.
Particular values are not important, the one just needs to be
bigger then another.
UR_NONTAKEN_WEIGHT is selected as it's the most common one.
Commit: f35e1931bebedf80c13939eda9c5c0aa2c2c4f6a
https://github.com/llvm/llvm-project/commit/f35e1931bebedf80c13939eda9c5c0aa2c2c4f6a
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M flang/include/flang/Lower/Allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/test/Lower/CUDA/cuda-allocatable.cuf
Log Message:
-----------
Revert "[flang][cuda] Use fir.cuda_deallocate for automatic deallocation (#89450)"
This reverts commit 2a632d3d9f5c70db38c617b0816deb37ef722a7b.
This has some implication on OpenACC postDeallocate action
Commit: b48ea2d394911efcc56880fde58f806282db1e8a
https://github.com/llvm/llvm-project/commit/b48ea2d394911efcc56880fde58f806282db1e8a
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
Revert "[clang] CTAD: Fix require-clause is not transformed." (#89476)
Reverts llvm/llvm-project#89378
Broke the windows premerge checks
https://lab.llvm.org/buildbot/#/builders/271/builds/6788
Commit: c4a799b0566662a5d80543da0f720efc92899a59
https://github.com/llvm/llvm-project/commit/c4a799b0566662a5d80543da0f720efc92899a59
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
[NFC][hwasan] Use DEBUG_TYPE instead of "hwasan"
Commit: f2931182fc877e813974a5f53721f859bfb5b130
https://github.com/llvm/llvm-project/commit/f2931182fc877e813974a5f53721f859bfb5b130
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/docs/GettingStarted.rst
M llvm/docs/GettingStartedVS.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/TestingGuide.rst
Log Message:
-----------
Reland "[python] Bump Python minimum version to 3.8 (#78828)"
This reverts commit 2dfa30d0ca6fb6991640a18e53401d82f567f8ff.
This relands commit 0a6c74e21cc6750c843310ab35b47763cddaaf32.
This patch originally caused a host of buildbot failures due to several
buildbots not having the necessary python version. That was tracked in
issue #83962, and all bots that failed in the first round have now been
updated. This is an attempt to reland the patch to see if it sticks or
if there are a number of long-running bots where this patch will cause
failures.
Commit: 91c2e9c2d990473b7a3a1aad3e56a864a7481301
https://github.com/llvm/llvm-project/commit/91c2e9c2d990473b7a3a1aad3e56a864a7481301
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
Log Message:
-----------
[NFC][SanCov] Pass DomTrees as const references
They are not optional.
Commit: 905f34eeca628da526293a21daa6a645012219c6
https://github.com/llvm/llvm-project/commit/905f34eeca628da526293a21daa6a645012219c6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
Log Message:
-----------
[NFCI][SanCov] Remove unused default arguments
Commit: b0fe4d4ac3cbf0ef24c7a1b56e01472a19d746b4
https://github.com/llvm/llvm-project/commit/b0fe4d4ac3cbf0ef24c7a1b56e01472a19d746b4
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
Log Message:
-----------
[NFCI][SanCov] Remove redundant copt<> defaults
Commit: 30257dd4ae47ceb77c55481ecead02db79db8a51
https://github.com/llvm/llvm-project/commit/30257dd4ae47ceb77c55481ecead02db79db8a51
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
Log Message:
-----------
[NFC][SanCov] Move Module and analysis callbacks into ModuleSanitizerCoverage class
Avoid passing them around.
Commit: 0ccdd4c28fca72d1e1d518c6ed9715e92fb47edf
https://github.com/llvm/llvm-project/commit/0ccdd4c28fca72d1e1d518c6ed9715e92fb47edf
Author: Ding Fei <fding at feysh.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[ASTImporter] Fix infinite recurse on return type declared inside body (#68775)
Lambda without trailing auto could have return type declared inside the
body too.
Fixes #68775
Commit: 6fedc18c9c25568c5aba6c0a7aaf5d2406bc84eb
https://github.com/llvm/llvm-project/commit/6fedc18c9c25568c5aba6c0a7aaf5d2406bc84eb
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
Log Message:
-----------
[NFC][SanCov] Re-format long line
Commit: f03cd2db91956456f1c5e2da86d3c50183eebd28
https://github.com/llvm/llvm-project/commit/f03cd2db91956456f1c5e2da86d3c50183eebd28
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/cmake/caches/Apple-stage2.cmake
Log Message:
-----------
[clang][Apple][cmake] Disable plugin support at LLVM level (#89483)
Matches up with the clang setting
Commit: c455b462da70e800124ca4f453c466ea05db6033
https://github.com/llvm/llvm-project/commit/c455b462da70e800124ca4f453c466ea05db6033
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-19 (Fri, 19 Apr 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating CastRParen before unary && (#89346)
Also fix a bug in annotating TrailingAnnotation.
Closes #61233.
Commit: 22bf7c5e01e869bbbb3b2da722e1a33e69e931d6
https://github.com/llvm/llvm-project/commit/22bf7c5e01e869bbbb3b2da722e1a33e69e931d6
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Support __builtin_os_log_format_buffer_size
Commit: 225ae82fdbbff7d22fbbf9aead00e67e08416ecf
https://github.com/llvm/llvm-project/commit/225ae82fdbbff7d22fbbf9aead00e67e08416ecf
Author: SahilPatidar <patidarsahil2001 at gmail.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/fcmp.ll
Log Message:
-----------
[InstCombine] fold `cond ? x : -x == 0` into `x == 0` (#85673)
Resolve #85250
Alive2: https://alive2.llvm.org/ce/z/7DMRCy
Commit: 29312d39ff89b664138c497716dd11d4e1f2876b
https://github.com/llvm/llvm-project/commit/29312d39ff89b664138c497716dd11d4e1f2876b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M libcxx/include/__string/char_traits.h
M libcxx/include/__string/constexpr_c_functions.h
Log Message:
-----------
[libc++] Optimize char_traits a bit (#72799)
This implements two kinds of optimizations. Specifically
- `char_traits<char8_t>` uses `char` code paths; these are heavily
optimized and the operations are equivalent
- `char16_t` and `char32_t` `find` uses `std::find` to forward to
`wmemchr` if they have the same size
Commit: 32623a3fc09a87867df495ab8c059706f24a126c
https://github.com/llvm/llvm-project/commit/32623a3fc09a87867df495ab8c059706f24a126c
Author: Amila Senadheera <amilaruk1995 at gmail.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M clang/lib/ASTMatchers/Dynamic/Marshallers.h
Log Message:
-----------
[clang] Marshallers.h - use move semantics for 'NodeKinds' and update possible callers to use it (#87273)
Fixes: https://github.com/llvm/llvm-project/issues/87248
Signed-off-by: amila <amila.15 at cse.mrt.ac.lk>
Commit: a4422a51941bfcffc870d1e2fff682e5387f89c2
https://github.com/llvm/llvm-project/commit/a4422a51941bfcffc870d1e2fff682e5387f89c2
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/leap_second.h
M libcxx/include/__chrono/local_info.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/__chrono/sys_info.h
M libcxx/include/__chrono/time_zone.h
M libcxx/include/__chrono/time_zone_link.h
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__chrono/tzdb_list.h
M libcxx/include/__config
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
M libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/leap_seconds.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/links.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.list/erase_after.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/version.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.local/ostream.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.sys/ostream.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.rule_selection.pass.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/std/time/time.syn/formatter.local_info.pass.cpp
M libcxx/test/std/time/time.syn/formatter.sys_info.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/leap_seconds.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/current_zone.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb_list.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/locate_zone.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/erase_after.compile.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/front.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/iterators.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/types.compile.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/current_zone.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/tzdb.members.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/local_info.members.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/ostream.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/ostream.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/sys_info.members.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/assign.copy.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/cons.copy.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/members/date.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/members/value.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.nonmembers/comparison.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/types.compile.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.nonmembers/comparison.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/types.compile.pass.cpp
M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
M libcxx/test/support/test_macros.h
M libcxx/utils/libcxx/test/params.py
Log Message:
-----------
[libc++][TZDB] Renames incomplete. (#89250)
The new name uses experimental which better conveys what it means.
Commit: 55ed4e314fb6f2c3e66113931088c36e6bcfca74
https://github.com/llvm/llvm-project/commit/55ed4e314fb6f2c3e66113931088c36e6bcfca74
Author: Alexander <Smertig at users.noreply.github.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Clang][Sema] Remove invalid ctor (NFC) (#82161)
`TemplateArgumentLocInventIterator` default constructor should not
exists
https://github.com/llvm/llvm-project/blob/3496927edcd0685807351ba88a7e2cfb006e1c0d/clang/lib/Sema/TreeTransform.h#L4742
because it doesn't and couldn't initialize `Self` member that is
reference:
https://github.com/llvm/llvm-project/blob/3496927edcd0685807351ba88a7e2cfb006e1c0d/clang/lib/Sema/TreeTransform.h#L4721-L4723
Instantiation of this constructor is always a compile-time error.
Please note, that I didn't run any tests, because cannot imagine
situation where this constructor can be properly used. There are no new
tests for this fix for the same reason.
Commit: 95e668f8c8a746bc10805d4a77d192cef3dc286e
https://github.com/llvm/llvm-project/commit/95e668f8c8a746bc10805d4a77d192cef3dc286e
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M libcxx/include/sstream
Log Message:
-----------
[libc++] Removes a Clang 16 Windows workaround. (#88560)
Commit: 31480b0cc8fe2bb1e080ffd38e38780ba7e8dec6
https://github.com/llvm/llvm-project/commit/31480b0cc8fe2bb1e080ffd38e38780ba7e8dec6
Author: Karl-Johan Karlsson <karl-johan.karlsson at ericsson.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M clang/test/CodeGen/PowerPC/builtins-ppc-htm.c
M clang/test/CodeGen/PowerPC/builtins-ppc-vec-ins-error.c
M clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
M clang/test/Sema/ppc-attr-target-inline.c
M clang/test/SemaHLSL/BuiltIns/any-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/pow-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/round-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
M llvm/test/MachineVerifier/verify-inlineasmbr.mir
Log Message:
-----------
[test] Avoid writing to a potentially write-protected dir (#89242)
These tests just don't check the output written to the current directory. The
current directory may be write protected e.g. in a sandboxed environment.
The Testcases that use -emit-llvm and -verify only care about stdout/stderr
and are in this patch changed to use -emit-llvm-only to avoid writing to an
output file. The verify-inlineasmbr.mir testcase that also only care about
stdout/stderr is in this patch changed to throw away the output file and just
write to /dev/null.
Commit: 60baaf153d05a7828b304050aba461ebb66232c6
https://github.com/llvm/llvm-project/commit/60baaf153d05a7828b304050aba461ebb66232c6
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M mlir/lib/Transforms/Mem2Reg.cpp
Log Message:
-----------
[mlir] fix typo in mem2reg [NFC]
Commit: d8503a38b974930599417a747cec3615330c367e
https://github.com/llvm/llvm-project/commit/d8503a38b974930599417a747cec3615330c367e
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/update-bpi.ll
Log Message:
-----------
[InstCombine] Update BranchProbabilityAnalysis cache result (#86470)
InstCombine may invert branch condition and profile metadata. In such
case, BranchProbabilityAnalysis should also be updated.
Commit: 5a1a5226b578ec7f123f67efd4e24e39fecd11d7
https://github.com/llvm/llvm-project/commit/5a1a5226b578ec7f123f67efd4e24e39fecd11d7
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenHLSL/builtins/mad.hlsl
M llvm/test/CodeGen/DirectX/fmad.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmad.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/imad.ll
Log Message:
-----------
[SPIRV][HLSL] Add mad intrinsic lowering for spirv (#89130)
- `clang/lib/CodeGen/CGBuiltin.cpp` - Add a generic mull add
implementation. Make DXIL implementation tied to target.
resolves #88944
Commit: 87d36c5d8285b61f3e39b3f63d5eced733bd9d3e
https://github.com/llvm/llvm-project/commit/87d36c5d8285b61f3e39b3f63d5eced733bd9d3e
Author: David Green <david.green at arm.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/AArch64/interleavevectorization.ll
Log Message:
-----------
[AArch64] Add phase ordering tests for some basic interleaving vectorization patterns. NFC
Commit: a8105026ff548412967bc68ffb57f4fb6aecb652
https://github.com/llvm/llvm-project/commit/a8105026ff548412967bc68ffb57f4fb6aecb652
Author: David Green <david.green at arm.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Fix warning about Mask being set twice. NFC
Commit: efe0a2eddb5e71034d426d8c9bd7510e544fb191
https://github.com/llvm/llvm-project/commit/efe0a2eddb5e71034d426d8c9bd7510e544fb191
Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[nfc][github] subscribe myself to MLIR Mem2Reg PRs
Commit: 7f0bbbb19b4f13c2efb400db300817aa7ed589cc
https://github.com/llvm/llvm-project/commit/7f0bbbb19b4f13c2efb400db300817aa7ed589cc
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
Log Message:
-----------
[clang][Interp] Change array index types in OffsetHelper
This is closer to that the current interpreter does. It also fixes
diagnostics in a case I was looking into. Unfortunately, this is not
possible to test right now since it requires a large array and we
don't implement array fillers yet.
Commit: 1faf3148fdef34ce0d556ec6a4049e06cbde71b3
https://github.com/llvm/llvm-project/commit/1faf3148fdef34ce0d556ec6a4049e06cbde71b3
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/IncrementalParser.h
Log Message:
-----------
[clang-repl] Keep the first llvm::Module empty to avoid invalid memory access. (#89031)
Clang's CodeGen is designed to work with a single llvm::Module. In many
cases
for convenience various CodeGen parts have a reference to the
llvm::Module
(TheModule or Module) which does not change when a new module is pushed.
However, the execution engine wants to take ownership of the module
which does
not map well to CodeGen's design. To work this around we clone the
module and
pass it down.
With some effort it is possible to teach CodeGen to ask the
CodeGenModule for
its current module and that would have an overall positive impact on
CodeGen
improving the encapsulation of various parts but that's not resilient to
future
regression.
This patch takes a more conservative approach and keeps the first
llvm::Module
empty intentionally and does not pass it to the Jit. That's also not
bullet
proof because we have to guarantee that CodeGen does not write on the
blueprint. However, we have inserted some assertions to catch accidental
additions to that canary module.
This change will fixes a long-standing invalid memory access reported by
valgrind when we enable the TBAA optimization passes. It also unblock
progress
on https://github.com/llvm/llvm-project/pull/84758.
Commit: 34dffc5e00b2428e3c824029891f3c8fbf411d2c
https://github.com/llvm/llvm-project/commit/34dffc5e00b2428e3c824029891f3c8fbf411d2c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[memprof] Accept Schema in the constructor of RecordWriterTrait (NFC) (#89486)
The comment being deleted in this patch is not correct. We already
construct an instance of RecordWriterTrait with Version.
This patch teaches the constructor of RecordWriterTrait to accept
Schema. While I am at it, this patch makes Version a private
variable.
Commit: ca090452d64e229b539a66379a3be891c4e8f3d8
https://github.com/llvm/llvm-project/commit/ca090452d64e229b539a66379a3be891c4e8f3d8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M clang/lib/Interpreter/IncrementalParser.cpp
Log Message:
-----------
[Interpreter] Fix warnings
This patch fixes:
clang/lib/Interpreter/IncrementalParser.cpp:214:29: error: moving a
temporary object prevents copy elision [-Werror,-Wpessimizing-move]
clang/lib/Interpreter/IncrementalParser.cpp:232:22: error: moving a
temporary object prevents copy elision [-Werror,-Wpessimizing-move]
Commit: adc4f6233df734fbe3793118ecc89d3584e0c90f
https://github.com/llvm/llvm-project/commit/adc4f6233df734fbe3793118ecc89d3584e0c90f
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/IncrementalParser.h
Log Message:
-----------
Revert "[clang-repl] Keep the first llvm::Module empty to avoid invalid memory access. (#89031)"
This reverts commit ca090452d64e229b539a66379a3be891c4e8f3d8 and
1faf3148fdef34ce0d556ec6a4049e06cbde71b3 because it broke a darwin bot.
Commit: a3f07d36cbc9e3a0d004609d140474c1d8a25bb6
https://github.com/llvm/llvm-project/commit/a3f07d36cbc9e3a0d004609d140474c1d8a25bb6
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/IncrementalParser.h
Log Message:
-----------
Reland "[clang-repl] Keep the first llvm::Module empty to avoid invalid memory access. (#89031)"
Original commit message: "
Clang's CodeGen is designed to work with a single llvm::Module. In many cases
for convenience various CodeGen parts have a reference to the llvm::Module
(TheModule or Module) which does not change when a new module is pushed.
However, the execution engine wants to take ownership of the module which does
not map well to CodeGen's design. To work this around we clone the module and
pass it down.
With some effort it is possible to teach CodeGen to ask the CodeGenModule for
its current module and that would have an overall positive impact on CodeGen
improving the encapsulation of various parts but that's not resilient to future
regression.
This patch takes a more conservative approach and keeps the first llvm::Module
empty intentionally and does not pass it to the Jit. That's also not bullet
proof because we have to guarantee that CodeGen does not write on the
blueprint. However, we have inserted some assertions to catch accidental
additions to that canary module.
This change will fixes a long-standing invalid memory access reported by
valgrind when we enable the TBAA optimization passes. It also unblock progress
on https://github.com/llvm/llvm-project/pull/84758.
"
This patch reverts adc4f6233df734fbe3793118ecc89d3584e0c90f and removes
the check of `named_metadata_empty` of the first llvm::Module because on darwin
clang inserts some harmless metadata which we can ignore.
Commit: b6824c9d459da059e247a60c1ebd1aeb580dacc2
https://github.com/llvm/llvm-project/commit/b6824c9d459da059e247a60c1ebd1aeb580dacc2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M llvm/CMakeLists.txt
M llvm/docs/GettingStarted.rst
M llvm/docs/GettingStartedVS.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/TestingGuide.rst
Log Message:
-----------
Revert "Reland "[python] Bump Python minimum version to 3.8 (#78828)""
This reverts commit f2931182fc877e813974a5f53721f859bfb5b130.
This was again causing buildbot failures. #83962 has been updated with the new
failures, notifying the buildbot maintainers that they need to update their
bots.
Commit: 34acbb3801515f9f41cc2d790d26072eb004ac46
https://github.com/llvm/llvm-project/commit/34acbb3801515f9f41cc2d790d26072eb004ac46
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-04-21 (Sun, 21 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86LowerTileCopy.cpp
M llvm/test/CodeGen/X86/AMX/amx-lower-tile-copy.ll
Log Message:
-----------
[X86] X86LowerTileCopy: Find dead register to use to prevent save-reload of tile register (#83628)
Commit: 37fe3c6788a152dd88a54e2f22db05d9c7e53468
https://github.com/llvm/llvm-project/commit/37fe3c6788a152dd88a54e2f22db05d9c7e53468
Author: Abhishek Kulkarni <11399+adk9 at users.noreply.github.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Async/IR/CMakeLists.txt
M mlir/python/CMakeLists.txt
M mlir/python/mlir/dialects/async_dialect/__init__.py
M mlir/test/python/dialects/async_dialect.py
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[mlir][python] Fix generation of Python bindings for `async` dialect (#75960)
The Python bindings generated for "async" dialect didn't include any of
the "async" dialect ops. This PR fixes issues with generation of Python
bindings for "async" dialect and adds a test case to use them.
Commit: de1d4eb06bc22834fe8008769b4c9344a0a8330f
https://github.com/llvm/llvm-project/commit/de1d4eb06bc22834fe8008769b4c9344a0a8330f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
Log Message:
-----------
[memprof] Omit the key length for the call stack table (#89510)
The call stack table has a constant key length, so we don't need to
serialize or deserialize it for every key-data pair. Omitting the key
length saves 0.64% of the indexed MemProf file size.
Note that it's OK to change the format because Version2 is still under
development.
Commit: 6cebd3577245a687947506ff423ea726ccd80849
https://github.com/llvm/llvm-project/commit/6cebd3577245a687947506ff423ea726ccd80849
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-20 (Sat, 20 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Remove extra indentation from RISCVProcessors.td.
Commit: 811ffc049ff914e15116c25ca8db7b8bd9a8e186
https://github.com/llvm/llvm-project/commit/811ffc049ff914e15116c25ca8db7b8bd9a8e186
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-21 (Sun, 21 Apr 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/list.rst
Log Message:
-----------
[tidy] update check list [NFC]
Commit: cb7cb83010bbcd8e5325d81b6d80653c7b513516
https://github.com/llvm/llvm-project/commit/cb7cb83010bbcd8e5325d81b6d80653c7b513516
Author: zhongyunde 00443407 <zhongyunde at huawei.com>
Date: 2024-04-21 (Sun, 21 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Log Message:
-----------
[InstCombine] Add check to avoid dependent optimization order, NFC
Since PR86428, foldPowiReassoc is called by both FMul and FDiv,
as the optimization of FDiv is placed after the FMul, so now
it is correct we don't add the checking of FDiv for powi(X, Y) / X.
But, we may add more matching scenarios later, so add the checking opcode
explicitly is easier to understand.
Commit: 56ca5ecf416ad0e57c5e3558159bd73e5d662476
https://github.com/llvm/llvm-project/commit/56ca5ecf416ad0e57c5e3558159bd73e5d662476
Author: zhongyunde 00443407 <zhongyunde at huawei.com>
Date: 2024-04-21 (Sun, 21 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/powi.ll
Log Message:
-----------
[InstCombine] Optimize powi(X, Y)/ (X * Z) with Ofast
foldFDivPowDivisor can address A / powi(x, y) to A * powi(x, -y),
while for small const value y, for example y=2, the instcombine will
transform powi(x, 2) to fmul x, x, so it is not optimal for A / powi(x, 2).
Fix https://github.com/llvm/llvm-project/issues/77171
Commit: fa01d04c9b9a3c8454194a36a0e64daf43cddaf2
https://github.com/llvm/llvm-project/commit/fa01d04c9b9a3c8454194a36a0e64daf43cddaf2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-21 (Sun, 21 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
Log Message:
-----------
[clang][Interp][NFC] Change pointer offset to uint64
To accomodate for recent changes in array index calculations.
Commit: e32c4dfefcd1d54eb8f353f6fa08ef6f06d0fcc4
https://github.com/llvm/llvm-project/commit/e32c4dfefcd1d54eb8f353f6fa08ef6f06d0fcc4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-21 (Sun, 21 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86LowerTileCopy.cpp
M llvm/test/CodeGen/X86/AMX/amx-lower-tile-copy.ll
Log Message:
-----------
Revert "[X86] X86LowerTileCopy: Find dead register to use to prevent save-reload of tile register (#83628)"
This reverts commit 34acbb3801515f9f41cc2d790d26072eb004ac46.
This change causes major compile-time regressions.
Commit: aa22d4422ee031d3867290e6ec12985f87d9ea2f
https://github.com/llvm/llvm-project/commit/aa22d4422ee031d3867290e6ec12985f87d9ea2f
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-04-21 (Sun, 21 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Clang] Do not try to diagnose parameter packs in invalid pack expressions (#89257)
In a pack expression, if the id-expression is not valid, do no try to
detect whether it is a pack as that would lead to a crash trying to
print a recovery expression.
Fixes #88929
Commit: e095d978ba476c9624b4e72776089ea7301fa657
https://github.com/llvm/llvm-project/commit/e095d978ba476c9624b4e72776089ea7301fa657
Author: Gaurav Shukla <gaurav at nod-labs.com>
Date: 2024-04-21 (Sun, 21 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertConv2DToImg2Col.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/SplitReduction.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
M mlir/test/Dialect/Linalg/bubble-up-extract-slice-op.mlir
M mlir/test/Dialect/Linalg/collapse-dim.mlir
M mlir/test/Dialect/Linalg/convert-conv2d-to-img2col.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
M mlir/test/Dialect/Linalg/flatten-elementwise.mlir
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
M mlir/test/Dialect/Linalg/reshape_control_fusion.mlir
M mlir/test/Dialect/Linalg/reshape_fusion.mlir
M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
M mlir/test/Dialect/Linalg/transform-op-split-reduction.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/ops.mlir
M mlir/test/Dialect/MemRef/runtime-verification.mlir
M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
M mlir/test/Dialect/Tensor/bufferize.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
M mlir/test/Dialect/Tensor/fold-reassociative-reshapes.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR] Generalize expand_shape to take shape as explicit input (#69267)
This patch generalizes tensor.expand_shape and memref.expand_shape to
consume the output shape as a list of SSA values. This enables us to
implement generic reshape operations with dynamic shapes using
collapse_shape/expand_shape pairs.
The output_shape input to expand_shape follows the static/dynamic
representation that's also used in `tensor.extract_slice`.
Differential Revision: https://reviews.llvm.org/D140821
Co-authored-by: Ramiro Leal-Cavazos <ramiroleal050 at gmail.com>
Commit: 8c0341df029d7eb8e60d1e4f49edd3e4af1b1e11
https://github.com/llvm/llvm-project/commit/8c0341df029d7eb8e60d1e4f49edd3e4af1b1e11
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-21 (Sun, 21 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertConv2DToImg2Col.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/SplitReduction.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Conversion/TosaToTensor/tosa-to-tensor.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
M mlir/test/Dialect/Linalg/bubble-up-extract-slice-op.mlir
M mlir/test/Dialect/Linalg/collapse-dim.mlir
M mlir/test/Dialect/Linalg/convert-conv2d-to-img2col.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
M mlir/test/Dialect/Linalg/flatten-elementwise.mlir
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
M mlir/test/Dialect/Linalg/reshape_control_fusion.mlir
M mlir/test/Dialect/Linalg/reshape_fusion.mlir
M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
M mlir/test/Dialect/Linalg/transform-op-split-reduction.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/ops.mlir
M mlir/test/Dialect/MemRef/runtime-verification.mlir
M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
M mlir/test/Dialect/Tensor/bufferize.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
M mlir/test/Dialect/Tensor/fold-reassociative-reshapes.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Revert "[MLIR] Generalize expand_shape to take shape as explicit input" (#89540)
Reverts llvm/llvm-project#69267
this broke some bots.
Commit: 18bb175428f520aaa4a5e388bd3b680a1a7c60c0
https://github.com/llvm/llvm-project/commit/18bb175428f520aaa4a5e388bd3b680a1a7c60c0
Author: David Green <david.green at arm.com>
Date: 2024-04-21 (Sun, 21 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/IR/Instructions.h
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-load.ll
Log Message:
-----------
[AArch64] Add costs for LD3/LD4 shuffles.
Similar to #87934, this adds costs to the shuffles in a canonical LD3/LD4
pattern, which are represented in LLVM as deinterleaving-shuffle(load). This
likely has less effect at the moment than the ST3/ST4 costs as instcombine will
perform certain transforms without considering the cost.
Commit: 6309440c218778db027306826993e484eab2be17
https://github.com/llvm/llvm-project/commit/6309440c218778db027306826993e484eab2be17
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-21 (Sun, 21 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-divrem.ll
Log Message:
-----------
[InstCombine] Fix unexpected overwriting in `foldSelectWithSRem` (#89539)
Fixes #89516
Commit: d674f45d51bffbba474b12e07f7d57a2390d2f31
https://github.com/llvm/llvm-project/commit/d674f45d51bffbba474b12e07f7d57a2390d2f31
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-21 (Sun, 21 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[Transforms] Remove extraneous ArrayRef (NFC) (#89535)
We don't need to create these instances of ArrayRef because
ConstantDataVector::get takes ArrayRef, and ArrayRef can be implicitly
constructed from C arrays.
Commit: 48324f0f7b26b981e0f68e0faf9bb05d4a0e0fbb
https://github.com/llvm/llvm-project/commit/48324f0f7b26b981e0f68e0faf9bb05d4a0e0fbb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-21 (Sun, 21 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Combine variable declaration with its only assignment. NFC (#89526)
Commit: ec062f5b33ed22c61742e3c1486f6cba915801e0
https://github.com/llvm/llvm-project/commit/ec062f5b33ed22c61742e3c1486f6cba915801e0
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAsmAlias.td
M llvm/test/MC/X86/apx/cmpccxadd-att.s
R llvm/test/MC/X86/cmpccxadd-att-64-alias.s
R llvm/test/MC/X86/cmpccxadd-att-64.s
A llvm/test/MC/X86/cmpccxadd-att-alias.s
A llvm/test/MC/X86/cmpccxadd-att.s
R llvm/test/MC/X86/cmpccxadd-intel-64-alias.s
R llvm/test/MC/X86/cmpccxadd-intel-64.s
A llvm/test/MC/X86/cmpccxadd-intel-alias.s
A llvm/test/MC/X86/cmpccxadd-intel.s
Log Message:
-----------
[X86][MC] Error out for CMPCCXADD on 32 bit targets. (#88672)
This resolves issue #88501.
Commit: 2a47ee070145438424b065a35c4a680ea0cb0c1f
https://github.com/llvm/llvm-project/commit/2a47ee070145438424b065a35c4a680ea0cb0c1f
Author: donald chen <62002319+cxy-1993 at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M mlir/include/mlir/Interfaces/TilingInterface.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
Log Message:
-----------
[MLIR][Linalg] Enable fuse consumer (#85528)
This patch adds support for consumer fusion to the tiling interface, and
implements fuse consumers on FuseIntoContainingOp.
- Add interface method 'getIterDomainTilePositionFromOperandPosition' to
tiling interface which get iteration domain position from operand
position.
- Add interface method 'getTiledImplementationFromOperandPosition' to
tiling interface which generate tiled implementation according to
operand position.
- Implemented the above two methods and supported consumer fusion for
FuseIntoContainingOp.
Signed-off-by: Donald Chen
Commit: e86ebe4ff8705ef30b332e2104ed1c84fc729966
https://github.com/llvm/llvm-project/commit/e86ebe4ff8705ef30b332e2104ed1c84fc729966
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/LTO/LTOBackend.cpp
A llvm/test/tools/llvm-split/target-specific-split.ll
M llvm/tools/llvm-split/CMakeLists.txt
M llvm/tools/llvm-split/llvm-split.cpp
Log Message:
-----------
[LTO] Allow target-specific module splittting (#83128)
Allow targets to implement custom module splitting logic for
--lto-partitions, see #89245
https://discourse.llvm.org/t/rfc-lto-target-specific-module-splittting/77252
Commit: abb958f1610becc0a753ad8f4308a90f85e1338f
https://github.com/llvm/llvm-project/commit/abb958f1610becc0a753ad8f4308a90f85e1338f
Author: martinboehme <mboehme at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/Transfer.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Model conditional operator correctly. (#89213)
Commit: 8ff6434546bcb4602bd079f4161f746956905c60
https://github.com/llvm/llvm-project/commit/8ff6434546bcb4602bd079f4161f746956905c60
Author: martinboehme <mboehme at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/Transfer.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
Revert "[clang][dataflow] Model conditional operator correctly." (#89577)
Reverts llvm/llvm-project#89213
This is causing buildbot failures.
Commit: d18ab0e1bd5032d213acb94ef70564d221f63fa7
https://github.com/llvm/llvm-project/commit/d18ab0e1bd5032d213acb94ef70564d221f63fa7
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/fabs.ll
M llvm/test/Transforms/InstCombine/intrinsic-select.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
[InstCombine] Fold fabs over selects (#86390)
This patch folds fabs over select if it is beneficial. I also tried
other interger/fp intrinsics. Only handling fabs shows benefit to some
real-world applications.
Commit: 83f7a3a21f6cfbc209b3ccf183abc57c8c51fcc9
https://github.com/llvm/llvm-project/commit/83f7a3a21f6cfbc209b3ccf183abc57c8c51fcc9
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/test/tools/llvm-split/target-specific-split.ll
Log Message:
-----------
[llvm-split] Require x86-registered-target for target-specific-split.ll
Commit: a4bacb0f42ee8bd9d09baaae0fc0ff4650fbef2b
https://github.com/llvm/llvm-project/commit/a4bacb0f42ee8bd9d09baaae0fc0ff4650fbef2b
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Remove redundant KnownBits smin and smax operations (#89519)
It turns out that if any of the operations can be zero, and neither of
the operands can be proven to be positive, it is possible for smax to be
zero, and KnownBits cannot prove otherwise even with KnownBits::smax. In
fact, proving it based on the KnownBits itself at that point without
increasing the depth is actually, provably impossible.
Same with smin.
This covers all the possible cases and is proven to be complete.
Commit: 7f975b6b4027c39d0e44e64a1a78d79d724ce8cf
https://github.com/llvm/llvm-project/commit/7f975b6b4027c39d0e44e64a1a78d79d724ce8cf
Author: David Green <david.green at arm.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-uzp.ll
M llvm/test/CodeGen/AArch64/arm64-zip.ll
Log Message:
-----------
[AArch64] Add tests for more undef lanes on zip/uzp. NFC
Commit: 3fbaad5a0c67d0a04739ccf51c180c7d829200a7
https://github.com/llvm/llvm-project/commit/3fbaad5a0c67d0a04739ccf51c180c7d829200a7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll
Log Message:
-----------
[VectorCombine] Add test coverage for #89390
Commit: 4cc9c6d98dfef90d1ffa69977d13ffa2894a10f7
https://github.com/llvm/llvm-project/commit/4cc9c6d98dfef90d1ffa69977d13ffa2894a10f7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfBinops - don't fold shuffle(divrem(x,y),divrem(z,w)) if mask contains poison
Fixes #89390
Commit: eef5798844a6ed489c28b37113f3bcaafd1d6e68
https://github.com/llvm/llvm-project/commit/eef5798844a6ed489c28b37113f3bcaafd1d6e68
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Create full type info for dummy pointers
Commit: 57c24eb0a7482ca7f661a2a9cb45249f1553d6d2
https://github.com/llvm/llvm-project/commit/57c24eb0a7482ca7f661a2a9cb45249f1553d6d2
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
Reland "[clang] CTAD: Fix require-clause is not transformed." (#89476)
This relands the c8e65e193d542464421ad4f9a9965d45b302ac0c, which was
reverted in b48ea2d394911efcc56880fde58f806282db1e8a due to the breakage
of windows builtbot.
The reland contains some adjustments in the lit test deduction-gudie.cpp, to
make the checking text less strict.
Commit: 57b267905110967860f35a3e97caf3260c681e6d
https://github.com/llvm/llvm-project/commit/57b267905110967860f35a3e97caf3260c681e6d
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
M mlir/include/mlir/IR/Value.h
Log Message:
-----------
Mark `mlir::Value::isa/dyn_cast/cast/...` member functions deprecated. (#89238)
See https://mlir.llvm.org/deprecation and
https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443/4
Commit: dc9664a8adae17f2083fbcc8e96cfce606c56d57
https://github.com/llvm/llvm-project/commit/dc9664a8adae17f2083fbcc8e96cfce606c56d57
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/Target/GenericOpcodes.td
Log Message:
-----------
CodeGen: Strengthen definition of F{MIN|MAX}NUM_IEEE nodes (#85195)
Previously these were declared as having the 2008 behavior, with
underspecified signed zero handling. Currently, AMDGPU, PPC and
LoongArch mark these as legal. The AMDGPU and PPC instructions respect
the signed zero behavior. The LoongArch documentation doesn't state, but
I'm assuming it also does.
Commit: 8b2e50bdda3c7cf68268ef23e9cc532797743511
https://github.com/llvm/llvm-project/commit/8b2e50bdda3c7cf68268ef23e9cc532797743511
Author: Christian Sigg <csigg at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm][bazel] Fix BUILD after e86ebe4ff8705ef30b332e2104ed1c84fc729966.
Commit: adb25477fb41dc42fc1abef75039dd7b60c05206
https://github.com/llvm/llvm-project/commit/adb25477fb41dc42fc1abef75039dd7b60c05206
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/tools/llvm-split/CMakeLists.txt
Log Message:
-----------
[llvm-split] Add missing TargetParser dependency
Commit: 6195e228eb2a7085fac53603f534d2401ab1ac39
https://github.com/llvm/llvm-project/commit/6195e228eb2a7085fac53603f534d2401ab1ac39
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
Revert "[clang][Interp] Create full type info for dummy pointers"
This reverts commit eef5798844a6ed489c28b37113f3bcaafd1d6e68.
This breaks two tests on an arm builder:
https://lab.llvm.org/buildbot/#/builders/245/builds/23496
Commit: 0ff992e5f210fdcbfdd1dcc3687c9aeabde318c3
https://github.com/llvm/llvm-project/commit/0ff992e5f210fdcbfdd1dcc3687c9aeabde318c3
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Get ComplexType directly
Instead of doing a isa<> + getAs<>
Commit: 6b6c7e46cc1e97b678e969bad78825dd02c11ff9
https://github.com/llvm/llvm-project/commit/6b6c7e46cc1e97b678e969bad78825dd02c11ff9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/test/AST/Interp/vectors.cpp
Log Message:
-----------
[clang][Interp][NFC] Test out-of-bounds access on vectors
Commit: e614e037f371e92499e19ada730f61e77d640780
https://github.com/llvm/llvm-project/commit/e614e037f371e92499e19ada730f61e77d640780
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Fix build with Unix Makefiles (#89147)
Commit #87622 broke the build. Ninja was happy with creating the output
directories as necessary, but Unix Makefiles isn't. Ensure they are
always created.
Fixes #88626.
Commit: c2d665b7aeb68f3e8e643ee9dfe5bb7dd31137e5
https://github.com/llvm/llvm-project/commit/c2d665b7aeb68f3e8e643ee9dfe5bb7dd31137e5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/vectors.cpp
Log Message:
-----------
[clang][Interp] Support ImplicitArrayInitExpr for vectors
Commit: bfd19445c38a2ad6a1def7ee9a1f8ff26a159caf
https://github.com/llvm/llvm-project/commit/bfd19445c38a2ad6a1def7ee9a1f8ff26a159caf
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
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/Optimizer/Transforms/AbstractResult.cpp
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/abstract-result-2.fir
M flang/test/Fir/abstract-results.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/non-trivial-procedure-binding-description.f90
Log Message:
-----------
[flang] de-duplicate AbstractResult pass (#88867)
This is the first proof of concept of the modification of FIR codegen to
fully support a variety of top level operations (beyond just func.func)
proposed in
https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations
Commit: c88b84d467a201129e329b0bca3425fef326db03
https://github.com/llvm/llvm-project/commit/c88b84d467a201129e329b0bca3425fef326db03
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitOR/visitORLike - merge repeated SDLoc calls.
Commit: bd84f5d5d71ee26d9552a9cd96ef058cfb8a39fc
https://github.com/llvm/llvm-project/commit/bd84f5d5d71ee26d9552a9cd96ef058cfb8a39fc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
Log Message:
-----------
clang: Remove unnecessary pointer bitcast
Commit: ca9a44ef4791931fe77d123709fa1a9d18f827fd
https://github.com/llvm/llvm-project/commit/ca9a44ef4791931fe77d123709fa1a9d18f827fd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitORCommutative - use sd_match to reduce the need for commutative operand matching. NFCI.
Use sd_match to match commutative inner AND/OR/XOR node arguments instead of some messy manual matching of each commutation.
Commit: 821935bb55449f708f822d0e381164ebbc33483c
https://github.com/llvm/llvm-project/commit/821935bb55449f708f822d0e381164ebbc33483c
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-shufflevector.mir
Log Message:
-----------
[AArch64][GlobalISel] Combine Shuffles of G_CONCAT_VECTORS (#87489)
Combines G_SHUFFLE_VECTOR whose sources comes from G_CONCAT_VECTORS into
a single G_CONCAT_VECTORS instruction.
a = G_CONCAT_VECTORS x, y, undef, undef
b = G_CONCAT_VECTORS z, undef, undef, undef
c = G_SHUFFLE_VECTORS a, b, <0, 1, 4, undef>
===>
c = G_CONCAT_VECTORS x, y, z, undef`
Commit: c8e5ad4e123a5fb082355947a896980464689c31
https://github.com/llvm/llvm-project/commit/c8e5ad4e123a5fb082355947a896980464689c31
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Verifier.h
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/arm64-abi_align.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
M llvm/test/Transforms/SROA/tbaa-struct3.ll
M llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll
M llvm/test/Transforms/Scalarizer/basic.ll
M llvm/test/Verifier/tbaa-struct.ll
Log Message:
-----------
Revert "[TBAA] Add verifier for tbaa.struct metadata (#86709)"
This reverts commit 7dbba39e583a3fd64e7e6b947251c035e483f054.
Revert as there are reports this triggers during ThinLTO in some
configurations.
Commit: fdc8c5440041ac53726d0b3587762ceeb8cbbb4f
https://github.com/llvm/llvm-project/commit/fdc8c5440041ac53726d0b3587762ceeb8cbbb4f
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
Log Message:
-----------
[flang][driver] Avoid mentions of Clang in Flang's command line reference. (#88932)
The help text was not updated in #87360.
Clang is also mentioned for the diagnostic warnings reference, which
mostly applies to C/C++/Obj-C, not Fortran. #81726 already tried to fix
this, and I don't know a better solution.
Commit: 087b33bbff1ab966656a81f9dd8e136fbd966f58
https://github.com/llvm/llvm-project/commit/087b33bbff1ab966656a81f9dd8e136fbd966f58
Author: abidh <haqadeer at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
A flang/test/Driver/debug-level.f90
Log Message:
-----------
[flang] Default -g to full debug info. (#89418)
Currently, -g defaults to line tables only. This PR changes that to full
debug information. This will allow us to test/use the upcoming debug
info changes.
Commit: 5b6db43f29ac5a114ce6c61010ddd6553c0770c0
https://github.com/llvm/llvm-project/commit/5b6db43f29ac5a114ce6c61010ddd6553c0770c0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/atomics-hw-remarks-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
Log Message:
-----------
AMDGPU: Simplify DS atomicrmw fadd handling (#89468)
DS atomic fadd F32 does respect the denormal mode, so we do not need to
consider the expected FP mode or unsafe-fp-atomics attribute. They don't
respect the rounding mode, but we don't care outside of strictfp. This
also reveals the fp-mode-is-flush check has been missing in the cases
that should be considering it alongside amdgpu-unsafe-fp-atomics.
This also stops considering the case where flushing is enabled for f64,
as flushing isn't mandated and we barely handle this case.
Commit: 093171b053838020a30c7710015c56c88d51c7ef
https://github.com/llvm/llvm-project/commit/093171b053838020a30c7710015c56c88d51c7ef
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/debug-options.c
Log Message:
-----------
[Clang] Fix template alias default DWARF version (#89594)
DW_TAG_template_alias DIEs were added in DWARFv4, not DWARFv5
Commit: b7db392b687463e1f2815279e7dc4554b2ccb83f
https://github.com/llvm/llvm-project/commit/b7db392b687463e1f2815279e7dc4554b2ccb83f
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.def
A llvm/test/tools/llvm-dwarfdump/X86/verify_template_alias.yaml
Log Message:
-----------
Fix DW_TAG_template_alias refs in llvm-dwarfdump --verify (#89589)
A DW_TAG_template_alias referenced by a DW_AT_type incorrectly produces
the error:
error: DIE has DW_AT_type with incompatible tag DW_TAG_template_alias
Fix and add test.
Commit: a2692ac23f1421097f0d51c7325045ed38db6408
https://github.com/llvm/llvm-project/commit/a2692ac23f1421097f0d51c7325045ed38db6408
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/tools/llvm-split/llvm-split.cpp
Log Message:
-----------
[llvm-split] Correctly deallocate TargetMachine
Should fix the ASAN error.
Commit: 10654e46d28ef0dd483a63dfc5e2bcfd9ea7e86a
https://github.com/llvm/llvm-project/commit/10654e46d28ef0dd483a63dfc5e2bcfd9ea7e86a
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[KnownBitsTest] Common up isCorrect and isOptimal. NFC. (#89585)
This de-duplicates the code that prints useful information when a test
fails.
Commit: c93f02978c33897615a312a85c6149911544ad63
https://github.com/llvm/llvm-project/commit/c93f02978c33897615a312a85c6149911544ad63
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[VPlan] Remove custom checks for EVL placement in verifier (NFCI).
After e2a72fa583d9, def-use chains of EVL are modeled explicitly.
So there's no need for a custom check of its placement, as regular
def-use verification will catch mis-placements.
Commit: f0cbdd3e352a1d45965be686f48eee51159bb218
https://github.com/llvm/llvm-project/commit/f0cbdd3e352a1d45965be686f48eee51159bb218
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[KnownBitsTest] Print name of function when exhaustive tests fail (#89588)
When exhaustive unary/binary tests fail, print the name of the function
being tested as well as the values of the inputs and outputs.
Example of a simulated failure in testing "udiv exact":
unittests/Support/KnownBitsTest.cpp:99: Failure
Value of: checkResult(Name, Exact, Computed, {Known1, Known2},
CheckOptimality)
Actual: false (udiv exact: Inputs = ???1, ????, Computed = ???1, Exact =
0???)
Expected: true
Commit: e4f7c524d7f3efa1e819ca2e2d835c8f4c5765f4
https://github.com/llvm/llvm-project/commit/e4f7c524d7f3efa1e819ca2e2d835c8f4c5765f4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
AMDGPU: Refactor atomicrmw fadd expansion logic (NFC) (#89469)
This had some repeated and overlapping conditions, which
made it more difficult to handle the new metadata scheme. Reflow
the function to handle the easy LDS cases first. For the flat/global
cases, write in a positive-enabled style where everything unhandled
hits a default cmpxchg.
Depends #89468
Commit: 2e7bd22b37cd6f4e266d0512220b983144d9be0b
https://github.com/llvm/llvm-project/commit/2e7bd22b37cd6f4e266d0512220b983144d9be0b
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/Passes/PassBuilder.h
Log Message:
-----------
[NFC] Fix comments in PassBuilder functions (#89513)
The original comments mention `addPreLinkLTODefaultPipeline`, but I
could not find any functions with this name, even in
https://reviews.llvm.org/D33540
(8b3be4e59d861130746206e41ae42c918bc165df) where this comment was added.
I assume they meant to refer to `buildThinLTOPreLinkDefaultPipeline` and
`buildLTOPreLinkDefaultPipeline` and so this patch uses them.
Commit: 5597d97e9982d8f87c9226898f90c5875b498f71
https://github.com/llvm/llvm-project/commit/5597d97e9982d8f87c9226898f90c5875b498f71
Author: aniplcc <aniplccode at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/utils/TableGen/MveEmitter.cpp
Log Message:
-----------
[clang] MveEmitter: Pass Args as a const reference (#89551)
Closes #89192.
Commit: 8e45935824a905dec7739ea8c95af5fdf2c0c123
https://github.com/llvm/llvm-project/commit/8e45935824a905dec7739ea8c95af5fdf2c0c123
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
Log Message:
-----------
[RemoveDIs] Make verify-uselistorder preserve the input debug info format (#87789)
Verify-uselistorder wants to take some input IR and verify that the
uselist order is stable after roundtripping to bitcode and assembly.
This is disrupted if the file is converted between the new and old debug
info formats after parsing - while there's no functional difference, the
change to the in-memory representation of the IR modifies the uselist.
This patch changes verify-uselistorder to not convert input files
between debug info formats by default, preventing changes from being
made to the file being checked. In addition, this patch makes it so that
when we _do_ print IR in the new debug info format to bitcode or
assembly, we delete any lingering debug intrinsic declarations, ensuring
that we don't write uselist entries for them.
Commit: 103f1be76fbb82ef8ed95b6112d914d4996e27be
https://github.com/llvm/llvm-project/commit/103f1be76fbb82ef8ed95b6112d914d4996e27be
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] getRecord() might return null
Commit: 15883684a72cf6c64d856a11f8cd10b3a332dbcf
https://github.com/llvm/llvm-project/commit/15883684a72cf6c64d856a11f8cd10b3a332dbcf
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Fix casting pointers to int128
Commit: 346d2c0268a552abecdc9b7f7a4da860dc4235a5
https://github.com/llvm/llvm-project/commit/346d2c0268a552abecdc9b7f7a4da860dc4235a5
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[KnownBitsTest] Standardize variable names in exhaustive tests
Commit: e2754890ca75d64b3acb9b8655874421aed8f9cb
https://github.com/llvm/llvm-project/commit/e2754890ca75d64b3acb9b8655874421aed8f9cb
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
R libcxx/include/libcxx.imp
M libcxx/utils/CMakeLists.txt
M libcxx/utils/generate_iwyu_mapping.py
Log Message:
-----------
[libc++] Don't commit libcxx.imp (#89391)
We can instead generate it on-the-fly when we install the headers. This
reduces the amount of boilerplate we have to re-generate whenever we
add, remove or relocate header files.
Fixes #88529
Commit: c61f0a8e94004b05d9ec115d3bff8cff331b4491
https://github.com/llvm/llvm-project/commit/c61f0a8e94004b05d9ec115d3bff8cff331b4491
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
Log Message:
-----------
[libc++] Remove stray CMake install step for modulemap file (#89394)
The modulemap file is not generated anymore, so it's just part of our
list of includes and gets installed like every other header. We don't
need a special step to install it anymore. This was overlooked when I
removed the generation of the modulemap file.
Commit: e8b31fb39d9728e7505dfee7630158f14bc224de
https://github.com/llvm/llvm-project/commit/e8b31fb39d9728e7505dfee7630158f14bc224de
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M mlir/docs/Tutorials/transform/ChH.md
Log Message:
-----------
[mlir] fix latex formulas in the tutorial
Commit: 35b292efc6fc31b884255d7cb46db7d6346c6f46
https://github.com/llvm/llvm-project/commit/35b292efc6fc31b884255d7cb46db7d6346c6f46
Author: Steven Varoumas <steven.varoumas1 at huawei.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
M mlir/test/Dialect/Linalg/hoisting.mlir
Log Message:
-----------
[mlir][Hoisting] Hoisting vector.extract/vector.broadcast pairs (#86108)
This transformation, inspired by what is done in
hoist_redundant_transfers, hoists pairs of extract/broadcast operations
out of scf.for loops.
It changes a loop of the form:
```
%res = scf.for _ = _ to _ step _ iter_args(%iarg = %v) -> (t1) {
%e = vector.extract %iarg : t1 to t2
%u = "some_use"(%e) : (t2) -> t2
%b = vector.broadcast %u : t2 to t1
scf.yield %b : t1
}
```
into the following:
```
%e = vector.extract %v: t1 to t2
%res' = scf.for _ = _ to _ step _ iter_args(%iarg = %e) -> (t2) {
%u' = "some_use"(%iarg) : (t2) -> t2
scf.yield %u' : t2
}
%res = vector.broadcast %res' : t2 to t1
```
Commit: c7e0f1e988d73555d1da7474528996e748622f42
https://github.com/llvm/llvm-project/commit/c7e0f1e988d73555d1da7474528996e748622f42
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pmaddubsw.ll
Log Message:
-----------
[X86] Allow input vector extracted from larger vector when combining to VPMADDUBSW (#89584)
Failed on main trunk: https://godbolt.org/z/edWMz8chE
Commit: b099dd693c729e19b0343e4551bb764369997376
https://github.com/llvm/llvm-project/commit/b099dd693c729e19b0343e4551bb764369997376
Author: David Green <david.green at arm.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/sve-reassocadd.ll
Log Message:
-----------
[AArch64] Add some tests for reassociated addressing modes. NFC
Commit: 0accda7f17a1f85b4270edf4f0976c55de4e958c
https://github.com/llvm/llvm-project/commit/0accda7f17a1f85b4270edf4f0976c55de4e958c
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaStmtAttr.cpp
A clang/test/Sema/unroll-template-value-crash.cpp
Log Message:
-----------
[Clang] Fix a crash introduced in PR#88666 (#89567)
Commit: fe28a0e4823f59d193a14a07d12e3f60555350e0
https://github.com/llvm/llvm-project/commit/fe28a0e4823f59d193a14a07d12e3f60555350e0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Document reasoning in multiple places in isDependent (NFC). (#89381)
As suggested in https://github.com/llvm/llvm-project/pull/88039, add
extra documentation for reasoning in isDependent.
PR: https://github.com/llvm/llvm-project/pull/89381
Commit: 5198923c70bb5b91b07e15ce141339d778322635
https://github.com/llvm/llvm-project/commit/5198923c70bb5b91b07e15ce141339d778322635
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/resolve03.f90
Log Message:
-----------
[flang][OpenMP] Allow common blocks in nested directives (#88430)
COMMON block names must be declared in the same scoping unit in
which the OpenMP directive or clause appears, but OpenMP
constructs must not be considered as scoping units. Instead,
consider only program units and block constructs as such.
Commit: 36c8af66e08e10b42e964765c9b24dcc60fdf4c0
https://github.com/llvm/llvm-project/commit/36c8af66e08e10b42e964765c9b24dcc60fdf4c0
Author: Alex Zinenko <zinenko at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
A mlir/docs/Dialects/Polynomial.md
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
Log Message:
-----------
[mlir] fix polynomial dialect docs
Some docs were emitted into the wrong location (Polynomial/ instead of
Dialect/). Furthermore, `-gen-dialect-docs` subsumes
`-gen-attr/typedef-docs` so the latter are not required.
Add a top-level entry that includes both other files in a proper order.
Commit: 024c3d0c079fd9297725c35082316f2ca29c9526
https://github.com/llvm/llvm-project/commit/024c3d0c079fd9297725c35082316f2ca29c9526
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Program.cpp
Log Message:
-----------
[clang][Interp][NFC] Refactor Program::getGlobal()
Move the iterator declarations into the if statements and return
std::nullopt explicitly.
Commit: abca85b3f7d5d3a1ae8dfea37d41e913c67b9bab
https://github.com/llvm/llvm-project/commit/abca85b3f7d5d3a1ae8dfea37d41e913c67b9bab
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/Program.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Remove faulty assertion
The assertion doesn't work if there are multiple declarations for
a variable involved.
Commit: 5ef5eb66fb428aaf61fb51b709f065c069c11242
https://github.com/llvm/llvm-project/commit/5ef5eb66fb428aaf61fb51b709f065c069c11242
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Opcodes.td
M clang/test/SemaCXX/cxx23-assume.cpp
Log Message:
-----------
[clang][Interp] Implement C++23 [[assume]] support
Commit: ef1d19b0a58f92241963a1403905e8b0a8484b5f
https://github.com/llvm/llvm-project/commit/ef1d19b0a58f92241963a1403905e8b0a8484b5f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-reduced.ll
Log Message:
-----------
[SLP]Fix PR89438: check for all tree entries for the resized value.
Need to check all possible entries, before trying looking for the
minbitwidth in the user node. Otherwise we may incorrectly get
signedness info.
Commit: 1fb3ea6ded051e1e78aed96435b830920b59ac56
https://github.com/llvm/llvm-project/commit/1fb3ea6ded051e1e78aed96435b830920b59ac56
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-split/BUILD.gn
Log Message:
-----------
[gn] port e86ebe4ff870 (llvm-split target dep)
Commit: 9803196849bd9c473aba7ead03da9aee5591f373
https://github.com/llvm/llvm-project/commit/9803196849bd9c473aba7ead03da9aee5591f373
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M libcxx/test/support/invocable_with_telemetry.h
Log Message:
-----------
[libc++][NFC] Fix unparenthesized comma expression in mem-initializer (#89605)
#84050 resolves class member access expressions naming members of the
current instantiation prior to instantiation. In testing, it has
revealed a mem-initializer in the move constructor of
`invocable_with_telemetry` that uses an unparenthesized comma expression
to initialize a non-static data member of pointer type. This patch fixes it.
Commit: 9ef9db7087fe6ce00a84f1456fce9f2e98db0769
https://github.com/llvm/llvm-project/commit/9ef9db7087fe6ce00a84f1456fce9f2e98db0769
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
Log Message:
-----------
[lldb][DWARF] Remove m_forward_decl_die_to_compiler_type as it never actually being used. (#89427)
This removes `m_forward_decl_die_to_compiler_type` which is a map from
`const DWARFDebugInfoEntry *` to `lldb::opaque_compiler_type_t`. This
map is currently used in `DWARFASTParserClang::ParseEnum` and
`DWARFASTParserClang::ParseStructureLikeDIE` to avoid creating duplicate
CompilerType for the specific DIE. But before entering these two
functions in `DWARFASTParserClang::ParseTypeFromDWARF`, we already
checked with `SymbolFileDWARF::GetDIEToType()` if we have a Type created
from this DIE to avoid trying to parse the same DIE twice. So, this map
is unnecessary and not useful.
Commit: 70abbd9084e25d2485edfeb252b603b3910a23bc
https://github.com/llvm/llvm-project/commit/70abbd9084e25d2485edfeb252b603b3910a23bc
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-traits.cpp
Log Message:
-----------
[AST] Dump argument types for TypeTraitExpr. (#89370)
The argument types are not modeled as children of TypeTraitExpr,
therefore they are not dumped with the default implementation.
Dumping them is really useful for ad-hoc debugging, context #89358
Commit: 5138ccd0e479d1702c2adefe1cd611e1aebe2f8b
https://github.com/llvm/llvm-project/commit/5138ccd0e479d1702c2adefe1cd611e1aebe2f8b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll
Log Message:
-----------
[LAA] Add etra tests with strides with different signs.
Extra tests with strides with different signs for
https://github.com/llvm/llvm-project/pull/88039.
Commit: bddfbe748ba5fa4363bb343687841f5f389e38f8
https://github.com/llvm/llvm-project/commit/bddfbe748ba5fa4363bb343687841f5f389e38f8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/AArch64/interleavevectorization.ll
M llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
M llvm/test/Transforms/VectorCombine/X86/pr67803.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfShuffles - fold "shuffle (shuffle x, undef), (shuffle y, undef)" -> "shuffle x, y" (#88743)
Another step towards cleaning up shuffles that have been split, often across bitcasts between SSE intrinsic.
Strip shuffles entirely if we fold to an identity shuffle.
Commit: cce4dc7b7a80347c2ef9ad3d55091dbe7adddcb6
https://github.com/llvm/llvm-project/commit/cce4dc7b7a80347c2ef9ad3d55091dbe7adddcb6
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
A llvm/test/CodeGen/SystemZ/zos-ret-addr.ll
Log Message:
-----------
[SystemZ][z/OS] Implement llvm.returnaddress for XPLINK (#89440)
The implementation follows the ELF implementation.
Commit: 19a625a0a7798da030e8d2174a5a243aa565f644
https://github.com/llvm/llvm-project/commit/19a625a0a7798da030e8d2174a5a243aa565f644
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/external-use-icmp.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect size of the external user detection.
Commit: 102a8110943bf18fab923e01610a693587a01945
https://github.com/llvm/llvm-project/commit/102a8110943bf18fab923e01610a693587a01945
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/external-use-icmp.ll
Log Message:
-----------
[SLP]Fix a check for multi-users for icmp user.
The compiler should not take into account the type of the cmp
instruction, otherwise it may treat the size incorrectly and it may lead
to incorrect codegen.
Commit: 6bd29d66398d54869670f237c0ffd34ca84b7abe
https://github.com/llvm/llvm-project/commit/6bd29d66398d54869670f237c0ffd34ca84b7abe
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/phi-reordered-reshuffled.ll
Log Message:
-----------
[SLP]Fix PR89614: phis can be reordered, if reuses are not empty.
Need to relax assertion and check ReuseShuffleIndices is not empty, if
the root phi node has reorder indices.
Commit: 5c4b923c727767c9e6ad16324c559a1a92616171
https://github.com/llvm/llvm-project/commit/5c4b923c727767c9e6ad16324c559a1a92616171
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.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/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/SemaTemplate/instantiate-using-decl.cpp
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
Log Message:
-----------
Reapply "[Clang][Sema] Fix crash when 'this' is used in a dependent class scope function template specialization that instantiates to a static member function (#87541, #88311)" (#88731)
Reapplies #87541 and #88311 (again) addressing the bug which caused
expressions naming overload sets to be incorrectly rebuilt, as well as
the bug which caused base class members to always be treated as overload
sets.
The primary change since #88311 is `UnresolvedLookupExpr::Create` is called directly in `BuildPossibleImplicitMemberExpr` with `KnownDependent` as `true` (which causes the expression type to be set to `ASTContext::DependentTy`). This ensures that any further semantic analysis involving the type of the potentially implicit class member access expression is deferred until instantiation.
Commit: dc20a0ea1fd04a2ef95eb5c73e9f88357fc5f694
https://github.com/llvm/llvm-project/commit/dc20a0ea1fd04a2ef95eb5c73e9f88357fc5f694
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.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/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
A clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'num_gangs' sema for compute constructs (#89460)
num_gangs takes an 'int-expr-list', for 'parallel', and an 'int-expr'
for 'kernels'. This patch changes the parsing to always parse it as an
'int-expr-list', then correct the expression count during Sema. It also
implements the rest of the semantic analysis changes for this clause.
Commit: 947cd677083d69412b5a900d8fad59e3062c4875
https://github.com/llvm/llvm-project/commit/947cd677083d69412b5a900d8fad59e3062c4875
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Interp/IntegralAP.h
A clang/test/Sema/bitint-bitfield-promote.c
Log Message:
-----------
[C23] Select the correct promoted type for a bit-field (#89254)
Bit-fields of bit-precise integer type do not promote to int, but
instead promote to the type of the field.
Fixes #87641
Commit: 583795e1ca7c331a9e5a12a7829b572625321f92
https://github.com/llvm/llvm-project/commit/583795e1ca7c331a9e5a12a7829b572625321f92
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXPeephole.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.h
Log Message:
-----------
[NVPTX][NFCI] Use DataLayout to determine short shared/local/const pointers (#89404)
Use the datalayout directly to determine the correct `cvta` instruction
for converting shared/local/const pointers. This is cleaner as it
eliminates the need to keep a redundant copy of this info in the TM and
makes clear which address spaces short pointers are applicable for.
Commit: 60535229dd640efacc9d3dfc1cddecc718640067
https://github.com/llvm/llvm-project/commit/60535229dd640efacc9d3dfc1cddecc718640067
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/stack-protector-target.ll
Log Message:
-----------
[RISCV] Precommit stack protector checks for Linux and Android (#87679)
Upcoming patches will add TP relative stack checks for Android, and
Linux currently uses the default GOT based stack protector.
Commit: 7c581b554efa7c720b780f721877107ae0fc78ff
https://github.com/llvm/llvm-project/commit/7c581b554efa7c720b780f721877107ae0fc78ff
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[Clang][Sema] Remove unused function after #88731 (#89618)
Removes an unused static function `IsOverloaded` from `SemaOverload.cpp`
that is unused after #88731.
Commit: 6ad22c879aab88b6bb0531eeb3a6708a82f88cf6
https://github.com/llvm/llvm-project/commit/6ad22c879aab88b6bb0531eeb3a6708a82f88cf6
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/CMakeLists.txt
A compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
A compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
A compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
A compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
A compiler-rt/lib/ctx_profile/tests/driver.cpp
Log Message:
-----------
[compiler-rt][ctx_instr] Add `ctx_profile` component (#89304)
Add the component structure for contextual instrumented PGO and the bump allocator + test.
(Tracking Issue: #89287, RFC referenced there)
Commit: 0ab0c1d982876662a45adb9bafaa3c2d3bdf1939
https://github.com/llvm/llvm-project/commit/0ab0c1d982876662a45adb9bafaa3c2d3bdf1939
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-vectorized.ll
Log Message:
-----------
[SLP]Introduce transformNodes() and transform loads + reverse to strided loads.
Introduced transformNodes() function to perform transformation of the
nodes (cost-based, instruction count based, etc.).
Implemented transformation of consecutive loads + reverse order to
strided loads with stride -1, if profitable.
Reviewers: RKSimon, preames, topperc
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/88530
Commit: 832d3a42c34eee2a6ca323ef97a1c6fe14c1f651
https://github.com/llvm/llvm-project/commit/832d3a42c34eee2a6ca323ef97a1c6fe14c1f651
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
Log Message:
-----------
[X86] gfni-funnel-shifts.ll - add vXi8 variable/splat/constant test coverage
Once #89115 has landed, we can handle per-element rotates as well using (V)GF2P8MULB
Commit: 8b2ba6a144e728ee4116e2804e9b5aed8824e726
https://github.com/llvm/llvm-project/commit/8b2ba6a144e728ee4116e2804e9b5aed8824e726
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/CMakeLists.txt
R compiler-rt/lib/ctx_profile/CMakeLists.txt
R compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
R compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
R compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
R compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
R compiler-rt/lib/ctx_profile/tests/driver.cpp
Log Message:
-----------
Revert "[compiler-rt][ctx_instr] Add `ctx_profile` component" (#89625)
Reverts llvm/llvm-project#89304
Some build bot failures - will fix and reland.
Example: https://lab.llvm.org/buildbot/#/builders/165/builds/52789
Commit: c4c54af569f7c17bc89ae73c3e5c5c4be0a586b9
https://github.com/llvm/llvm-project/commit/c4c54af569f7c17bc89ae73c3e5c5c4be0a586b9
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/any.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/lerp.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rcp.ll
Log Message:
-----------
[SPIRV][HLSL] map lerp to Fmix (#88976)
- `clang/lib/CodeGen/CGBuiltin.cpp` - switch to using
`getLerpIntrinsic()` to abstract backend intrinsic
- `clang/lib/CodeGen/CGHLSLRuntime.h` - add `getLerpIntrinsic()`
- `llvm/include/llvm/IR/IntrinsicsSPIRV.td` - add SPIRV intrinsic for
lerp
- `llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp` - add mapping of
HLSL's lerp to GLSL's Fmix.
resolves #88940
Commit: b6628c24ef017138b8d6eb288e94c141e7c846b0
https://github.com/llvm/llvm-project/commit/b6628c24ef017138b8d6eb288e94c141e7c846b0
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
Log Message:
-----------
[Clang] Fix crash on invalid size in user-defined `static_assert` message (#89420)
This addresses two problems observed in #89407 wrt user-defined
`static_assert` messages:
1. In `Expr::EvaluateCharRangeAsString`, we were calling `getExtValue()`
instead of `getZExtValue()`, which would assert if a negative or very
large number was returned from `size()`.
2. If the value could not be converted to `std::size_t`, attempting to
diagnose that would crash because `ext_cce_narrowing` was missing two
`%select` cases.
This fixes #89407.
Commit: 330d8983d25d08580fc1642fea48b2473f47a9da
https://github.com/llvm/llvm-project/commit/330d8983d25d08580fc1642fea48b2473f47a9da
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/CMakeLists.txt
A offload/CMakeLists.txt
A offload/DeviceRTL/CMakeLists.txt
A offload/DeviceRTL/include/Allocator.h
A offload/DeviceRTL/include/Configuration.h
A offload/DeviceRTL/include/Debug.h
A offload/DeviceRTL/include/Interface.h
A offload/DeviceRTL/include/LibC.h
A offload/DeviceRTL/include/Mapping.h
A offload/DeviceRTL/include/State.h
A offload/DeviceRTL/include/Synchronization.h
A offload/DeviceRTL/include/Types.h
A offload/DeviceRTL/include/Utils.h
A offload/DeviceRTL/include/generated_microtask_cases.gen
A offload/DeviceRTL/src/Allocator.cpp
A offload/DeviceRTL/src/Configuration.cpp
A offload/DeviceRTL/src/Debug.cpp
A offload/DeviceRTL/src/Kernel.cpp
A offload/DeviceRTL/src/LibC.cpp
A offload/DeviceRTL/src/Mapping.cpp
A offload/DeviceRTL/src/Misc.cpp
A offload/DeviceRTL/src/Parallelism.cpp
A offload/DeviceRTL/src/Reduction.cpp
A offload/DeviceRTL/src/State.cpp
A offload/DeviceRTL/src/Stub.cpp
A offload/DeviceRTL/src/Synchronization.cpp
A offload/DeviceRTL/src/Tasking.cpp
A offload/DeviceRTL/src/Utils.cpp
A offload/DeviceRTL/src/Workshare.cpp
A offload/DeviceRTL/src/exports
A offload/README.txt
A offload/cmake/Modules/LibomptargetGetDependencies.cmake
A offload/cmake/Modules/LibomptargetUtils.cmake
A offload/cmake/OpenMPTesting.cmake
A offload/docs/declare_target_indirect.md
A offload/include/DeviceImage.h
A offload/include/ExclusiveAccess.h
A offload/include/OffloadEntry.h
A offload/include/OffloadPolicy.h
A offload/include/OpenMP/InternalTypes.h
A offload/include/OpenMP/InteropAPI.h
A offload/include/OpenMP/Mapping.h
A offload/include/OpenMP/OMPT/Callback.h
A offload/include/OpenMP/OMPT/Connector.h
A offload/include/OpenMP/OMPT/Interface.h
A offload/include/OpenMP/omp.h
A offload/include/PluginManager.h
A offload/include/Shared/APITypes.h
A offload/include/Shared/Debug.h
A offload/include/Shared/Environment.h
A offload/include/Shared/EnvironmentVar.h
A offload/include/Shared/PluginAPI.h
A offload/include/Shared/PluginAPI.inc
A offload/include/Shared/Profile.h
A offload/include/Shared/Requirements.h
A offload/include/Shared/SourceInfo.h
A offload/include/Shared/Utils.h
A offload/include/Utils/ExponentialBackoff.h
A offload/include/device.h
A offload/include/omptarget.h
A offload/include/rtl.h
A offload/plugins-nextgen/CMakeLists.txt
A offload/plugins-nextgen/amdgpu/CMakeLists.txt
A offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
A offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
A offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
A offload/plugins-nextgen/amdgpu/src/rtl.cpp
A offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
A offload/plugins-nextgen/common/CMakeLists.txt
A offload/plugins-nextgen/common/OMPT/OmptCallback.cpp
A offload/plugins-nextgen/common/include/DLWrap.h
A offload/plugins-nextgen/common/include/GlobalHandler.h
A offload/plugins-nextgen/common/include/JIT.h
A offload/plugins-nextgen/common/include/MemoryManager.h
A offload/plugins-nextgen/common/include/PluginInterface.h
A offload/plugins-nextgen/common/include/RPC.h
A offload/plugins-nextgen/common/include/Utils/ELF.h
A offload/plugins-nextgen/common/src/GlobalHandler.cpp
A offload/plugins-nextgen/common/src/JIT.cpp
A offload/plugins-nextgen/common/src/PluginInterface.cpp
A offload/plugins-nextgen/common/src/RPC.cpp
A offload/plugins-nextgen/common/src/Utils/ELF.cpp
A offload/plugins-nextgen/cuda/CMakeLists.txt
A offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
A offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
A offload/plugins-nextgen/cuda/src/rtl.cpp
A offload/plugins-nextgen/exports
A offload/plugins-nextgen/host/CMakeLists.txt
A offload/plugins-nextgen/host/dynamic_ffi/ffi.cpp
A offload/plugins-nextgen/host/dynamic_ffi/ffi.h
A offload/plugins-nextgen/host/src/rtl.cpp
A offload/src/CMakeLists.txt
A offload/src/DeviceImage.cpp
A offload/src/LegacyAPI.cpp
A offload/src/OffloadRTL.cpp
A offload/src/OpenMP/API.cpp
A offload/src/OpenMP/InteropAPI.cpp
A offload/src/OpenMP/Mapping.cpp
A offload/src/OpenMP/OMPT/Callback.cpp
A offload/src/PluginManager.cpp
A offload/src/device.cpp
A offload/src/exports
A offload/src/interface.cpp
A offload/src/omptarget.cpp
A offload/src/private.h
A offload/test/CMakeLists.txt
A offload/test/Inputs/basic_array.f90
A offload/test/Inputs/declare_indirect_func.c
A offload/test/api/assert.c
A offload/test/api/is_initial_device.c
A offload/test/api/omp_device_managed_memory.c
A offload/test/api/omp_device_managed_memory_alloc.c
A offload/test/api/omp_device_memory.c
A offload/test/api/omp_dynamic_shared_memory.c
A offload/test/api/omp_dynamic_shared_memory_amdgpu.c
A offload/test/api/omp_dynamic_shared_memory_mixed.inc
A offload/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
A offload/test/api/omp_dynamic_shared_memory_mixed_nvptx.c
A offload/test/api/omp_env_vars.c
A offload/test/api/omp_get_device_num.c
A offload/test/api/omp_get_mapped_ptr.c
A offload/test/api/omp_get_num_devices.c
A offload/test/api/omp_get_num_devices_with_empty_target.c
A offload/test/api/omp_get_num_procs.c
A offload/test/api/omp_host_pinned_memory.c
A offload/test/api/omp_host_pinned_memory_alloc.c
A offload/test/api/omp_indirect_call.c
A offload/test/api/omp_target_memcpy_async1.c
A offload/test/api/omp_target_memcpy_async2.c
A offload/test/api/omp_target_memcpy_rect_async1.c
A offload/test/api/omp_target_memcpy_rect_async2.c
A offload/test/api/omp_target_memset.c
A offload/test/api/ompx_3d.c
A offload/test/api/ompx_3d.cpp
A offload/test/api/ompx_sync.c
A offload/test/api/ompx_sync.cpp
A offload/test/env/base_ptr_ref_count.c
A offload/test/env/omp_target_debug.c
A offload/test/jit/empty_kernel.inc
A offload/test/jit/empty_kernel_lvl1.c
A offload/test/jit/empty_kernel_lvl2.c
A offload/test/jit/type_punning.c
A offload/test/libc/assert.c
A offload/test/libc/fwrite.c
A offload/test/libc/global_ctor_dtor.cpp
A offload/test/libc/host_call.c
A offload/test/libc/malloc.c
A offload/test/libc/puts.c
A offload/test/lit.cfg
A offload/test/lit.site.cfg.in
A offload/test/mapping/alloc_fail.c
A offload/test/mapping/array_section_implicit_capture.c
A offload/test/mapping/array_section_use_device_ptr.c
A offload/test/mapping/auto_zero_copy.cpp
A offload/test/mapping/auto_zero_copy_apu.cpp
A offload/test/mapping/auto_zero_copy_globals.cpp
A offload/test/mapping/data_absent_at_exit.c
A offload/test/mapping/data_member_ref.cpp
A offload/test/mapping/declare_mapper_api.cpp
A offload/test/mapping/declare_mapper_nested_default_mappers.cpp
A offload/test/mapping/declare_mapper_nested_default_mappers_array.cpp
A offload/test/mapping/declare_mapper_nested_default_mappers_array_subscript.cpp
A offload/test/mapping/declare_mapper_nested_default_mappers_complex_structure.cpp
A offload/test/mapping/declare_mapper_nested_default_mappers_ptr_subscript.cpp
A offload/test/mapping/declare_mapper_nested_default_mappers_var.cpp
A offload/test/mapping/declare_mapper_nested_mappers.cpp
A offload/test/mapping/declare_mapper_target.cpp
A offload/test/mapping/declare_mapper_target_data.cpp
A offload/test/mapping/declare_mapper_target_data_enter_exit.cpp
A offload/test/mapping/declare_mapper_target_update.cpp
A offload/test/mapping/delete_inf_refcount.c
A offload/test/mapping/device_ptr_update.c
A offload/test/mapping/firstprivate_aligned.cpp
A offload/test/mapping/has_device_addr.cpp
A offload/test/mapping/implicit_device_ptr.c
A offload/test/mapping/is_device_ptr.cpp
A offload/test/mapping/lambda_by_value.cpp
A offload/test/mapping/lambda_mapping.cpp
A offload/test/mapping/low_alignment.c
A offload/test/mapping/map_back_race.cpp
A offload/test/mapping/ompx_hold/omp_target_disassociate_ptr.c
A offload/test/mapping/ompx_hold/struct.c
A offload/test/mapping/ompx_hold/target-data.c
A offload/test/mapping/ompx_hold/target.c
A offload/test/mapping/padding_not_mapped.c
A offload/test/mapping/power_of_two_alignment.c
A offload/test/mapping/pr38704.c
A offload/test/mapping/prelock.cpp
A offload/test/mapping/present/target.c
A offload/test/mapping/present/target_array_extension.c
A offload/test/mapping/present/target_data.c
A offload/test/mapping/present/target_data_array_extension.c
A offload/test/mapping/present/target_data_at_exit.c
A offload/test/mapping/present/target_enter_data.c
A offload/test/mapping/present/target_exit_data_delete.c
A offload/test/mapping/present/target_exit_data_release.c
A offload/test/mapping/present/target_update.c
A offload/test/mapping/present/target_update_array_extension.c
A offload/test/mapping/present/unified_shared_memory.c
A offload/test/mapping/present/zero_length_array_section.c
A offload/test/mapping/present/zero_length_array_section_exit.c
A offload/test/mapping/private_mapping.c
A offload/test/mapping/ptr_and_obj_motion.c
A offload/test/mapping/reduction_implicit_map.cpp
A offload/test/mapping/target_data_array_extension_at_exit.c
A offload/test/mapping/target_derefence_array_pointrs.cpp
A offload/test/mapping/target_has_device_addr.c
A offload/test/mapping/target_implicit_partial_map.c
A offload/test/mapping/target_map_for_member_data.cpp
A offload/test/mapping/target_pointers_members_map.cpp
A offload/test/mapping/target_update_array_extension.c
A offload/test/mapping/target_use_device_addr.c
A offload/test/mapping/target_uses_allocator.c
A offload/test/mapping/target_wrong_use_device_addr.c
A offload/test/offloading/assert.cpp
A offload/test/offloading/atomic-compare-signedness.c
A offload/test/offloading/back2back_distribute.c
A offload/test/offloading/barrier_fence.c
A offload/test/offloading/bug47654.cpp
A offload/test/offloading/bug49021.cpp
A offload/test/offloading/bug49334.cpp
A offload/test/offloading/bug49779.cpp
A offload/test/offloading/bug50022.cpp
A offload/test/offloading/bug51781.c
A offload/test/offloading/bug51982.c
A offload/test/offloading/bug53727.cpp
A offload/test/offloading/bug64959.c
A offload/test/offloading/bug64959_compile_only.c
A offload/test/offloading/bug74582.c
A offload/test/offloading/complex_reduction.cpp
A offload/test/offloading/ctor_dtor.cpp
A offload/test/offloading/cuda_no_devices.c
A offload/test/offloading/d2d_memcpy.c
A offload/test/offloading/d2d_memcpy_sync.c
A offload/test/offloading/default_thread_limit.c
A offload/test/offloading/dynamic_module.c
A offload/test/offloading/dynamic_module_load.c
A offload/test/offloading/extern.c
A offload/test/offloading/force-usm.cpp
A offload/test/offloading/fortran/basic-target-parallel-do.f90
A offload/test/offloading/fortran/basic-target-parallel-region.f90
A offload/test/offloading/fortran/basic-target-region-1D-array-section.f90
A offload/test/offloading/fortran/basic-target-region-3D-array-section.f90
A offload/test/offloading/fortran/basic-target-region-3D-array.f90
A offload/test/offloading/fortran/basic_array.c
A offload/test/offloading/fortran/basic_target_region.f90
A offload/test/offloading/fortran/constant-arr-index.f90
A offload/test/offloading/fortran/declare-target-vars-in-target-region.f90
A offload/test/offloading/fortran/double-target-call-with-declare-target.f90
A offload/test/offloading/fortran/target-map-allocatable-array-section-1d-bounds.f90
A offload/test/offloading/fortran/target-map-allocatable-array-section-3d-bounds.f90
A offload/test/offloading/fortran/target-map-allocatable-map-scopes.f90
A offload/test/offloading/fortran/target-map-enter-exit-allocatables.f90
A offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
A offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
A offload/test/offloading/fortran/target-map-enter-exit-array.f90
A offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
A offload/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
A offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
A offload/test/offloading/fortran/target-map-pointer-target-scopes.f90
A offload/test/offloading/fortran/target-nested-target-data.f90
A offload/test/offloading/fortran/target-parallel-do-collapse.f90
A offload/test/offloading/fortran/target-region-implicit-array.f90
A offload/test/offloading/fortran/target_map_common_block.f90
A offload/test/offloading/fortran/target_map_common_block1.f90
A offload/test/offloading/fortran/target_map_common_block2.f90
A offload/test/offloading/fortran/target_update.f90
A offload/test/offloading/generic_multiple_parallel_regions.c
A offload/test/offloading/global_constructor.cpp
A offload/test/offloading/host_as_target.c
A offload/test/offloading/indirect_fp_mapping.c
A offload/test/offloading/info.c
A offload/test/offloading/interop.c
A offload/test/offloading/lone_target_exit_data.c
A offload/test/offloading/looptripcnt.c
A offload/test/offloading/malloc.c
A offload/test/offloading/malloc_parallel.c
A offload/test/offloading/mandatory_but_no_devices.c
A offload/test/offloading/memory_manager.cpp
A offload/test/offloading/multiple_reductions_simple.c
A offload/test/offloading/non_contiguous_update.cpp
A offload/test/offloading/offloading_success.c
A offload/test/offloading/offloading_success.cpp
A offload/test/offloading/ompx_bare.c
A offload/test/offloading/ompx_coords.c
A offload/test/offloading/ompx_saxpy_mixed.c
A offload/test/offloading/parallel_offloading_map.cpp
A offload/test/offloading/parallel_target_teams_reduction.cpp
A offload/test/offloading/parallel_target_teams_reduction_max.cpp
A offload/test/offloading/parallel_target_teams_reduction_min.cpp
A offload/test/offloading/requires.c
A offload/test/offloading/runtime_init.c
A offload/test/offloading/shared_lib_fp_mapping.c
A offload/test/offloading/small_trip_count.c
A offload/test/offloading/small_trip_count_thread_limit.cpp
A offload/test/offloading/spmdization.c
A offload/test/offloading/static_linking.c
A offload/test/offloading/std_complex_arithmetic.cpp
A offload/test/offloading/struct_mapping_with_pointers.cpp
A offload/test/offloading/target-teams-atomic.c
A offload/test/offloading/target-tile.c
A offload/test/offloading/target_constexpr_mapping.cpp
A offload/test/offloading/target_critical_region.cpp
A offload/test/offloading/target_depend_nowait.cpp
A offload/test/offloading/target_map_for_member_data.cpp
A offload/test/offloading/target_nowait_target.cpp
A offload/test/offloading/task_in_reduction_target.c
A offload/test/offloading/taskloop_offload_nowait.cpp
A offload/test/offloading/test_libc.cpp
A offload/test/offloading/thread_limit.c
A offload/test/offloading/thread_state_1.c
A offload/test/offloading/thread_state_2.c
A offload/test/offloading/weak.c
A offload/test/offloading/workshare_chunk.c
A offload/test/offloading/wtime.c
A offload/test/ompt/callbacks.h
A offload/test/ompt/register_both.h
A offload/test/ompt/register_emi.h
A offload/test/ompt/register_emi_map.h
A offload/test/ompt/register_no_device_init.h
A offload/test/ompt/register_non_emi.h
A offload/test/ompt/register_non_emi_map.h
A offload/test/ompt/register_wrong_return.h
A offload/test/ompt/target_memcpy.c
A offload/test/ompt/target_memcpy_emi.c
A offload/test/ompt/veccopy.c
A offload/test/ompt/veccopy_data.c
A offload/test/ompt/veccopy_disallow_both.c
A offload/test/ompt/veccopy_emi.c
A offload/test/ompt/veccopy_emi_map.c
A offload/test/ompt/veccopy_map.c
A offload/test/ompt/veccopy_no_device_init.c
A offload/test/ompt/veccopy_wrong_return.c
A offload/test/unified_shared_memory/api.c
A offload/test/unified_shared_memory/associate_ptr.c
A offload/test/unified_shared_memory/close_enter_exit.c
A offload/test/unified_shared_memory/close_manual.c
A offload/test/unified_shared_memory/close_member.c
A offload/test/unified_shared_memory/close_modifier.c
A offload/test/unified_shared_memory/shared_update.c
A offload/tools/CMakeLists.txt
A offload/tools/deviceinfo/CMakeLists.txt
A offload/tools/deviceinfo/llvm-omp-device-info.cpp
A offload/tools/kernelreplay/CMakeLists.txt
A offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
A offload/unittests/CMakeLists.txt
A offload/unittests/Plugins/CMakeLists.txt
A offload/unittests/Plugins/NextgenPluginsTest.cpp
A offload/utils/generate_microtask_cases.py
M openmp/CMakeLists.txt
R openmp/libomptarget/CMakeLists.txt
R openmp/libomptarget/DeviceRTL/CMakeLists.txt
R openmp/libomptarget/DeviceRTL/include/Allocator.h
R openmp/libomptarget/DeviceRTL/include/Configuration.h
R openmp/libomptarget/DeviceRTL/include/Debug.h
R openmp/libomptarget/DeviceRTL/include/Interface.h
R openmp/libomptarget/DeviceRTL/include/LibC.h
R openmp/libomptarget/DeviceRTL/include/Mapping.h
R openmp/libomptarget/DeviceRTL/include/State.h
R openmp/libomptarget/DeviceRTL/include/Synchronization.h
R openmp/libomptarget/DeviceRTL/include/Types.h
R openmp/libomptarget/DeviceRTL/include/Utils.h
R openmp/libomptarget/DeviceRTL/include/generated_microtask_cases.gen
R openmp/libomptarget/DeviceRTL/src/Allocator.cpp
R openmp/libomptarget/DeviceRTL/src/Configuration.cpp
R openmp/libomptarget/DeviceRTL/src/Debug.cpp
R openmp/libomptarget/DeviceRTL/src/Kernel.cpp
R openmp/libomptarget/DeviceRTL/src/LibC.cpp
R openmp/libomptarget/DeviceRTL/src/Mapping.cpp
R openmp/libomptarget/DeviceRTL/src/Misc.cpp
R openmp/libomptarget/DeviceRTL/src/Parallelism.cpp
R openmp/libomptarget/DeviceRTL/src/Reduction.cpp
R openmp/libomptarget/DeviceRTL/src/State.cpp
R openmp/libomptarget/DeviceRTL/src/Stub.cpp
R openmp/libomptarget/DeviceRTL/src/Synchronization.cpp
R openmp/libomptarget/DeviceRTL/src/Tasking.cpp
R openmp/libomptarget/DeviceRTL/src/Utils.cpp
R openmp/libomptarget/DeviceRTL/src/Workshare.cpp
R openmp/libomptarget/DeviceRTL/src/exports
R openmp/libomptarget/README.txt
R openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
R openmp/libomptarget/cmake/Modules/LibomptargetUtils.cmake
R openmp/libomptarget/docs/declare_target_indirect.md
R openmp/libomptarget/include/DeviceImage.h
R openmp/libomptarget/include/ExclusiveAccess.h
R openmp/libomptarget/include/OffloadEntry.h
R openmp/libomptarget/include/OffloadPolicy.h
R openmp/libomptarget/include/OpenMP/InternalTypes.h
R openmp/libomptarget/include/OpenMP/InteropAPI.h
R openmp/libomptarget/include/OpenMP/Mapping.h
R openmp/libomptarget/include/OpenMP/OMPT/Callback.h
R openmp/libomptarget/include/OpenMP/OMPT/Connector.h
R openmp/libomptarget/include/OpenMP/OMPT/Interface.h
R openmp/libomptarget/include/OpenMP/omp.h
R openmp/libomptarget/include/PluginManager.h
R openmp/libomptarget/include/Shared/APITypes.h
R openmp/libomptarget/include/Shared/Debug.h
R openmp/libomptarget/include/Shared/Environment.h
R openmp/libomptarget/include/Shared/EnvironmentVar.h
R openmp/libomptarget/include/Shared/PluginAPI.h
R openmp/libomptarget/include/Shared/PluginAPI.inc
R openmp/libomptarget/include/Shared/Profile.h
R openmp/libomptarget/include/Shared/Requirements.h
R openmp/libomptarget/include/Shared/SourceInfo.h
R openmp/libomptarget/include/Shared/Utils.h
R openmp/libomptarget/include/Utils/ExponentialBackoff.h
R openmp/libomptarget/include/device.h
R openmp/libomptarget/include/omptarget.h
R openmp/libomptarget/include/rtl.h
R openmp/libomptarget/plugins-nextgen/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
R openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
R openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
R openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
R openmp/libomptarget/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
R openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/common/OMPT/OmptCallback.cpp
R openmp/libomptarget/plugins-nextgen/common/include/DLWrap.h
R openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
R openmp/libomptarget/plugins-nextgen/common/include/JIT.h
R openmp/libomptarget/plugins-nextgen/common/include/MemoryManager.h
R openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
R openmp/libomptarget/plugins-nextgen/common/include/RPC.h
R openmp/libomptarget/plugins-nextgen/common/include/Utils/ELF.h
R openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
R openmp/libomptarget/plugins-nextgen/common/src/JIT.cpp
R openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
R openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
R openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
R openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
R openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.h
R openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
R openmp/libomptarget/plugins-nextgen/exports
R openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
R openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.cpp
R openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.h
R openmp/libomptarget/plugins-nextgen/host/src/rtl.cpp
R openmp/libomptarget/src/CMakeLists.txt
R openmp/libomptarget/src/DeviceImage.cpp
R openmp/libomptarget/src/LegacyAPI.cpp
R openmp/libomptarget/src/OffloadRTL.cpp
R openmp/libomptarget/src/OpenMP/API.cpp
R openmp/libomptarget/src/OpenMP/InteropAPI.cpp
R openmp/libomptarget/src/OpenMP/Mapping.cpp
R openmp/libomptarget/src/OpenMP/OMPT/Callback.cpp
R openmp/libomptarget/src/PluginManager.cpp
R openmp/libomptarget/src/device.cpp
R openmp/libomptarget/src/exports
R openmp/libomptarget/src/interface.cpp
R openmp/libomptarget/src/omptarget.cpp
R openmp/libomptarget/src/private.h
R openmp/libomptarget/test/CMakeLists.txt
R openmp/libomptarget/test/Inputs/basic_array.f90
R openmp/libomptarget/test/Inputs/declare_indirect_func.c
R openmp/libomptarget/test/api/assert.c
R openmp/libomptarget/test/api/is_initial_device.c
R openmp/libomptarget/test/api/omp_device_managed_memory.c
R openmp/libomptarget/test/api/omp_device_managed_memory_alloc.c
R openmp/libomptarget/test/api/omp_device_memory.c
R openmp/libomptarget/test/api/omp_dynamic_shared_memory.c
R openmp/libomptarget/test/api/omp_dynamic_shared_memory_amdgpu.c
R openmp/libomptarget/test/api/omp_dynamic_shared_memory_mixed.inc
R openmp/libomptarget/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
R openmp/libomptarget/test/api/omp_dynamic_shared_memory_mixed_nvptx.c
R openmp/libomptarget/test/api/omp_env_vars.c
R openmp/libomptarget/test/api/omp_get_device_num.c
R openmp/libomptarget/test/api/omp_get_mapped_ptr.c
R openmp/libomptarget/test/api/omp_get_num_devices.c
R openmp/libomptarget/test/api/omp_get_num_devices_with_empty_target.c
R openmp/libomptarget/test/api/omp_get_num_procs.c
R openmp/libomptarget/test/api/omp_host_pinned_memory.c
R openmp/libomptarget/test/api/omp_host_pinned_memory_alloc.c
R openmp/libomptarget/test/api/omp_indirect_call.c
R openmp/libomptarget/test/api/omp_target_memcpy_async1.c
R openmp/libomptarget/test/api/omp_target_memcpy_async2.c
R openmp/libomptarget/test/api/omp_target_memcpy_rect_async1.c
R openmp/libomptarget/test/api/omp_target_memcpy_rect_async2.c
R openmp/libomptarget/test/api/omp_target_memset.c
R openmp/libomptarget/test/api/ompx_3d.c
R openmp/libomptarget/test/api/ompx_3d.cpp
R openmp/libomptarget/test/api/ompx_dump_mapping_tables.cpp
R openmp/libomptarget/test/api/ompx_sync.c
R openmp/libomptarget/test/api/ompx_sync.cpp
R openmp/libomptarget/test/env/base_ptr_ref_count.c
R openmp/libomptarget/test/env/omp_target_debug.c
R openmp/libomptarget/test/jit/empty_kernel.inc
R openmp/libomptarget/test/jit/empty_kernel_lvl1.c
R openmp/libomptarget/test/jit/empty_kernel_lvl2.c
R openmp/libomptarget/test/jit/type_punning.c
R openmp/libomptarget/test/libc/assert.c
R openmp/libomptarget/test/libc/fwrite.c
R openmp/libomptarget/test/libc/global_ctor_dtor.cpp
R openmp/libomptarget/test/libc/host_call.c
R openmp/libomptarget/test/libc/malloc.c
R openmp/libomptarget/test/libc/puts.c
R openmp/libomptarget/test/lit.cfg
R openmp/libomptarget/test/lit.site.cfg.in
R openmp/libomptarget/test/mapping/alloc_fail.c
R openmp/libomptarget/test/mapping/array_section_implicit_capture.c
R openmp/libomptarget/test/mapping/array_section_use_device_ptr.c
R openmp/libomptarget/test/mapping/auto_zero_copy.cpp
R openmp/libomptarget/test/mapping/auto_zero_copy_apu.cpp
R openmp/libomptarget/test/mapping/auto_zero_copy_globals.cpp
R openmp/libomptarget/test/mapping/data_absent_at_exit.c
R openmp/libomptarget/test/mapping/data_member_ref.cpp
R openmp/libomptarget/test/mapping/declare_mapper_api.cpp
R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers.cpp
R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_array.cpp
R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_array_subscript.cpp
R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_complex_structure.cpp
R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_ptr_subscript.cpp
R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_var.cpp
R openmp/libomptarget/test/mapping/declare_mapper_nested_mappers.cpp
R openmp/libomptarget/test/mapping/declare_mapper_target.cpp
R openmp/libomptarget/test/mapping/declare_mapper_target_data.cpp
R openmp/libomptarget/test/mapping/declare_mapper_target_data_enter_exit.cpp
R openmp/libomptarget/test/mapping/declare_mapper_target_update.cpp
R openmp/libomptarget/test/mapping/delete_inf_refcount.c
R openmp/libomptarget/test/mapping/device_ptr_update.c
R openmp/libomptarget/test/mapping/firstprivate_aligned.cpp
R openmp/libomptarget/test/mapping/has_device_addr.cpp
R openmp/libomptarget/test/mapping/implicit_device_ptr.c
R openmp/libomptarget/test/mapping/is_device_ptr.cpp
R openmp/libomptarget/test/mapping/lambda_by_value.cpp
R openmp/libomptarget/test/mapping/lambda_mapping.cpp
R openmp/libomptarget/test/mapping/low_alignment.c
R openmp/libomptarget/test/mapping/map_back_race.cpp
R openmp/libomptarget/test/mapping/ompx_hold/omp_target_disassociate_ptr.c
R openmp/libomptarget/test/mapping/ompx_hold/struct.c
R openmp/libomptarget/test/mapping/ompx_hold/target-data.c
R openmp/libomptarget/test/mapping/ompx_hold/target.c
R openmp/libomptarget/test/mapping/padding_not_mapped.c
R openmp/libomptarget/test/mapping/power_of_two_alignment.c
R openmp/libomptarget/test/mapping/pr38704.c
R openmp/libomptarget/test/mapping/prelock.cpp
R openmp/libomptarget/test/mapping/present/target.c
R openmp/libomptarget/test/mapping/present/target_array_extension.c
R openmp/libomptarget/test/mapping/present/target_data.c
R openmp/libomptarget/test/mapping/present/target_data_array_extension.c
R openmp/libomptarget/test/mapping/present/target_data_at_exit.c
R openmp/libomptarget/test/mapping/present/target_enter_data.c
R openmp/libomptarget/test/mapping/present/target_exit_data_delete.c
R openmp/libomptarget/test/mapping/present/target_exit_data_release.c
R openmp/libomptarget/test/mapping/present/target_update.c
R openmp/libomptarget/test/mapping/present/target_update_array_extension.c
R openmp/libomptarget/test/mapping/present/unified_shared_memory.c
R openmp/libomptarget/test/mapping/present/zero_length_array_section.c
R openmp/libomptarget/test/mapping/present/zero_length_array_section_exit.c
R openmp/libomptarget/test/mapping/private_mapping.c
R openmp/libomptarget/test/mapping/ptr_and_obj_motion.c
R openmp/libomptarget/test/mapping/reduction_implicit_map.cpp
R openmp/libomptarget/test/mapping/target_data_array_extension_at_exit.c
R openmp/libomptarget/test/mapping/target_derefence_array_pointrs.cpp
R openmp/libomptarget/test/mapping/target_has_device_addr.c
R openmp/libomptarget/test/mapping/target_implicit_partial_map.c
R openmp/libomptarget/test/mapping/target_map_for_member_data.cpp
R openmp/libomptarget/test/mapping/target_pointers_members_map.cpp
R openmp/libomptarget/test/mapping/target_update_array_extension.c
R openmp/libomptarget/test/mapping/target_use_device_addr.c
R openmp/libomptarget/test/mapping/target_uses_allocator.c
R openmp/libomptarget/test/mapping/target_wrong_use_device_addr.c
R openmp/libomptarget/test/offloading/assert.cpp
R openmp/libomptarget/test/offloading/atomic-compare-signedness.c
R openmp/libomptarget/test/offloading/back2back_distribute.c
R openmp/libomptarget/test/offloading/barrier_fence.c
R openmp/libomptarget/test/offloading/bug47654.cpp
R openmp/libomptarget/test/offloading/bug49021.cpp
R openmp/libomptarget/test/offloading/bug49334.cpp
R openmp/libomptarget/test/offloading/bug49779.cpp
R openmp/libomptarget/test/offloading/bug50022.cpp
R openmp/libomptarget/test/offloading/bug51781.c
R openmp/libomptarget/test/offloading/bug51982.c
R openmp/libomptarget/test/offloading/bug53727.cpp
R openmp/libomptarget/test/offloading/bug64959.c
R openmp/libomptarget/test/offloading/bug64959_compile_only.c
R openmp/libomptarget/test/offloading/bug74582.c
R openmp/libomptarget/test/offloading/complex_reduction.cpp
R openmp/libomptarget/test/offloading/ctor_dtor.cpp
R openmp/libomptarget/test/offloading/cuda_no_devices.c
R openmp/libomptarget/test/offloading/d2d_memcpy.c
R openmp/libomptarget/test/offloading/d2d_memcpy_sync.c
R openmp/libomptarget/test/offloading/default_thread_limit.c
R openmp/libomptarget/test/offloading/dynamic_module.c
R openmp/libomptarget/test/offloading/dynamic_module_load.c
R openmp/libomptarget/test/offloading/extern.c
R openmp/libomptarget/test/offloading/force-usm.cpp
R openmp/libomptarget/test/offloading/fortran/basic-target-parallel-do.f90
R openmp/libomptarget/test/offloading/fortran/basic-target-parallel-region.f90
R openmp/libomptarget/test/offloading/fortran/basic-target-region-1D-array-section.f90
R openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array-section.f90
R openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array.f90
R openmp/libomptarget/test/offloading/fortran/basic_array.c
R openmp/libomptarget/test/offloading/fortran/basic_target_region.f90
R openmp/libomptarget/test/offloading/fortran/constant-arr-index.f90
R openmp/libomptarget/test/offloading/fortran/declare-target-vars-in-target-region.f90
R openmp/libomptarget/test/offloading/fortran/double-target-call-with-declare-target.f90
R openmp/libomptarget/test/offloading/fortran/target-map-allocatable-array-section-1d-bounds.f90
R openmp/libomptarget/test/offloading/fortran/target-map-allocatable-array-section-3d-bounds.f90
R openmp/libomptarget/test/offloading/fortran/target-map-allocatable-map-scopes.f90
R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-allocatables.f90
R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-2.f90
R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array.f90
R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-scalar.f90
R openmp/libomptarget/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
R openmp/libomptarget/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
R openmp/libomptarget/test/offloading/fortran/target-map-pointer-target-scopes.f90
R openmp/libomptarget/test/offloading/fortran/target-nested-target-data.f90
R openmp/libomptarget/test/offloading/fortran/target-parallel-do-collapse.f90
R openmp/libomptarget/test/offloading/fortran/target-region-implicit-array.f90
R openmp/libomptarget/test/offloading/fortran/target_map_common_block.f90
R openmp/libomptarget/test/offloading/fortran/target_map_common_block1.f90
R openmp/libomptarget/test/offloading/fortran/target_map_common_block2.f90
R openmp/libomptarget/test/offloading/fortran/target_update.f90
R openmp/libomptarget/test/offloading/generic_multiple_parallel_regions.c
R openmp/libomptarget/test/offloading/global_constructor.cpp
R openmp/libomptarget/test/offloading/host_as_target.c
R openmp/libomptarget/test/offloading/indirect_fp_mapping.c
R openmp/libomptarget/test/offloading/info.c
R openmp/libomptarget/test/offloading/interop.c
R openmp/libomptarget/test/offloading/lone_target_exit_data.c
R openmp/libomptarget/test/offloading/looptripcnt.c
R openmp/libomptarget/test/offloading/malloc.c
R openmp/libomptarget/test/offloading/malloc_parallel.c
R openmp/libomptarget/test/offloading/mandatory_but_no_devices.c
R openmp/libomptarget/test/offloading/memory_manager.cpp
R openmp/libomptarget/test/offloading/multiple_reductions_simple.c
R openmp/libomptarget/test/offloading/non_contiguous_update.cpp
R openmp/libomptarget/test/offloading/offloading_success.c
R openmp/libomptarget/test/offloading/offloading_success.cpp
R openmp/libomptarget/test/offloading/ompx_bare.c
R openmp/libomptarget/test/offloading/ompx_coords.c
R openmp/libomptarget/test/offloading/ompx_saxpy_mixed.c
R openmp/libomptarget/test/offloading/parallel_offloading_map.cpp
R openmp/libomptarget/test/offloading/parallel_target_teams_reduction.cpp
R openmp/libomptarget/test/offloading/parallel_target_teams_reduction_max.cpp
R openmp/libomptarget/test/offloading/parallel_target_teams_reduction_min.cpp
R openmp/libomptarget/test/offloading/requires.c
R openmp/libomptarget/test/offloading/runtime_init.c
R openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c
R openmp/libomptarget/test/offloading/small_trip_count.c
R openmp/libomptarget/test/offloading/small_trip_count_thread_limit.cpp
R openmp/libomptarget/test/offloading/spmdization.c
R openmp/libomptarget/test/offloading/static_linking.c
R openmp/libomptarget/test/offloading/std_complex_arithmetic.cpp
R openmp/libomptarget/test/offloading/struct_mapping_with_pointers.cpp
R openmp/libomptarget/test/offloading/target-teams-atomic.c
R openmp/libomptarget/test/offloading/target-tile.c
R openmp/libomptarget/test/offloading/target_constexpr_mapping.cpp
R openmp/libomptarget/test/offloading/target_critical_region.cpp
R openmp/libomptarget/test/offloading/target_depend_nowait.cpp
R openmp/libomptarget/test/offloading/target_map_for_member_data.cpp
R openmp/libomptarget/test/offloading/target_nowait_target.cpp
R openmp/libomptarget/test/offloading/task_in_reduction_target.c
R openmp/libomptarget/test/offloading/taskloop_offload_nowait.cpp
R openmp/libomptarget/test/offloading/test_libc.cpp
R openmp/libomptarget/test/offloading/thread_limit.c
R openmp/libomptarget/test/offloading/thread_state_1.c
R openmp/libomptarget/test/offloading/thread_state_2.c
R openmp/libomptarget/test/offloading/weak.c
R openmp/libomptarget/test/offloading/workshare_chunk.c
R openmp/libomptarget/test/offloading/wtime.c
R openmp/libomptarget/test/ompt/callbacks.h
R openmp/libomptarget/test/ompt/register_both.h
R openmp/libomptarget/test/ompt/register_emi.h
R openmp/libomptarget/test/ompt/register_emi_map.h
R openmp/libomptarget/test/ompt/register_no_device_init.h
R openmp/libomptarget/test/ompt/register_non_emi.h
R openmp/libomptarget/test/ompt/register_non_emi_map.h
R openmp/libomptarget/test/ompt/register_wrong_return.h
R openmp/libomptarget/test/ompt/target_memcpy.c
R openmp/libomptarget/test/ompt/target_memcpy_emi.c
R openmp/libomptarget/test/ompt/veccopy.c
R openmp/libomptarget/test/ompt/veccopy_data.c
R openmp/libomptarget/test/ompt/veccopy_disallow_both.c
R openmp/libomptarget/test/ompt/veccopy_emi.c
R openmp/libomptarget/test/ompt/veccopy_emi_map.c
R openmp/libomptarget/test/ompt/veccopy_map.c
R openmp/libomptarget/test/ompt/veccopy_no_device_init.c
R openmp/libomptarget/test/ompt/veccopy_wrong_return.c
R openmp/libomptarget/test/unified_shared_memory/api.c
R openmp/libomptarget/test/unified_shared_memory/associate_ptr.c
R openmp/libomptarget/test/unified_shared_memory/close_enter_exit.c
R openmp/libomptarget/test/unified_shared_memory/close_manual.c
R openmp/libomptarget/test/unified_shared_memory/close_member.c
R openmp/libomptarget/test/unified_shared_memory/close_modifier.c
R openmp/libomptarget/test/unified_shared_memory/shared_update.c
R openmp/libomptarget/tools/CMakeLists.txt
R openmp/libomptarget/tools/deviceinfo/CMakeLists.txt
R openmp/libomptarget/tools/deviceinfo/llvm-omp-device-info.cpp
R openmp/libomptarget/tools/kernelreplay/CMakeLists.txt
R openmp/libomptarget/tools/kernelreplay/llvm-omp-kernel-replay.cpp
R openmp/libomptarget/unittests/CMakeLists.txt
R openmp/libomptarget/unittests/Plugins/CMakeLists.txt
R openmp/libomptarget/unittests/Plugins/NextgenPluginsTest.cpp
R openmp/libomptarget/utils/generate_microtask_cases.py
M openmp/runtime/src/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
[Offload] Move `/openmp/libomptarget` to `/offload` (#75125)
In a nutshell, this moves our libomptarget code to populate the offload
subproject.
With this commit, users need to enable the new LLVM/Offload subproject
as a runtime in their cmake configuration.
No further changes are expected for downstream code.
Tests and other components still depend on OpenMP and have also not been
renamed. The results below are for a build in which OpenMP and Offload
are enabled runtimes. In addition to the pure `git mv`, we needed to
adjust some CMake files. Nothing is intended to change semantics.
```
ninja check-offload
```
Works with the X86 and AMDGPU offload tests
```
ninja check-openmp
```
Still works but doesn't build offload tests anymore.
```
ls install/lib
```
Shows all expected libraries, incl.
- `libomptarget.devicertl.a`
- `libomptarget-nvptx-sm_90.bc`
- `libomptarget.rtl.amdgpu.so` -> `libomptarget.rtl.amdgpu.so.18git`
- `libomptarget.so` -> `libomptarget.so.18git`
Fixes: https://github.com/llvm/llvm-project/issues/75124
---------
Co-authored-by: Saiyedul Islam <Saiyedul.Islam at amd.com>
Commit: 8128d4b1229203c2ab20d3136410c149ea3652cf
https://github.com/llvm/llvm-project/commit/8128d4b1229203c2ab20d3136410c149ea3652cf
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/test/tools/llvm-reduce/remove-dp-values.ll
M llvm/tools/llvm-reduce/llvm-reduce.cpp
Log Message:
-----------
[RemoveDIs] Preserve debug info format in llvm-reduce (#89220)
As the goal of LLVM reduce is to simplify the input file, it should not
modify the debug info format - doing so by default would make it
impossible to reduce an error that only occurs in the old format, for
example (as briefly discussed at
https://github.com/llvm/llvm-project/pull/86275). This patch uses the
new "preserve debug info format" flag in llvm-reduce to prevent the
input from being subtly transformed by llvm-reduce itself; this has no
effect on any tools used for the interestingness check (i.e. if `opt` is
invoked, it will still convert the reduced input to the new format by
default), but simply ensures that the reduced file is strictly reduced
rather than modified.
Commit: 7c20576cc37ab6b078782caf7575dab4ef87b37c
https://github.com/llvm/llvm-project/commit/7c20576cc37ab6b078782caf7575dab4ef87b37c
Author: Iman Hosseini <hosseini.iman at yahoo.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
Log Message:
-----------
[flang][cuda] fix parsing of cuda_kernel (#89613)
Fix parsing of cuda_kernel: it missed a mlir::succeeded check and it was
not setting up the `types` and causing mismatch between values and types
of the grid/block (CUFKernelValues). @clementval
---------
Co-authored-by: Iman Hosseini <imanh at nvidia.com>
Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Commit: 73ed2153beb529973741344874c0084d24c2f268
https://github.com/llvm/llvm-project/commit/73ed2153beb529973741344874c0084d24c2f268
Author: ZijunZhaoCCK <zijunzhao at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/FixIt/format-darwin-enum-class.cpp
M clang/test/FixIt/format.cpp
M clang/test/SemaCXX/format-strings.cpp
Log Message:
-----------
Carving out -Wformat warning about scoped enums into a subwarning (#88595)
Make it part of -Wformat-pedantic.
Fixes #81647
Commit: 772863e3120fc770ae1ab458022284be04810097
https://github.com/llvm/llvm-project/commit/772863e3120fc770ae1ab458022284be04810097
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
Log Message:
-----------
[SystemZ][NFC] Use new getPointerSize function (#89623)
Use the new getPointerSize() function throughout the frame lowering class.
Commit: 180cf4daec290e68aa4dd6dc14697add3e18bcec
https://github.com/llvm/llvm-project/commit/180cf4daec290e68aa4dd6dc14697add3e18bcec
Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
Log Message:
-----------
[clangd] Fix unittests in TargetDeclTest bucket (#89630)
This PR fixes the build errors for one of the `clangd` unit tests bucket
similar to the following:
```
.../clang-tools-extra/clangd/unittests/FindTargetTests.cpp:430:29: error: passing no argument for the '...' parameter of a variadic macro is a C++20 extension [-Werror,-Wc++20-extensions]
430 | EXPECT_DECLS("AutoTypeLoc");
| ^
.../clang-tools-extra/clangd/unittests/FindTargetTests.cpp:98:9: note: macro 'EXPECT_DECLS' defined here
98 | #define EXPECT_DECLS(NodeType, ...) \
| ^
```
This happens when using a build compiler with #84520. The fix is to
include commas to compensate for empty vararg macro arguments in a few
instances.
Commit: 9aa663bb9ef3dbab8ccc324ef3df5138aa458fbd
https://github.com/llvm/llvm-project/commit/9aa663bb9ef3dbab8ccc324ef3df5138aa458fbd
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[Clang] Fix __is_trivially_equaltiy_comparable documentation (#88528)
Currently `__is_trivially_equality_comparable` is documented to return
true if comparing the value representation is equivalent to calling the
comparison operator, which is not quite what the trait actually checks.
The traits actually checks that comparing the object representation is
equivalent, which means that there cannot be padding bytes in the type.
Commit: a6c028299cbce9885dd3c3e989b2cb3273ba6e05
https://github.com/llvm/llvm-project/commit/a6c028299cbce9885dd3c3e989b2cb3273ba6e05
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Add extension information to RISCVFeatures.td. NFC (#89326)
This adds a new RISCVExtension class that inherits from
SubtargetFeature. This contains the major/minor version and whether the
extension is experimental. The plan is to use this to generate the
tables for RISCVISAInfo.cpp.
The version numbers might not be accurate yet. If there are errors they
will be fixed before they are used for anything. It will be easier to
verify once the new tablegen backend is written to generate the
RISCVISAInfo.cpp table.
Commit: c1b6cca1214e7a9c14a30b81585dd8b81baeaa77
https://github.com/llvm/llvm-project/commit/c1b6cca1214e7a9c14a30b81585dd8b81baeaa77
Author: Wentao Zhang <35722712+whentojump at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
A clang/test/CoverageMapping/statement-expression.c
Log Message:
-----------
[clang][CoverageMapping] do not emit a gap region when either end doesn't have valid source locations (#89564)
Fixes #86998
Commit: 92631a4824a91f3268a5716dd3459df8dc6bfb63
https://github.com/llvm/llvm-project/commit/92631a4824a91f3268a5716dd3459df8dc6bfb63
Author: Miro Bucko <mbucko at hotmail.co.uk>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb][MinidumpFileBuilder] Fix addition of MemoryList steam (#88564)
Summary:
AddMemoryList() was returning the last error status returned by
ReadMemory(). So if an invalid memory region was read last, the function
would return an error.
Test Plan:
./bin/llvm-lit -sv
~/src/llvm-project/lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
Reviewers:
kevinfrei,clayborg
Subscribers:
Tasks:
Tags:
Commit: f352ce368af39e57d337495d7ca3a21975ede8e6
https://github.com/llvm/llvm-project/commit/f352ce368af39e57d337495d7ca3a21975ede8e6
Author: Michal Paszkowski <michal at paszkowski.org>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/MC/SPIRVObjectWriter.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
M llvm/lib/Target/SPIRV/SPIRV.td
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/CodeGen/SPIRV/ComparePointers.ll
M llvm/test/CodeGen/SPIRV/empty-opencl32.ll
M llvm/test/CodeGen/SPIRV/exec_mode_float_control_khr.ll
A llvm/test/CodeGen/SPIRV/physical-layout/generator-magic-number.ll
A llvm/test/CodeGen/SPIRV/physical-layout/spirv-version.ll
M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
Log Message:
-----------
[SPIR-V] Emit SPIR-V generator magic number and version (#87951)
This patch:
- Adds SPIR-V backend's registered generator magic number to the emitted
binary. The magic number consists of the generator ID (43) and LLVM
major version.
- Adds SPIR-V version to the binary.
- Allows reading the expected (maximum supported) SPIR-V version from
the target triple.
- Uses VersionTuple for representing versions throughout the backend's
codebase.
- Registers v1.6 for spirv32 and spirv64 triple.
See more: https://github.com/KhronosGroup/SPIRV-Headers/commit/7d500c
Commit: 9c9dea943706340f8a45dc74887bf9beddd67810
https://github.com/llvm/llvm-project/commit/9c9dea943706340f8a45dc74887bf9beddd67810
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP] Concatenate begin and end clauses into single list (#89090)
This will remove the distinction between begin clauses and end clauses,
and process all of them together.
Commit: f94ed6f7977305db8fa6b48a85c9db2b8cc4d3b3
https://github.com/llvm/llvm-project/commit/f94ed6f7977305db8fa6b48a85c9db2b8cc4d3b3
Author: Félix-Antoine Constantin <60141446+felix642 at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/GlobList.cpp
M clang-tools-extra/clang-tidy/GlobList.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp
Log Message:
-----------
[clang-tidy] Improved --verify-config when using literal style in config file (#85591)
Specifying checks using the literal style (|) in the clang-tidy config
file is currently supported but was not implemented for the
--verify-config options. This means that clang-tidy would work properly
but, using the --verify-config option would raise an error due to some
checks not being parsed properly.
Fixes #53737
Commit: 758d97dce0c669a0ba6927728b40030a76acb144
https://github.com/llvm/llvm-project/commit/758d97dce0c669a0ba6927728b40030a76acb144
Author: YunQiang Su <syq at debian.org>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/Mips/MipsExpandPseudo.cpp
M llvm/test/CodeGen/Mips/atomic-min-max.ll
Log Message:
-----------
[MIPS]: Rework atomic max/min expand for subword (#89575)
The current code is so buggy: it can work for few cases. The problems
include:
1. ll/sc works on a whole word, while other parts other than we rmw are
dropped.
2. The oprands are not well zero-extended for unsigned ops.
3. It doesn't work for big-endian, as the postion of subword differs
with little endian.
And in fact, we can set the return value correct in ll/sc scope, so we
can skip the sinkMBB.
Commit: 2834e8ad1cfe32b69a8b5a1dd2477725683a61c4
https://github.com/llvm/llvm-project/commit/2834e8ad1cfe32b69a8b5a1dd2477725683a61c4
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
R lldb/third_party/Python/module/pexpect-4.6/.gitignore
R lldb/third_party/Python/module/pexpect-4.6/.travis.yml
R lldb/third_party/Python/module/pexpect-4.6/DEVELOPERS.rst
R lldb/third_party/Python/module/pexpect-4.6/LICENSE
R lldb/third_party/Python/module/pexpect-4.6/MANIFEST.in
R lldb/third_party/Python/module/pexpect-4.6/README.rst
R lldb/third_party/Python/module/pexpect-4.6/pexpect/ANSI.py
R lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py
R lldb/third_party/Python/module/pexpect-4.6/pexpect/__init__.py
R lldb/third_party/Python/module/pexpect-4.6/pexpect/_async.py
R lldb/third_party/Python/module/pexpect-4.6/pexpect/bashrc.sh
R lldb/third_party/Python/module/pexpect-4.6/pexpect/exceptions.py
R lldb/third_party/Python/module/pexpect-4.6/pexpect/expect.py
R lldb/third_party/Python/module/pexpect-4.6/pexpect/fdpexpect.py
R lldb/third_party/Python/module/pexpect-4.6/pexpect/popen_spawn.py
R lldb/third_party/Python/module/pexpect-4.6/pexpect/pty_spawn.py
R lldb/third_party/Python/module/pexpect-4.6/pexpect/pxssh.py
R lldb/third_party/Python/module/pexpect-4.6/pexpect/replwrap.py
R lldb/third_party/Python/module/pexpect-4.6/pexpect/run.py
R lldb/third_party/Python/module/pexpect-4.6/pexpect/screen.py
R lldb/third_party/Python/module/pexpect-4.6/pexpect/spawnbase.py
R lldb/third_party/Python/module/pexpect-4.6/pexpect/utils.py
R lldb/third_party/Python/module/pexpect-4.6/requirements-testing.txt
R lldb/third_party/Python/module/pexpect-4.6/setup.cfg
R lldb/third_party/Python/module/pexpect-4.6/setup.py
R lldb/third_party/Python/module/ptyprocess-0.6.0/.gitignore
R lldb/third_party/Python/module/ptyprocess-0.6.0/.travis.yml
R lldb/third_party/Python/module/ptyprocess-0.6.0/LICENSE
R lldb/third_party/Python/module/ptyprocess-0.6.0/README.rst
R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/__init__.py
R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/_fork_pty.py
R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/ptyprocess.py
R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/util.py
R lldb/third_party/Python/module/ptyprocess-0.6.0/pyproject.toml
R lldb/third_party/Python/module/ptyprocess-0.6.0/readthedocs.yml
Log Message:
-----------
[lldb][NFC] Remove unused pexpect/ptyprocess (#89609)
Commit: 9a3595167d3ee875e3180800cec5f5c3fd170e63
https://github.com/llvm/llvm-project/commit/9a3595167d3ee875e3180800cec5f5c3fd170e63
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Add freeze when expanding mul by constant to two or more uses (#89290)
topperc pointed this out in review of
https://github.com/llvm/llvm-project/pull/88791, but I believe the
problem applies
here as well. Worth noting is that the code I introduced with this bug
was mostly copied from other targets - which
also have this bug.
Commit: ca1f1c957232b05d6529916bcd769ae1c57ff935
https://github.com/llvm/llvm-project/commit/ca1f1c957232b05d6529916bcd769ae1c57ff935
Author: js324 <jins918 at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Lex/LiteralSupport.h
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/AST/bitint-suffix.cpp
M clang/test/Lexer/bitint-constants-compat.c
A clang/test/Lexer/bitint-constants.cpp
Log Message:
-----------
[BitInt] Expose a _BitInt literal suffix in C++ (#86586)
This exposes _BitInt literal suffixes __wb and u__wb as an extension
in C++. There is a new Extension warning, and the tests are
essentially the same as the existing _BitInt literal tests for C but
with a few additional cases.
Fixes #85223
Commit: 43c26bbc425dbd8caee311a0d5e4d90c8e71d0d8
https://github.com/llvm/llvm-project/commit/43c26bbc425dbd8caee311a0d5e4d90c8e71d0d8
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M libc/src/stdlib/bsearch.h
Log Message:
-----------
[libc] don't over include stdlib in the hdr declaring bsearch (#89471)
When building overlay mode with GCC in release mode, glibc's stdlib.h
contains
an extern inline declaration of bsearch. This breaks our use of the
gnu::alias
function attribute in LLVM_LIBC_FUNCTION with GCC because GCC checks
that the
aliasee is defined in the same TU (clang does not).
We're looking at also potentially updating our definition of
LLVM_LIBC_FUNCTION
from libc/src/__support/common.h. Upon testing, I was able to get
-Wnonnull-compare diagnostics from GCC in our definition of bsearch
because
glibc declares bsearch with the fugly nonnull function attribute.
There's more we can do here though to improve our implementation of
bsearch.
7.24.5.1 says:
Pointer arguments on such a call shall still have valid values, as
described in 7.1.4.
We could also use either function attributes or parameter attributes to
denote
these should not be null (for users/callers) and perhaps still check for
non-null explicitly under some yet to be discussed hardening
configurations in
the future.
Link: #60481
Link:
https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-nonnull-function-attribute
Commit: a54102a093190f3a29add5d9327e62f13fce896a
https://github.com/llvm/llvm-project/commit/a54102a093190f3a29add5d9327e62f13fce896a
Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/Support/MathExtras.h
M llvm/unittests/ADT/APIntTest.cpp
M llvm/unittests/Support/MathExtrasTest.cpp
Log Message:
-----------
[llvm] Add support for zero-width integers in MathExtras.h (#87193)
MLIR uses zero-width integers, but also re-uses integer logic from LLVM
to avoid duplication. This creates issues when LLVM logic is used in
MLIR on integers which can be zero-width. In order to avoid
special-casing the bitwidth-related logic in MLIR, this PR adds support
for zero-width integers in LLVM's MathExtras (and consequently APInt).
While most of the logic in theory works the same way out of the box,
because bitshifting right by the entire bitwidth in C++ is undefined
behavior instead of being zero, some special cases had to be added.
Fortunately, it seems like the performance penalty is small. In x86,
this usually yields the addition of a predicated conditional move. I
checked that no branch is inserted in Arm too.
This happens to fix a crash in `arith.extsi` canonicalization in MLIR. I
think a follow-up PR to add tests for i0 in arith would be beneficial.
Commit: 0336116ed463c2ad125793a5aa4d7290a2155709
https://github.com/llvm/llvm-project/commit/0336116ed463c2ad125793a5aa4d7290a2155709
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M libc/docs/dev/code_style.rst
Log Message:
-----------
[libc][docs] codify Policy on Assembler Sources (#88185)
It would be helpful in future code reviews to document a policy with
regards to
where and when Assembler sources are appropriate. That way when
reviewers point
out infractions, they can point to this written policy, which may help
contributors understand that it's not solely the personal preferences of
individual reviewers but instead rather a previously agreed upon rule by
maintainers.
Link: https://github.com/llvm/llvm-project/pull/87837
Link: https://github.com/llvm/llvm-project/pull/88157
Link:
https://discourse.llvm.org/t/hand-written-in-assembly-in-libc-setjmp-longjmp/73249/12
Commit: dd7963239e94bcd46e56ae90b08d2d0c9904ff00
https://github.com/llvm/llvm-project/commit/dd7963239e94bcd46e56ae90b08d2d0c9904ff00
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M libc/config/linux/api.td
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/pthread_rwlockattr_t.h
M libc/spec/posix.td
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_rwlockattr_destroy.cpp
A libc/src/pthread/pthread_rwlockattr_destroy.h
A libc/src/pthread/pthread_rwlockattr_getpshared.cpp
A libc/src/pthread/pthread_rwlockattr_getpshared.h
A libc/src/pthread/pthread_rwlockattr_init.cpp
A libc/src/pthread/pthread_rwlockattr_init.h
A libc/src/pthread/pthread_rwlockattr_setpshared.cpp
A libc/src/pthread/pthread_rwlockattr_setpshared.h
M libc/test/src/pthread/CMakeLists.txt
A libc/test/src/pthread/pthread_rwlockattr_test.cpp
Log Message:
-----------
[libc][POSIX][pthreads] implement pthread_rwlockattr_t functions (#89322)
Implement:
- pthread_rwlockattr_destroy
- pthread_rwlockattr_getpshared
- pthread_rwlockattr_init
- pthread_rwlockattr_setpshared
Commit: 6b1b4c1c54d4276409c336eaf6d47b3bc04035c3
https://github.com/llvm/llvm-project/commit/6b1b4c1c54d4276409c336eaf6d47b3bc04035c3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/integrated-as.c
Log Message:
-----------
[RISCV][clang] Don't enable -mrelax-all for -O0 on RISC-V (#88538)
-O0 implies -mrelax-all as an assembler compile time optimization.
-mrelax-all allows the assembler to complete layout in 2 passes instead
of doing iterative branch relaxation.
Jump offsets larger than +/-1MiB require an indirect jump on RISC-V.
This can't be done by the assembler, so we use a branch relaxation MIR
pass and use register scavenging to find a free register.
The conditional branch offsets for RISC-V are also somewhat small so we
support MC layer branch relaxation to make life easier for assembly
programmers. This may also cover up bugs in our function size estimation
in MachineIR.
Enabling -mrelax-all causes the MC layer relaxation to agressively relax
branches. This increases code size and can create cases where we need an
indirect jump, but we can't create one. This leads to linker failures.
The easiest way to avoid this is to not default to -mrelax-all for -O0
and sacrifice the compile time optimization. That's what this patch
does.
Fixes #87127
Commit: a6f1b3a4c79209b01733bc1857c87b2abe0b4ecf
https://github.com/llvm/llvm-project/commit/a6f1b3a4c79209b01733bc1857c87b2abe0b4ecf
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M offload/CMakeLists.txt
Log Message:
-----------
[Offload] Fix per-target install directory (#89645)
Summary:
The move from `openmp` to `offload` did not preserve the per-target
runtime directory installation. This is important because this
per-target directory is always included first and is likely the de-facto
way to handle these going forward. Without this installation, old
installations of the library will be linked against first.
Commit: 89c95effe82c09b9a42408f4823409331f8fa266
https://github.com/llvm/llvm-project/commit/89c95effe82c09b9a42408f4823409331f8fa266
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-readelf.rst
M llvm/docs/CommandGuide/llvm-readobj.rst
M llvm/docs/ReleaseNotes.rst
M llvm/test/tools/llvm-readobj/ELF/relr-relocs.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-readobj/Opts.td
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/tools/llvm-readobj/llvm-readobj.h
Log Message:
-----------
[llvm-readobj] Remove --raw-relr
https://reviews.llvm.org/D47919 dumped RELR relocations as
`R_*_RELATIVE` and added --raw-relr (not in GNU) for testing purposes
(more readable than `llvm-readelf -x .relr.dyn`). The option is obsolete
after `llvm-readelf -r` output gets improved (#89162).
Since --raw-relr never seems to get more adoption. Let's remove it to
avoid some complexity.
Pull Request: https://github.com/llvm/llvm-project/pull/89426
Commit: 40137ff0d81be80e4900c17c57b1f66c53ddf2f9
https://github.com/llvm/llvm-project/commit/40137ff0d81be80e4900c17c57b1f66c53ddf2f9
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMP.h
M llvm/lib/Frontend/OpenMP/OMP.cpp
M llvm/test/TableGen/directive1.td
M llvm/test/TableGen/directive2.td
M llvm/unittests/Frontend/CMakeLists.txt
A llvm/unittests/Frontend/OpenMPComposeTest.cpp
M llvm/utils/TableGen/DirectiveEmitter.cpp
Log Message:
-----------
[Frontend][OpenMP] Refactor getLeafConstructs, add getCompoundConstruct (#87247)
Emit a special leaf construct table in DirectiveEmitter.cpp, which will
allow both decomposition of a construct into leafs, and composition of
constituent constructs into a single compound construct (if possible).
The function `getLeafConstructs` is no longer auto-generated, but
implemented in OMP.cpp.
The table contains a row for each directive, and each row has the
following format
`dir_id, num_leafs, leaf1, leaf2, ..., leafN, -1, ...`
The rows are sorted lexicographically with respect to the leaf
constructs. This allows a binary search for the row corresponding to the
given list of leafs.
There is an auxiliary table that for each directive contains the index
of the row corresponding to that directive.
Looking up leaf constructs for a directive `dir_id` is of constant time,
and and consists of two lookups: `LeafTable[Auxiliary[dir_id]]`.
Finding a compound directive given the set of leafs is of time O(logn),
and is roughly represented by
`row = binary_search(LeafTable); return row[0]`.
The functions `getLeafConstructs` and `getCompoundConstruct` use these
lookup methods internally.
Commit: 99f42e6b88177328ebe725b5cb6d422106bbb3e6
https://github.com/llvm/llvm-project/commit/99f42e6b88177328ebe725b5cb6d422106bbb3e6
Author: Xu Jun <693788454 at qq.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb][dap] always add column field in StackFrame body (#73393)
The `column` field is mandatory in StackTraceResponse, otherwise the
debugger client may raise error (e.g. VSCode can't correctly open an
editor without the column field)
---------
Signed-off-by: Xu Jun <693788454 at qq.com>
Commit: bcd150d2906ac83ea0ab680e981770a71c021a03
https://github.com/llvm/llvm-project/commit/bcd150d2906ac83ea0ab680e981770a71c021a03
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port 40137ff0d81b
Commit: 7c5854673391940d578c591c727614bf50b78301
https://github.com/llvm/llvm-project/commit/7c5854673391940d578c591c727614bf50b78301
Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/unittests/Support/MathExtrasTest.cpp
Log Message:
-----------
[nfc][llvm] Fix a typo in MathExtras.h testing (#89653)
I made a small typo when writing a test for MathExtras.h, sorry!
Commit: 83bc7b57714dc2f6b33c188f2b95a0025468ba51
https://github.com/llvm/llvm-project/commit/83bc7b57714dc2f6b33c188f2b95a0025468ba51
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M libcxx/.clang-format
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/__algorithm/adjacent_find.h
M libcxx/include/__algorithm/all_of.h
M libcxx/include/__algorithm/any_of.h
M libcxx/include/__algorithm/binary_search.h
M libcxx/include/__algorithm/clamp.h
M libcxx/include/__algorithm/count.h
M libcxx/include/__algorithm/count_if.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/equal_range.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/find_end.h
M libcxx/include/__algorithm/find_first_of.h
M libcxx/include/__algorithm/find_if.h
M libcxx/include/__algorithm/find_if_not.h
M libcxx/include/__algorithm/fold.h
M libcxx/include/__algorithm/includes.h
M libcxx/include/__algorithm/is_heap.h
M libcxx/include/__algorithm/is_heap_until.h
M libcxx/include/__algorithm/is_partitioned.h
M libcxx/include/__algorithm/is_permutation.h
M libcxx/include/__algorithm/is_sorted.h
M libcxx/include/__algorithm/is_sorted_until.h
M libcxx/include/__algorithm/lexicographical_compare.h
M libcxx/include/__algorithm/lexicographical_compare_three_way.h
M libcxx/include/__algorithm/lower_bound.h
M libcxx/include/__algorithm/max.h
M libcxx/include/__algorithm/max_element.h
M libcxx/include/__algorithm/min.h
M libcxx/include/__algorithm/min_element.h
M libcxx/include/__algorithm/minmax.h
M libcxx/include/__algorithm/minmax_element.h
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/none_of.h
M libcxx/include/__algorithm/pstl_any_all_none_of.h
M libcxx/include/__algorithm/pstl_is_partitioned.h
M libcxx/include/__algorithm/ranges_adjacent_find.h
M libcxx/include/__algorithm/ranges_all_of.h
M libcxx/include/__algorithm/ranges_any_of.h
M libcxx/include/__algorithm/ranges_binary_search.h
M libcxx/include/__algorithm/ranges_clamp.h
M libcxx/include/__algorithm/ranges_contains.h
M libcxx/include/__algorithm/ranges_contains_subrange.h
M libcxx/include/__algorithm/ranges_count.h
M libcxx/include/__algorithm/ranges_count_if.h
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_equal.h
M libcxx/include/__algorithm/ranges_equal_range.h
M libcxx/include/__algorithm/ranges_find.h
M libcxx/include/__algorithm/ranges_find_end.h
M libcxx/include/__algorithm/ranges_find_first_of.h
M libcxx/include/__algorithm/ranges_find_if.h
M libcxx/include/__algorithm/ranges_find_if_not.h
M libcxx/include/__algorithm/ranges_includes.h
M libcxx/include/__algorithm/ranges_is_heap.h
M libcxx/include/__algorithm/ranges_is_heap_until.h
M libcxx/include/__algorithm/ranges_is_partitioned.h
M libcxx/include/__algorithm/ranges_is_permutation.h
M libcxx/include/__algorithm/ranges_is_sorted.h
M libcxx/include/__algorithm/ranges_is_sorted_until.h
M libcxx/include/__algorithm/ranges_lexicographical_compare.h
M libcxx/include/__algorithm/ranges_lower_bound.h
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_min.h
M libcxx/include/__algorithm/ranges_min_element.h
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__algorithm/ranges_minmax_element.h
M libcxx/include/__algorithm/ranges_mismatch.h
M libcxx/include/__algorithm/ranges_none_of.h
M libcxx/include/__algorithm/ranges_remove.h
M libcxx/include/__algorithm/ranges_remove_if.h
M libcxx/include/__algorithm/ranges_search.h
M libcxx/include/__algorithm/ranges_search_n.h
M libcxx/include/__algorithm/ranges_starts_with.h
M libcxx/include/__algorithm/ranges_unique.h
M libcxx/include/__algorithm/ranges_upper_bound.h
M libcxx/include/__algorithm/remove.h
M libcxx/include/__algorithm/remove_if.h
M libcxx/include/__algorithm/search.h
M libcxx/include/__algorithm/search_n.h
M libcxx/include/__algorithm/unique.h
M libcxx/include/__algorithm/upper_bound.h
M libcxx/include/__bit/bit_cast.h
M libcxx/include/__bit/bit_ceil.h
M libcxx/include/__bit/bit_floor.h
M libcxx/include/__bit/bit_width.h
M libcxx/include/__bit/byteswap.h
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/has_single_bit.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__chrono/leap_second.h
M libcxx/include/__chrono/time_zone.h
M libcxx/include/__chrono/time_zone_link.h
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__chrono/tzdb_list.h
M libcxx/include/__config
M libcxx/include/__filesystem/path.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__functional/identity.h
M libcxx/include/__iterator/empty.h
M libcxx/include/__math/abs.h
M libcxx/include/__math/copysign.h
M libcxx/include/__math/min_max.h
M libcxx/include/__math/roots.h
M libcxx/include/__math/rounding_functions.h
M libcxx/include/__math/traits.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/temporary_buffer.h
M libcxx/include/__memory_resource/memory_resource.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/lock_guard.h
M libcxx/include/__node_handle
M libcxx/include/__ranges/as_rvalue_view.h
M libcxx/include/__ranges/chunk_by_view.h
M libcxx/include/__ranges/drop_view.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/split_view.h
M libcxx/include/__ranges/take_view.h
M libcxx/include/__ranges/to.h
M libcxx/include/__utility/as_const.h
M libcxx/include/__utility/forward.h
M libcxx/include/__utility/move.h
M libcxx/include/__utility/to_underlying.h
M libcxx/include/array
M libcxx/include/barrier
M libcxx/include/cstddef
M libcxx/include/deque
M libcxx/include/forward_list
M libcxx/include/future
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/map
M libcxx/include/math.h
M libcxx/include/module.modulemap
M libcxx/include/new
M libcxx/include/queue
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/set
M libcxx/include/stack
M libcxx/include/stdlib.h
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/vector
M libcxx/src/tzdb.cpp
A libcxx/test/libcxx/diagnostics/algorithm.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/array.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/bit.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.compile.pass.cpp
R libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
R libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/cmath.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/cstddef.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/cstdlib.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/deque.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/filesystem.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/format.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.compile.pass.cpp
R libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/forward_list.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/functional.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/future.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/limits.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.compile.pass.cpp
R libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/list.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/map.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/math_nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/memory.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/memory_resource.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/mutex.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/new.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/node_handle.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/nodiscard.pass.cpp
R libcxx/test/libcxx/diagnostics/nodiscard_aftercxx17.verify.cpp
R libcxx/test/libcxx/diagnostics/nodiscard_extensions.compile.pass.cpp
R libcxx/test/libcxx/diagnostics/nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/pstl.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.compile.pass.cpp
R libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/queue.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/ranges.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp
R libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/regex.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/scoped_allocator.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/set.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/stack.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/string.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/string_view.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/unordered_map.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/unordered_set.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/utility.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/vector.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/view_adaptors.nodiscard_extensions.verify.cpp
R libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/adaptor.nodiscard.verify.cpp
R libcxx/test/libcxx/ranges/range.utility/range.utility.conv/to.nodiscard.verify.cpp
R libcxx/test/std/language.support/support.dynamic/ptr.launder/launder.nodiscard.verify.cpp
Log Message:
-----------
[libc++] Remove _LIBCPP_DISABLE_NODISCARD_EXTENSIONS and refactor the tests (#87094)
This also adds a few tests that were missing.
Commit: 8482dbdcd208ebccafd848d35550aa8a484e445e
https://github.com/llvm/llvm-project/commit/8482dbdcd208ebccafd848d35550aa8a484e445e
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M compiler-rt/lib/builtins/fp_add_impl.inc
M compiler-rt/lib/builtins/fp_fixint_impl.inc
M compiler-rt/lib/builtins/fp_lib.h
M compiler-rt/lib/builtins/int_types.h
Log Message:
-----------
compiler-rt: fix few builtins build warnings. (#88991)
Commit: a3e7a125e11872b97a84bf7766ce05ccc100e896
https://github.com/llvm/llvm-project/commit/a3e7a125e11872b97a84bf7766ce05ccc100e896
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/CMakeLists.txt
A compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
A compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
A compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
A compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
A compiler-rt/lib/ctx_profile/tests/driver.cpp
Log Message:
-----------
Reapply "[compiler-rt][ctx_instr] Add `ctx_profile` component" (#89625)
This reverts commit 8b2ba6a144e728ee4116e2804e9b5aed8824e726.
The uild errors (see below) were likely due to the same issue PR #88074 fixed. Addressed by following that PR.
https://lab.llvm.org/buildbot/#/builders/165/builds/52789
https://lab.llvm.org/buildbot/#/builders/91/builds/25273
Commit: b8ff08d0e668e5397dd799b76ede0bd54fcba75c
https://github.com/llvm/llvm-project/commit/b8ff08d0e668e5397dd799b76ede0bd54fcba75c
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMP.cpp
Log Message:
-----------
[Frontend][OpenMP] Add missing "return" statement after 40137ff0d81be
When responding to review comments, `return {}` was accidentally replaced
by `std::nullptr` instead of `return std::nullptr`.
Commit: 5a7c80ca58c628fab80aa4f95bb6d18598c70c80
https://github.com/llvm/llvm-project/commit/5a7c80ca58c628fab80aa4f95bb6d18598c70c80
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
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/rv32zba.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/xaluo.ll
Log Message:
-----------
[RISCV] Implement RISCVISD::SHL_ADD and move patterns into combine (#89263)
This implements a RISCV specific version of the SHL_ADD node proposed in
https://github.com/llvm/llvm-project/pull/88791.
If that lands, the infrastructure from this patch should seamlessly
switch over the to generic DAG node. I'm posting this separately because
I've run out of useful multiply strength reduction work to do without
having a way to represent MUL X, 3/5/9 as a single instruction.
The majority of this change is moving two sets of patterns out of
tablgen and into the post-legalize combine. The major reason for this is
that I have an upcoming change which needs to reuse the expansion logic,
but it also helps common up some code between zba and the THeadBa
variants.
On the test changes, there's a couple major categories:
* We chose a different lowering for mul x, 25. The new lowering involves
one fewer register and the same critical path, so this seems like a win.
* The order of the two multiplies changes in (3,5,9)*(3,5,9) in some
cases. I don't believe this matters.
* I'm removing the one use restriction on the multiply. This restriction
doesn't really make sense to me, and the test changes appear positive.
Commit: e95e94adc6bb748de015ac3053e7f0786b65f351
https://github.com/llvm/llvm-project/commit/e95e94adc6bb748de015ac3053e7f0786b65f351
Author: Jeff Niu <jeff at modular.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
M mlir/test/lib/Analysis/DataFlow/TestDenseForwardDataFlowAnalysis.cpp
M mlir/test/lib/Conversion/FuncToLLVM/TestConvertCallOp.cpp
M mlir/test/lib/Conversion/OneToNTypeConversion/TestOneToNTypeConversionPass.cpp
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
M mlir/test/lib/Dialect/Test/CMakeLists.txt
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestDialect.h
M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
A mlir/test/lib/Dialect/Test/TestFormatUtils.cpp
A mlir/test/lib/Dialect/Test/TestFormatUtils.h
M mlir/test/lib/Dialect/Test/TestFromLLVMIRTranslation.cpp
M mlir/test/lib/Dialect/Test/TestInterfaces.cpp
M mlir/test/lib/Dialect/Test/TestInterfaces.h
A mlir/test/lib/Dialect/Test/TestOpDefs.cpp
A mlir/test/lib/Dialect/Test/TestOps.cpp
A mlir/test/lib/Dialect/Test/TestOps.h
M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp
M mlir/test/lib/Dialect/Test/TestTraits.cpp
M mlir/test/lib/Dialect/Test/TestTypes.cpp
M mlir/test/lib/Dialect/Test/TestTypes.h
M mlir/test/lib/IR/TestBytecodeRoundtrip.cpp
M mlir/test/lib/IR/TestClone.cpp
M mlir/test/lib/IR/TestSideEffects.cpp
M mlir/test/lib/IR/TestSymbolUses.cpp
M mlir/test/lib/IR/TestTypes.cpp
M mlir/test/lib/IR/TestVisitorsGeneric.cpp
M mlir/test/lib/Pass/TestPassManager.cpp
M mlir/test/lib/Transforms/TestInlining.cpp
M mlir/test/lib/Transforms/TestMakeIsolatedFromAbove.cpp
M mlir/unittests/IR/AdaptorTest.cpp
M mlir/unittests/IR/IRMapping.cpp
M mlir/unittests/IR/InterfaceAttachmentTest.cpp
M mlir/unittests/IR/InterfaceTest.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
M mlir/unittests/IR/PatternMatchTest.cpp
M mlir/unittests/TableGen/OpBuildGen.cpp
Log Message:
-----------
[mlir][test] Reorganize the test dialect (#89424)
This PR massively reorganizes the Test dialect's source files. It moves
manually-written op hooks into `TestOpDefs.cpp`, moves format custom
directive parsers and printers into `TestFormatUtils`, adds missing
comment blocks, and moves around where generated source files are
included for types, attributes, enums, etc. into their own source file.
This will hopefully help navigate the test dialect source code, but also
speeds up compile time of the test dialect by putting generated source
files into separate compilation units.
This also sets up the test dialect to shard its op definitions, done in
the next PR.
Commit: 14e6f63ee64711bbd74a0fda745f62f62556d70d
https://github.com/llvm/llvm-project/commit/14e6f63ee64711bbd74a0fda745f62f62556d70d
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/utils/TableGen/DirectiveEmitter.cpp
Log Message:
-----------
[Frontend][OpenMP] Add suggested brackets in array initialization
Fixes -Werror build after 40137ff0d8.
Commit: e8572d0fc9940512ead2e81ec731208cb0d9ee50
https://github.com/llvm/llvm-project/commit/e8572d0fc9940512ead2e81ec731208cb0d9ee50
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-call.cpp
Log Message:
-----------
[flang] Don't emit conversion error for max(a,b, optionalCharacter) (#88156)
A recent patch added an error message for whole optional dummy argument
usage as optional arguments (third or later) to MAX and MIN when those
names required type conversion, since that conversion only works when
the optional arguments are present. This check shouldn't care about
character lengths. Make it so.
Commit: cb1b846eda2b18955cad28742350e4a73f166c07
https://github.com/llvm/llvm-project/commit/cb1b846eda2b18955cad28742350e4a73f166c07
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/select-rank.f90
Log Message:
-----------
[flang] Improve error reporting for procedures determined by usage (#88184)
When a symbol is known to be a procedure due to its being referenced as
a function or subroutine, improve the error messages that appear if the
symbol is also used as an object by attaching the source location of its
procedural use. Also, for errors spotted in name resolution due to how a
given symbol has been used, don't unconditionally set the symbol's error
flag (which is otherwise generally a good idea, to prevent cascades of
errors), so that more unrelated errors related to usage will appear.
Commit: 31505c4f6b977c2ccc785de29a047a31563e5c90
https://github.com/llvm/llvm-project/commit/31505c4f6b977c2ccc785de29a047a31563e5c90
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M flang/lib/Evaluate/int-power.h
Log Message:
-----------
[flang] Fix spurious overflow warning folding exponentiation by integ… (#88188)
…er powers
The code that folds exponentiation by an integer power can report a
spurious overflow warning because it calculates one last unnecessary
square of the base value. 10.**(+/-32) exposes the problem -- the value
of 10.**64 is calculated but not needed. Rearrange the implementation to
only calculate squares that are necessary.
Fixes https://github.com/llvm/llvm-project/issues/88151.
Commit: 2987fca041caddead6655a34009b6a6517d0c7df
https://github.com/llvm/llvm-project/commit/2987fca041caddead6655a34009b6a6517d0c7df
Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[lldb][Core] Fix pointless if conditon (#89650)
Addresses #85984
Signed-off-by: Troy-Butler <squintik at outlook.com>
Co-authored-by: Troy-Butler <squintik at outlook.com>
Commit: ce1b6783d26df46f0a70f72301283138adea80df
https://github.com/llvm/llvm-project/commit/ce1b6783d26df46f0a70f72301283138adea80df
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] simplify VOP3_Real definitions. NFC. (#89656)
Commit: 6884c1fc449890455751901b84e4eb6a3b558aea
https://github.com/llvm/llvm-project/commit/6884c1fc449890455751901b84e4eb6a3b558aea
Author: Wu Yingcong <yingcong.wu at intel.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M compiler-rt/test/gwp_asan/CMakeLists.txt
Log Message:
-----------
[test][GWP-ASan] Only add check-gwp_asan when its dependencies are built (#89164)
Currently, `check-gwp_asan` is added no matter its dependencies are
built or not, this is wrong and will cause cmake error when scudo is not
built. This patch includes the target in the dependencies check.
Commit: 138524ef8ea9d63e47d78f5e344c263e769a293e
https://github.com/llvm/llvm-project/commit/138524ef8ea9d63e47d78f5e344c263e769a293e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M flang/lib/Evaluate/fold-implementation.h
Log Message:
-----------
[flang] Fix crash on erroneous program (#88192)
Constant folding had a CHECK on array subscript rank that should more
gracefully handle a bad program with a subscript that is a matrix or
higher rank.
Fixes https://github.com/llvm/llvm-project/issues/88112.
Commit: 59bf49a63261344998756a31ce03af552e4dae61
https://github.com/llvm/llvm-project/commit/59bf49a63261344998756a31ce03af552e4dae61
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/stmt-func02.f90
Log Message:
-----------
[flang] Fix bogus error on statement function (#89402)
When a statement function in a nested scope has a name that clashes with
a name that exists in the host scope, the compiler can handle it
correctly (with a portability warning)... unless the host scope acquired
the name via USE association. Fix.
Fixes https://github.com/llvm/llvm-project/issues/88678.
Commit: d2be9826ddf17378a684ee42e3ac2a17a1c63fa8
https://github.com/llvm/llvm-project/commit/d2be9826ddf17378a684ee42e3ac2a17a1c63fa8
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M libc/src/__support/OSUtil/fuchsia/io.h
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/UnitTest/FPExceptMatcher.h
R libc/test/UnitTest/FuchsiaTest.h
A libc/test/UnitTest/GTest.h
M libc/test/UnitTest/LibcTest.h
M libc/test/UnitTest/MemoryMatcher.cpp
M libc/test/UnitTest/MemoryMatcher.h
R libc/test/UnitTest/PigweedTest.h
M libc/test/UnitTest/Test.h
A libc/test/UnitTest/ZxTest.h
Log Message:
-----------
[libc] Clean up alternate test framework support (#89659)
This replaces the old macros LIBC_COPT_TEST_USE_FUCHSIA and
LIBC_COPT_TEST_USE_PIGWEED with LIBC_COPT_TEST_ZXTEST and
LIBC_COPT_TEST_GTEST, respectively. These are really not about
whether the code is in the Fuchsia build or in the Pigweed build,
but just about what test framework is being used. The gtest
framework can be used in many contexts, and the zxtest framework
is not always what's used in the Fuchsia build.
The test/UnitTest/Test.h wrapper header now provides the macro
LIBC_TEST_HAS_MATCHERS() for use in `#if` conditionals on use of
gmock-style matchers, replacing `#if` conditionals that test the
framework selection macros directly.
Commit: cb2639196842630c0a1d5f91e26261f1c42b49fb
https://github.com/llvm/llvm-project/commit/cb2639196842630c0a1d5f91e26261f1c42b49fb
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/test/Semantics/resolve102.f90
Log Message:
-----------
[flang] Make proc characterization error conditional for generics (#89429)
When the characteristics of a procedure depend on a procedure that
hasn't yet been defined, the compiler currently emits an unconditional
error message. This includes the case of a procedure whose
characteristics depend, perhaps indirectly, on itself. However, in the
case where the characteristics of a procedure are needed to resolve a
generic, we should not emit an error for a hitherto undefined procedure
-- either the call will resolve to another specific procedure, in which
case the error is spurious, or it won't, and then an error will issue
anyway.
Fixes https://github.com/llvm/llvm-project/issues/88677.
Commit: 2f7775775c486c1afc725719fd55a318b589d7c6
https://github.com/llvm/llvm-project/commit/2f7775775c486c1afc725719fd55a318b589d7c6
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/docs/CMake.rst
Log Message:
-----------
[docs] Rewrite cmake LLVM_RAM_PER_*_JOB description (#88570)
Rewrite `LLVM_PARALLEL_{}_JOBS` and `LLVM_RAM_PER_{}_JOB` documentation.
Commit: fde5e471df3e946482422c10fa422b09a854c7cb
https://github.com/llvm/llvm-project/commit/fde5e471df3e946482422c10fa422b09a854c7cb
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/module/__fortran_builtins.f90
Log Message:
-----------
[flang] C_LOC is PURE (#89437)
The standard defines C_LOC as being PURE (actually SIMPLE now in
F'2023); characterize it appropriately.
Fixes https://github.com/llvm/llvm-project/issues/88747.
Commit: 1444e5acfb75630c23b118c39454a05cf3792d35
https://github.com/llvm/llvm-project/commit/1444e5acfb75630c23b118c39454a05cf3792d35
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M flang/include/flang/Common/real.h
M flang/include/flang/Decimal/binary-floating-point.h
M flang/include/flang/Evaluate/complex.h
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Evaluate/type.h
M flang/lib/Decimal/big-radix-floating-point.h
M flang/lib/Evaluate/complex.cpp
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/integer.cpp
M flang/lib/Evaluate/real.cpp
M flang/test/Evaluate/fold-out_of_range.f90
A flang/test/Evaluate/rewrite-out_of_range.F90
Log Message:
-----------
[flang] Complete implementation of OUT_OF_RANGE() (#89334)
The intrinsic function OUT_OF_RANGE() lacks support in lowering and the
runtime. This patch obviates a need for any such support by implementing
OUT_OF_RANGE() via rewriting in semantics. This rewriting of
OUT_OF_RANGE() calls replaces the existing code that folds
OUT_OF_RANGE() calls with constant arguments.
Some changes and fixes were necessary outside of OUT_OF_RANGE()'s
folding code (now rewriting code), whose testing exposed some other
issues worth fixing.
- The common::RealDetails<> template class was recoded in terms of a new
base class with a constexpr constructor, so that the the characteristics
of the various REAL kinds could be queried dynamically as well. This
affected some client usage.
- There were bugs in the code that folds TRANSFER() when the type of X
or MOLD was REAL(10) -- this is a type that occupies 16 bytes per
element in execution memory but only 10 bytes (was 12) in the data of
std::vector<Scalar<>> in a Constant<>.
- Folds of REAL->REAL conversions weren't preserving infinities.
Commit: 579efe011b0c8909d88ac9fd068a30a5f32dd1b2
https://github.com/llvm/llvm-project/commit/579efe011b0c8909d88ac9fd068a30a5f32dd1b2
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
Log Message:
-----------
Temporarily remove `clang_rt.ctx_profile` target
Trying to address the build failure on the `clang-ve-ninja`bot, which
appears hard to repro locally. The target isn't needed currently (there
are unit tests exercising the new functionality). Removing it for now
to green-ify the build bot.
Commit: 5fef5e68dcb015a73220173d08ab0987b6cf1582
https://github.com/llvm/llvm-project/commit/5fef5e68dcb015a73220173d08ab0987b6cf1582
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Log Message:
-----------
[GlobalISel] matchSDivByConst should use isNullValue() (#89666)
It has been using isZeroValue(), which is for floats, not integers.
Commit: 6094b3b7db7eab8318b9d30dec2691d231c7bdff
https://github.com/llvm/llvm-project/commit/6094b3b7db7eab8318b9d30dec2691d231c7bdff
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp
Log Message:
-----------
[ORC] Unify task dispatch across ExecutionSession and ExecutorProcessControl.
Updates ExecutionSession to use the ExecutorProcessControl object's
TaskDispatcher rather than having a separate dispatch function. This gives the
TaskDispatcher a global view of all tasks to be executed, and provides a
single point to wait on for tasks to complete when shutting down the JIT.
Commit: 2e2ac6f29c80b715c8b0495b7037f5d2427289ef
https://github.com/llvm/llvm-project/commit/2e2ac6f29c80b715c8b0495b7037f5d2427289ef
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M flang/lib/Evaluate/fold-logical.cpp
Log Message:
-----------
[flang] Fix build warning (#89686)
A recent patch had three declared but unused variables in it, triggering
a warning in some build bots. Remove them.
Commit: a28557aadd89d80733c608e5bfa6e672aca423eb
https://github.com/llvm/llvm-project/commit/a28557aadd89d80733c608e5bfa6e672aca423eb
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp
Log Message:
-----------
Revert "[ORC] Unify task dispatch across ExecutionSession and ExecutorProcessControl."
This reverts commit 6094b3b7db7eab8318b9d30dec2691d231c7bdff.
Multiple bots are broken.
Commit: 365bddf634993d5ea357e9715d8aacd7ee40c4b5
https://github.com/llvm/llvm-project/commit/365bddf634993d5ea357e9715d8aacd7ee40c4b5
Author: Thurston Dang <thurston at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/hwasan-check-memaccess-fixedshadow.ll
Log Message:
-----------
[hwasan] Add intrinsics for fixed shadow on Aarch64 (#89319)
This patch introduces HWASan memaccess intrinsics that assume a fixed
shadow (with the offset provided by --hwasan-mapping-offset=...), with
and without short granule support.
The behavior of HWASan is not meaningfully changed by this patch;
future work ("Optimize outlined memaccess for
fixed shadow on Aarch64": https://github.com/llvm/llvm-project/pull/88544) will make HWASan use these intrinsics.
We currently only support lowering the LLVM IR intrinsic to AArch64.
The test case is adapted from hwasan-check-memaccess.ll.
Commit: 8f54ed2173cb6a55d8be3a24764db61692a329dc
https://github.com/llvm/llvm-project/commit/8f54ed2173cb6a55d8be3a24764db61692a329dc
Author: dyung <douglas.yung at sony.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/test/TableGen/directive1.td
M llvm/test/TableGen/directive2.td
Log Message:
-----------
Update CHECK lines in tests after 14e6f63 added new output causing the tests to fail on multiple bots. (#89689)
Update the check lines added in #87247 after 14e6f63 updated the output
causing the tests to fail.
This should hopefully unbreak the bots failing due to these two tests
failing.
Commit: 28cea99845601cad840ccda23a8415f83e5a2b8c
https://github.com/llvm/llvm-project/commit/28cea99845601cad840ccda23a8415f83e5a2b8c
Author: Pranav Kant <prka at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
Log Message:
-----------
[Bazel][libc] Fix build failure
Commit: 30d4f6afc9d594fff309121116d8373b66fb1a24
https://github.com/llvm/llvm-project/commit/30d4f6afc9d594fff309121116d8373b66fb1a24
Author: Lubomir Litchev <9732688+LLITCHEV at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
Log Message:
-----------
Make createReadOrMaskedRead and isValidMaskedInputVector vector utilities (#89119)
Made the createReadOrMaskedRead and isValidMaskedInputVector utility
functions - to be accessible outside of the CU. Needed by the IREE new
TopK implementation.
Commit: dc3f94384d79941a712b15ac5c53bf86daa860c8
https://github.com/llvm/llvm-project/commit/dc3f94384d79941a712b15ac5c53bf86daa860c8
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
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/rv32zba.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/xaluo.ll
Log Message:
-----------
Revert "[RISCV] Implement RISCVISD::SHL_ADD and move patterns into combine (#89263)"
This reverts commit 5a7c80ca58c628fab80aa4f95bb6d18598c70c80. Noticed failures
with the following command:
$ llc -mtriple=riscv64 -mattr=+m,+xtheadba -verify-machineinstrs < test/CodeGen/RISCV/rv64zba.ll
I think I know the cause and will likely reland with a fix tomorrow.
Commit: 1effa19de2493b835f3b74dd92e77c8b199069a5
https://github.com/llvm/llvm-project/commit/1effa19de2493b835f3b74dd92e77c8b199069a5
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp
Log Message:
-----------
Re-apply "[ORC] Unify task dispatch across ExecutionSession and..." with fix.
This re-applies 6094b3b7db7, which was reverted in a28557aadd8 due to broken
bots. As far as I can tell all failures were due to a missing #include <deque>,
which has been adedd in this commit.
Commit: 16efd2a4c4b6a811688e5f623cb04dbd2d0579e8
https://github.com/llvm/llvm-project/commit/16efd2a4c4b6a811688e5f623cb04dbd2d0579e8
Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
A clang/test/Driver/aix-small-local-exec-dynamic-tls.c
R clang/test/Driver/aix-small-local-exec-tls.c
Log Message:
-----------
[AIX][TLS][clang] Add -maix-small-local-dynamic-tls clang option (#88829)
This patch adds the clang portion of an AIX-specific option to inform
the
compiler that it can use a faster access sequence for the local-dynamic
TLS model (formally named aix-small-local-dynamic-tls).
This patch mainly references Amy's work on small local-exec TLS support.
Commit: aa89c1bd78a0c49801193bec5e7f5c023448bd19
https://github.com/llvm/llvm-project/commit/aa89c1bd78a0c49801193bec5e7f5c023448bd19
Author: Pranav Kant <prka at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
Log Message:
-----------
[lldb][DAP] Fix test failure from #73393 (#89692)
#73393 introduced a mandatory column field. Update test for that.
Commit: e7efd37c2296f329fb0fd687dd0cfb846d47480f
https://github.com/llvm/llvm-project/commit/e7efd37c2296f329fb0fd687dd0cfb846d47480f
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp
Log Message:
-----------
Revert "Re-apply [ORC] Unify task dispatch across ExecutionSession and..."
This reverts commit 1effa19de24 while I investigate the test failure at
https://lab.llvm.org/buildbot/#/builders/285/builds/888.
Commit: ff153bd553574e8049fb1f4d6858c889bc2e99a8
https://github.com/llvm/llvm-project/commit/ff153bd553574e8049fb1f4d6858c889bc2e99a8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
Log Message:
-----------
[InstCombine] Add test for #89669 (NFC)
Commit: 28d85e2d9e9f3b62554ad8446095aac275022c3c
https://github.com/llvm/llvm-project/commit/28d85e2d9e9f3b62554ad8446095aac275022c3c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Add test for #89500 (NFC)
Commit: af8445e9ce4d9bd74775a68b694957640f29d28a
https://github.com/llvm/llvm-project/commit/af8445e9ce4d9bd74775a68b694957640f29d28a
Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Log Message:
-----------
[lldb] Replace condition that always evaluates to false (#89685)
Addresses issue #87243.
The current code incorrectly checks the validity of ```obj``` twice when
it should be checking the new ```str_obj``` pointer.
Signed-off-by: Troy-Butler <squintik at outlook.com>
Co-authored-by: Troy-Butler <squintik at outlook.com>
Commit: f8a19a8f74f2dffbca654c5d84881cfe17026dab
https://github.com/llvm/llvm-project/commit/f8a19a8f74f2dffbca654c5d84881cfe17026dab
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/InstructionSimplify.h
M llvm/include/llvm/Analysis/SimplifyQuery.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
Log Message:
-----------
[SimplifyQuery] Avoid PatternMatch.h include (NFC)
Move the one method that uses it out of line. This is primarily to
reduce the number of files to rebuild when changing PatternMatch.h.
Commit: 4127a69d6c9106cb96a5da30daec7df80fb812d1
https://github.com/llvm/llvm-project/commit/4127a69d6c9106cb96a5da30daec7df80fb812d1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/unittests/Support/MathExtrasTest.cpp
Log Message:
-----------
[Support] Fix a warning
This patch fixes:
third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
error: comparison of integers of different signs: 'const int' and
'const unsigned long' [-Werror,-Wsign-compare]
Commit: 34ee77c46ae70cdbac77d1d86de2c616e68c74f6
https://github.com/llvm/llvm-project/commit/34ee77c46ae70cdbac77d1d86de2c616e68c74f6
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/test/Transforms/SimplifyCFG/speculate-store.ll
Log Message:
-----------
[SimplifyCFG] Add tests for #89672 (NFC)
Commit: 4ec9a662d388db8a2bb862dbaa7fc3fd809d1240
https://github.com/llvm/llvm-project/commit/4ec9a662d388db8a2bb862dbaa7fc3fd809d1240
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
[ADT] Remove StringRef::{startswith,endswith} (#89548)
These functions have been deprecated since:
commit 5ac12951b4e9bbfcc5791282d0961ec2b65575e9
Author: Kazu Hirata <kazu at google.com>
Date: Sun Dec 17 15:52:50 2023 -0800
Commit: b64e483785bfef5ec4977988543ed5cfaf62f306
https://github.com/llvm/llvm-project/commit/b64e483785bfef5ec4977988543ed5cfaf62f306
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
A llvm/test/TableGen/riscv-target-def.td
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV][TableGen] Generate RISCVTargetParserDef.inc from the new RISCVExtension tblgen information. (#89335)
Instead of using RISCVISAInfo's extension information, use the extension
found in tblgen after #89326.
We still need to use RISCVISAInfo code to get the sorting rules for the
ISA string.
The ISA string we generate now is not quite the same extension we had
before. No implied extensions are included in the generate string unless
they are explicitly listed in RISCVProcessors.td. This primarily affects
Zicsr being implied by F, V implying Zve*, and Zvl*b implying a smaller
Zvl*b. All of these implication should be picked up when the string is
used by the frontend.
The benefit is that we get a more manageable ISA string for humans to
deal with.
This is a step towards generating RISCVISAInfo's extension list from
tblgen.
Commit: 883887493c882d656d5da100ee637a348e81357c
https://github.com/llvm/llvm-project/commit/883887493c882d656d5da100ee637a348e81357c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/speculate-store.ll
Log Message:
-----------
[SimplifyCFG] Check alignment when speculating stores
When speculating a store based on a preceding load/store, we need
to ensure that the speculated store does not have a higher
alignment (which might only be guaranteed by the branch condition).
There are various ways in which this could be strengthened (we
could get or enforce the alignment), but for now just do the
simple check against the preceding load/store.
Fixes https://github.com/llvm/llvm-project/issues/89672.
Commit: e5f9de89e540b06893709d97f3ce9671071b3df0
https://github.com/llvm/llvm-project/commit/e5f9de89e540b06893709d97f3ce9671071b3df0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGExprConstant.cpp
Log Message:
-----------
[clang][CodeGen][NFC] Make ConstExprEmitter a ConstStmtVisitor (#89041)
No reason for this to not be one. This gets rid of a few const_casts.
Commit: 25a391c7718ee8ed22e85dec212b5b77722c7f4e
https://github.com/llvm/llvm-project/commit/25a391c7718ee8ed22e85dec212b5b77722c7f4e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Sink some repeated code into parseVTypeToken. NFC (#89694)
Both calls to parseVTypeToken were proceeded by check for an Identifier
token and a call to getIdentifier. Sync those into the parseVTypeToken
to reduce repetition.
Commit: 07b1177eed7549d0badf72078388422ce73167a0
https://github.com/llvm/llvm-project/commit/07b1177eed7549d0badf72078388422ce73167a0
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[NFC] [Serialization] Use semantical type DeclID instead of raw type 'uint32_t'
This patch tries to use DeclID in the code bases to avoid use the raw
type 'uint32_t'. It is problematic to use the raw type 'uint32_t' if we
want to change the type of DeclID some day.
Commit: a2ccd5d88ffa8a730914c608601e1e3f7785cb08
https://github.com/llvm/llvm-project/commit/a2ccd5d88ffa8a730914c608601e1e3f7785cb08
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/noundef.ll
Log Message:
-----------
[FunctionAttrs] Fix incorrect noundef inference with poison attrs (#89348)
Currently, when inferring noundef, we only check that the return value
is not undef/poison. However, we fail to account for the possibility
that a poison-generating return attribute will convert the value to
poison, and then violate the noundef attribute, resulting in immediate
UB.
For the relevant return attributes (align, nonnull and range), check
whether we can trivially re-prove the relevant property, otherwise do
not infer noundef.
This fixes the FunctionAttrs side of
https://github.com/llvm/llvm-project/issues/88026.
Commit: 02d00ec985f8ab9e26bd80fb38c88471da4cb0c8
https://github.com/llvm/llvm-project/commit/02d00ec985f8ab9e26bd80fb38c88471da4cb0c8
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
Log Message:
-----------
[NFC] Remove unused LocalRedeclarationsInfo from ASTBitcodes.h
As the title suggested.
Commit: b28f4d4dd0bbf50059cb19ca794af967374e1900
https://github.com/llvm/llvm-project/commit/b28f4d4dd0bbf50059cb19ca794af967374e1900
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/Support/OnDiskHashTable.h
Log Message:
-----------
[memprof] Omit the key length for the record table (#89527)
The record table has a constant key length, so we don't need to
serialize or deserialize it for every key-data pair. Omitting the key
length saves 0.06% of the indexed MemProf file size.
Note that it's OK to change the format because Version2 is still under
development.
Commit: 4513050f526be8bc17883685efec91a15ae427f8
https://github.com/llvm/llvm-project/commit/4513050f526be8bc17883685efec91a15ae427f8
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M mlir/include/mlir/IR/Builders.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[MLIR] Harmonize the behavior of the folding API functions (#88508)
This commit changes `OpBuilder::tryFold` to behave more similarly to
`Operation::fold`. Concretely, this ensures that even an in-place fold
returns `success`.
This is necessary to fix a bug in the dialect conversion that occurred
when an in-place folding made an operation legal. The dialect conversion
infrastructure did not check if the result of an in-place folding
legalized the operation and just went ahead and tried to apply pattern
anyways.
The added test contains a simplified version of a breakage we observed
downstream.
Commit: 9ba6961ce05b17a70c22354f0b54a963ed1ab49c
https://github.com/llvm/llvm-project/commit/9ba6961ce05b17a70c22354f0b54a963ed1ab49c
Author: martinboehme <mboehme at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/Transfer.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
Reapply "[clang][dataflow] Model conditional operator correctly." with fixes (#89596)
I reverted https://github.com/llvm/llvm-project/pull/89213 beause it was
causing buildbots to fail with assertion failures.
Embarrassingly, it turns out I had been running tests locally in
`Release` mode, i.e. with `assert()` compiled away.
This PR re-lands #89213 with fixes for the failing assertions.
Commit: 79225349748bb556fd027cc0bfeb73b1e9a632f4
https://github.com/llvm/llvm-project/commit/79225349748bb556fd027cc0bfeb73b1e9a632f4
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformEnums.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
A mlir/test/Dialect/Linalg/transpose-matmul-a.mlir
A mlir/test/Dialect/Linalg/transpose-matmul-b.mlir
A mlir/test/Dialect/Linalg/transpose-matmul.mlir
Log Message:
-----------
[mlir][linalg] Add patterns to convert matmul to transposed variants (#89075)
This adds patterns to convert from the Linalg matmul and batch_matmul
ops to the transposed variants. By default the LHS matrix is transposed.
Our work enabling a lowering path from linalg.matmul to ArmSME has
revealed the current lowering results in non-contiguous memory accesses
for the A matrix and very poor performance.
These patterns provide a simple option to fix this.
Commit: 87a2159553dce77a55b3f121ad4ce82bc20553ef
https://github.com/llvm/llvm-project/commit/87a2159553dce77a55b3f121ad4ce82bc20553ef
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTRecordReader.h
Log Message:
-----------
[NFC] [Serialization] Remove unused readVisibleDeclContextStorage from ASTRecordReader.h
As the title suggested.
Commit: eaab97a0b7f15ce1f68aaa9daf7e96468933cad8
https://github.com/llvm/llvm-project/commit/eaab97a0b7f15ce1f68aaa9daf7e96468933cad8
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2024-04-22 (Mon, 22 Apr 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttributeCommonInfo.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[NFC] Rename hlsl semantics to hlsl annotations (#89309)
The attribute name "HLSLSemantics" is confusing, because semantics
aren't always the annotation that are applied to specific variables. The
name for this attribute needs to be less specific. This PR changes the
attribute name from HLSLSemantic to HLSLAnnotation, and changes the
associated function and variable names to support this conceptual
change.
The HLSLAnnotation attribute will never be output in ast-dump due to it
being parsed for the attribute that it represents. There is no
functional change, so there are no accompanying tests.
Commit: 561b3decdfb56e6765bff90121fc0b6f918f1c0b
https://github.com/llvm/llvm-project/commit/561b3decdfb56e6765bff90121fc0b6f918f1c0b
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Add test data to adapt for 79225349748bb556fd027cc0bfeb73b1e9a632f4
Commit: a04624206ddf03dc54d5c372e7eac13575b4124b
https://github.com/llvm/llvm-project/commit/a04624206ddf03dc54d5c372e7eac13575b4124b
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/test/AST/ast-dump-fpfeatures.cpp
A clang/test/AST/ast-dump-fpfeatures.m
A clang/test/AST/ast-dump-late-parsing.cpp
Log Message:
-----------
[clang] Set correct FPOptions if attribute 'optnone' presents (#85605)
Attribute `optnone` must turn off all optimizations including fast-math
ones. Actually AST nodes in the 'optnone' function still had fast-math
flags. This change implements fixing FP options before function body is
parsed.
Commit: 35159c2e813ffc0f6cdf20c5c466b17b5a63e2e1
https://github.com/llvm/llvm-project/commit/35159c2e813ffc0f6cdf20c5c466b17b5a63e2e1
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M flang/include/flang/Evaluate/call.h
M flang/test/Lower/HLFIR/calls-f77.f90
Log Message:
-----------
[flang] handle intrinsic interfaces in FunctionRef::GetType (#89583)
User functions may be declared with an interface that is a specific
intrinsic. In such case, there is no result type available from the
procedure symbol (at least without using evaluate::Probe), and
FunctionRef::GetType() returned nullopt. This caused lowering to crash.
The result type of specific intrinsic procedures is always a lengthless
intrinsic type, so it is fully defined in the template argument of
FunctionRef. Use it.
Commit: 3ea9ed471c8dca8f703d7f3ce93d274a718b54bb
https://github.com/llvm/llvm-project/commit/3ea9ed471c8dca8f703d7f3ce93d274a718b54bb
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/docs/GlobalISel/IRTranslator.rst
M llvm/docs/WritingAnLLVMBackend.rst
Log Message:
-----------
[GlobalISel] Expand IRTranslator docs. NFC (#89186)
Add some more details about how calls are lowered and what APIs are
available.
Commit: 654846560c8892b32ea1e92c1fffc5e70bf0e75f
https://github.com/llvm/llvm-project/commit/654846560c8892b32ea1e92c1fffc5e70bf0e75f
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
A mlir/test/Target/Cpp/global.mlir
Log Message:
-----------
EmitC: Add emitc.global and emitc.get_global (#145) (#88701)
This adds
- `emitc.global` and `emitc.get_global` ops to model global variables
similar to how `memref.global` and `memref.get_global` work.
- translation of those ops to C++
- lowering of `memref.global` and `memref.get_global` into those ops
---------
Co-authored-by: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
Commit: 05c1447b3eabe9cc4a27866094e46c57350c5d5a
https://github.com/llvm/llvm-project/commit/05c1447b3eabe9cc4a27866094e46c57350c5d5a
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/test/ExtractAPI/availability.c
Log Message:
-----------
[clang][ExtractAPI] Serialize platform specific unavailable attribute in symbol graphs (#89277)
rdar://125622225
Commit: ce763bff081f8e97c7c3610ed0f15f14d60e875f
https://github.com/llvm/llvm-project/commit/ce763bff081f8e97c7c3610ed0f15f14d60e875f
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
Log Message:
-----------
[analyzer] Fix performance of getTaintedSymbolsImpl() (#89606)
Previously the function
```
std::vector<SymbolRef> taint::getTaintedSymbolsImpl(ProgramStateRef State,
const MemRegion *Reg,
TaintTagType K,
bool returnFirstOnly)
```
(one of the 4 overloaded variants under this name) was handling element
regions in a highly inefficient manner: it performed the "also examine
the super-region" step twice. (Once in the branch for element regions,
and once in the more general branch for all `SubRegion`s -- note that
`ElementRegion` is a subclass of `SubRegion`.)
As pointer arithmetic produces `ElementRegion`s, it's not too difficult
to get a chain of N nested element regions where this inefficient
recursion would produce 2^N calls.
This commit is essentially NFC, apart from the performance improvements
and the removal of (probably irrelevant) duplicate entries from the
return value of `getTaintedSymbols()` calls.
Fixes #89045
Commit: 55fc5eb95fbd26ac0539089cfc4e287ad7a233c3
https://github.com/llvm/llvm-project/commit/55fc5eb95fbd26ac0539089cfc4e287ad7a233c3
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
A llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
Log Message:
-----------
[LV] Add additional cost model tests with inductions and truncates.
Add test coverage for additional cases not covered by current tests with
multiple inductions and truncates.
Commit: 0e44ffe817ae0f544199be70f468975fcc3ab5c5
https://github.com/llvm/llvm-project/commit/0e44ffe817ae0f544199be70f468975fcc3ab5c5
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
A llvm/test/DebugInfo/X86/call-origin-linkage-names.ll
Log Message:
-----------
[DWARF] Add option to add linkage_names to call_origin declaration refs (#89640)
If -mllvm -add-linkage-names-to-external-call-origins is true then add
DW_AT_linkage_name attributes to DW_TAG_subprogram DIEs referenced by
DW_AT_call_origin attributes that would otherwise be omitted.
A debugger may use DW_TAG_call_origin attributes to determine whether any
frames in a callstack are missing due to optimisations (e.g. tail calls).
For example, say a() calls b() tail-calls c(), and you stop in your debugger
in c():
The callstack looks like this:
c()
a()
Looking "up" from c(), call site information can be found in a(). This includes
a DW_AT_call_origin referencing b()'s subprogram DIE, which means the call at
this call site was to b(), not c() where we are currently stopped. This
indicates b()'s frame has been lost due to optimisation (or is misleading due
to ICF).
This patch makes it easier for a debugger to check whether the referenced
DIE describes the target function or not, for example by comparing the referenced
function name to the current frame.
There's already an option to apply DW_AT_linkage_name in a targeted manner:
-dwarf-linkage-names=Abstract, which limits adding DW_AT_linkage_names to
abstract subprogram DIEs (this is default for SCE tuning).
The new flag shouldn't affect non-SCE-tuned behaviour whether it is enabled
or not because the non-SCE-tuned behaviour is to always add linkage names to
subprogram DIEs.
Commit: da57609947f254fb13f1556d4d29c7a0f9a23160
https://github.com/llvm/llvm-project/commit/da57609947f254fb13f1556d4d29c7a0f9a23160
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/test/MC/AArch64/ilp32-diagnostics.s
Log Message:
-----------
[PAC][MC][AArch64] Fix error message for AUTH_ABS64 reloc with ILP32 (#89563)
The `LP64 eqv:` should say that the equivalent is `AUTH_ABS64` rather
than `ABS64` when trying to emit an AUTH absolute reloc with ILP32.
Commit: c921ac724ff06997bab25715786c98d4926b0c0e
https://github.com/llvm/llvm-project/commit/c921ac724ff06997bab25715786c98d4926b0c0e
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
M llvm/test/CodeGen/WebAssembly/multivalue-dont-move-def-past-use.mir
M llvm/test/CodeGen/WebAssembly/multivalue-stackify.ll
M llvm/test/CodeGen/WebAssembly/multivalue.ll
M llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll
Log Message:
-----------
[WebAssembly] Enable multivalue return when multivalue ABI is used (#88492)
Multivalue feature of WebAssembly has been standardized for several
years now. I think it makes sense to be able to enable it in the feature
section by default for our clang/llvm-produced binaries so that the
multivalue feature can be used as necessary when necessary within our
toolchain and also when running other optimizers (e.g. wasm-opt) after
the LLVM code generation.
But some WebAssembly toolchains, such as Emscripten, do not provide both
mulvalue-returning and not-multivalue-returning versions of libraries.
Also allowing the uses of multivalue in the features section does not
necessarily mean we generate them whenever we can to the fullest, which
is a different code generation / optimization option.
So this makes the lowering of multivalue returns conditional on the use
of 'experimental-mv' target ABI. This ABI is turned off by default and
turned on by passing `-Xclang -target-abi -Xclang experimental-mv` to
`clang`, or `-target-abi experimental-mv` to `clang -cc1` or `llc`.
But the purpose of this PR is not tying the multivalue lowering to this
specific 'experimental-mv'. 'experimental-mv' is just one multivalue ABI
we currently have, and it is still experimental, meaning it is not very
well optimized or tuned for performance. (e.g. it does not have the
limitation of the max number of multivalue-lowered values, which can be
detrimental to performance.) We may change the name of this ABI, or
improve it, or add a new multivalue ABI in the future. Also I heard that
WASI is planning to add their multivalue ABI soon. So the plan is,
whenever any one of multivalue ABIs is enabled, we enable the lowering
of multivalue returns in the backend. We currently have only
'experimental-mv' in the repo so we only check for that in this PR.
Related past discussions:
#82714
https://github.com/WebAssembly/tool-conventions/pull/223#issuecomment-2008298652
Commit: b8e3b2ad66cf78ad2b7832577b1d58dc93c5da21
https://github.com/llvm/llvm-project/commit/b8e3b2ad66cf78ad2b7832577b1d58dc93c5da21
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[NFC] [Serialization] Turn type alias LocalDeclID into class
Previously, the LocalDeclID and GlobalDeclID are defined as:
```
using LocalDeclID = DeclID;
using GlobalDeclID = DeclID;
```
This is more or less concerning that we may misuse LocalDeclID and
GlobalDeclID without understanding it. There is also a FIXME saying
this.
This patch tries to turn LocalDeclID into a class to improve the type
safety here.
Commit: a22ffe54a33035d95ee239a11b4dc771f66d102b
https://github.com/llvm/llvm-project/commit/a22ffe54a33035d95ee239a11b4dc771f66d102b
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyRefTypeMem2Local.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/test/CodeGen/WebAssembly/ref-type-mem2local.ll
Log Message:
-----------
[WebAssembly] Make RefTypeMem2Local recognize target-features (#88916)
Currently we check `Subtarget->hasReferenceTypes()` to decide whether to
run `RefTypeMem2Local` pass:
https://github.com/llvm/llvm-project/blob/6133878227efc30355c02c2f089e06ce58231a3d/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp#L491-L495
This works fine when `-mattr=+reference-types` is given in the command
line (of `llc` or of `wasm-ld` in case of LTO). This also works fine if
the backend is called by Clang, because Clang's feature set will be
passed to the backend when creating a `TargetMachine`:
https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/clang/lib/CodeGen/BackendUtil.cpp#L549-L550
https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/clang/lib/CodeGen/BackendUtil.cpp#L561-L562
But if the backend compilation is called by `llc`, a `TargetMachine` is
created here:
https://github.com/llvm/llvm-project/blob/bf1ad1d267b1f911cb9846403d2c3d3250a40870/llvm/tools/llc/llc.cpp#L554-L555
And if the backend is called by `wasm-ld`'s LTO, a `TargetMachine` is
created here:
https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/llvm/lib/LTO/LTOBackend.cpp#L513
At this point, in the both places, the created `TargetMachine` only has
access to target features given by the command line with `-mattr=` and
doesn't have access to bitcode functions' `target-features` attribute.
We later gather the target features used by functions and store that
info in the `TargetMachine` in `CoalesceFeaturesAndStripAtomics`,
https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp#L202-L206
but this runs in the pass pipeline driven by the pass manager, so this
has not run by the time we check `Subtarget->hasReferenceTypes()` in
`WebAssemblyPassConfig::addISelPrepare`. So currently `RefTypeMem2Local`
would not run on those functions with
`"target-features"="+reference-types"` attributes if the backend is
called by `llc` or `wasm-ld`.
So this makes `RefTypeMem2Local` pass run unconditionally, and checks
`target-featurs` function attribute to decide whether to run the pass on
each function. This allows the pass to run with `wasm-ld` + LTO and
`llc`, even if `-mattr=+reference-types` is not explicitly given in the
command line again, as long as `+reference-types` is in the function's
`target-features` attribute.
This also covers the case we give the target features by the command
line like `llc -mattr=+reference-types` and not in the bitcode
function's attribute, because attributes given in the command line will
be stored in the function's attributes anyway:
https://github.com/llvm/llvm-project/blob/bd28889732e14ac6baca686c3ec99a82fc9cd89d/llvm/lib/CodeGen/CommandFlags.cpp#L673-L674
https://github.com/llvm/llvm-project/blob/bd28889732e14ac6baca686c3ec99a82fc9cd89d/llvm/lib/CodeGen/CommandFlags.cpp#L732-L733
With this PR,
- `lto0.test_externref_emjs`
- `thinlto0.test_externref_emjs`,
- `lto0.test_externref_emjs_dynlink`,
- `thinlto0.test_externref_emjs_dynlnk`
pass. These currently fail but don't get checked in the CI. I think they
used to pass but started to fail after #83196, because we used to run
mem2reg even with `-O0` before that.
(`ltoN` (N > 0) tests are not affected because they run mem2reg anyway
so they don't need `RefTypeMem2Local`)
Commit: d5093aac543dfd24f339f7d43aa02282f7c16fa5
https://github.com/llvm/llvm-project/commit/d5093aac543dfd24f339f7d43aa02282f7c16fa5
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[mlir][bazel] drop unnecessary rule
#75960 added a bazel rule for generating enums for the async dialects, but there are no enums defined, and no cmake rule for that. Delete this rule.
Commit: f220c359f451de900fc8738cbfa27f33c3fc000e
https://github.com/llvm/llvm-project/commit/f220c359f451de900fc8738cbfa27f33c3fc000e
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M mlir/include/mlir/Interfaces/TilingInterface.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
Log Message:
-----------
Revert "[mlir][linalg] Enable fuse consumer" (#89722)
Reverts llvm/llvm-project#85528. This was committed without tests,
despite reviewers requesting tests to be added. The post-commit
discussion leans towards revert, which would be consistent with the
policy.
Commit: 20cb2ed5299bf1e8d9f2c92785179ec6c947d490
https://github.com/llvm/llvm-project/commit/20cb2ed5299bf1e8d9f2c92785179ec6c947d490
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/Support/OnDiskHashTable.h
Log Message:
-----------
Revert b28f4d4dd0bbf50059cb19ca794af967374e1900 "[memprof] Omit the key length for the record table (#89527)"
Breaks on EXPENSIVE_CHECKS builds which still use the static ReadKeyDataLength implementation in several locations
Commit: dbcfb434a9c7fea194c7b1f7f04f0947f88dbc85
https://github.com/llvm/llvm-project/commit/dbcfb434a9c7fea194c7b1f7f04f0947f88dbc85
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M lldb/test/API/python_api/type/TestTypeList.py
Log Message:
-----------
[lldb/test] Rename a function
I misunderstood what is the function looking up
Commit: a68ea36b4a55352e89ab4a80d59b8ad8e614a3dc
https://github.com/llvm/llvm-project/commit/a68ea36b4a55352e89ab4a80d59b8ad8e614a3dc
Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][EmitC] Update GlobalOp description (#89726)
Commit: 8cc34fadec71c358c2c69bbca236294afb259e02
https://github.com/llvm/llvm-project/commit/8cc34fadec71c358c2c69bbca236294afb259e02
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
R flang/test/Lower/OpenMP/Todo/reduction-allocatable.f90
A flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
A flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
Log Message:
-----------
[flang][OpenMP] Support reduction of allocatable variables (#88392)
Both arrays and trivial scalars are supported. Both cases must use
by-ref reductions because both are boxed.
My understanding of the standards are that OpenMP says that this should
follow the rules of the intrinsic reduction operators in fortran, and
fortran says that unallocated allocatable variables can only be
referenced to allocate them or test if they are already allocated.
Therefore we do not need a null pointer check in the combiner region.
Commit: bc7204811dd20e124fbb8713e652fcf70872b0b3
https://github.com/llvm/llvm-project/commit/bc7204811dd20e124fbb8713e652fcf70872b0b3
Author: Adam Paszke <adam.paszke at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/build_defs.bzl
Log Message:
-----------
[bazel] Add a bazel flag to enable building MLIR with CUDA support (#88856)
This makes it possible to specify
`-- at llvm-project//mlir:enable_cuda=true` on the bazel command line and
get a build that includes NVIDIA GPU support in MLIR.
Commit: 719112c2f667a1e4a51faeba966d8715d272cd98
https://github.com/llvm/llvm-project/commit/719112c2f667a1e4a51faeba966d8715d272cd98
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
A llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir
Log Message:
-----------
AMDGPU: precommit test for bug in RenameIndependentSubregs
Commit: be1c72d2ba497de7e9420df0b6a136bbb8942a42
https://github.com/llvm/llvm-project/commit/be1c72d2ba497de7e9420df0b6a136bbb8942a42
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
M mlir/test/Dialect/Linalg/transpose-matmul-a.mlir
M mlir/test/Dialect/Linalg/transpose-matmul-b.mlir
Log Message:
-----------
[mlir][linalg] Move transpose_matmul to targeted transform op (#89717)
More targeted than a blanket "apply everywhere" pattern. Follow up to
#89075 to address @ftynse's feedback.
Commit: b467c6b53660dcaa458c2b5d7fbf5f93ee2af910
https://github.com/llvm/llvm-project/commit/b467c6b53660dcaa458c2b5d7fbf5f93ee2af910
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[NFC] [Serialization] Turn type alias GlobalDeclID into a class
Succsessor of b8e3b2ad66cf78ad2b. This patch also converts the type
alias GlobalDeclID to a class to improve the readability and type
safety.
Commit: 132bf4aedd678277b57d8e2bdabf9a1e9eb254c5
https://github.com/llvm/llvm-project/commit/132bf4aedd678277b57d8e2bdabf9a1e9eb254c5
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M mlir/test/Integration/lit.local.cfg
Log Message:
-----------
[mlir][aarch64] Remove LIT config for lli (#89545)
This change will only affect MLIR integration tests to be run on
AArch64. When originally introduced, these tests would run with `lli`.
Those tests has since been updated to use `mlir-cpu-runner` instead, see
e.g.:
* https://reviews.llvm.org/D155405
* https://reviews.llvm.org/D146917
This patch removes all the leftover `lli` configuration in LIT that's
currently not needed (and is unlikely to be needed any time soon).
Commit: b4c6607add8bba778b0a278ce7d069c057219eed
https://github.com/llvm/llvm-project/commit/b4c6607add8bba778b0a278ce7d069c057219eed
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[VectorCombine][X86] Add test showing foldShuffleOfShuffles folding shuffles that would be better separate
On AVX+ targets a broadcast load can be treated as free.
Commit: a9e87304a3da9ef8ab0f9e035b0c480f8dd4c017
https://github.com/llvm/llvm-project/commit/a9e87304a3da9ef8ab0f9e035b0c480f8dd4c017
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
A llvm/test/Analysis/CostModel/X86/load-broadcast.ll
Log Message:
-----------
[CostModel][X86] Add costs test coverage for broadcast loads
Broadcast shuffles can be free is fed from a one-use load
Commit: f89f670d92b5726fc61bf8252a6ecc273086c501
https://github.com/llvm/llvm-project/commit/f89f670d92b5726fc61bf8252a6ecc273086c501
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/load-broadcast.ll
Log Message:
-----------
[CostModel][X86] Broadcast shuffles can be free if they are from a one-use load
AVX1+ can handle 32/64-bit broadcast loads, AVX2+ can handle all broadcast loads (we should be able to improve isLegalBroadcastLoad to handle more of this type matching).
Commit: 34caafe84ffd8588e717c92da358ad9368cc4fe5
https://github.com/llvm/llvm-project/commit/34caafe84ffd8588e717c92da358ad9368cc4fe5
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[LLVM][CodeGen][AArch64] Simplify lowering for predicate inserts. (#89072)
The original code has an invalid use of UZP1 because the result vector
type does not match its input vector types. Rather than insert extra nop
casts I figure it would be better to use CONCAT_VECTORS because that's
the operation we're performing.
NOTE: This is a step to enable more asserts in verifyTargetSDNode.
Commit: d610a513ce10b41c94da9299e926f22d96e873bc
https://github.com/llvm/llvm-project/commit/d610a513ce10b41c94da9299e926f22d96e873bc
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir
Log Message:
-----------
RenameIndependentSubregs: Add missing sub-range for new IMPLICIT_DEFs (#89050)
Existing sub-ranges are correctly updated because new IMPLICIT_DEF is
added, but there is missing sub-range for IMPLICIT_DEF itself.
Because of missing sub-range in live-intervals for IMPLICIT_DEF,
register allocator does not know that IMPLICIT_DEF rewrites its
virtual sub-registers and can end up assigning overlapping physical
registers to them.
This results in deleting instructions that were defined by sub-registers
overwritten by IMPLICIT_DEF as they are now dead.
Commit: a9689c6029e3078e09e43a4efb2b2ced98e9020f
https://github.com/llvm/llvm-project/commit/a9689c6029e3078e09e43a4efb2b2ced98e9020f
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve2-intrinsics-while-reversed.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] rev(whilelo(a,b)) -> whilehi(b,a). (#88294)
Add similar isel patterns for lt, gt and hi comparison types.
Commit: 17fb3e82f6c950267bb01cc2fd2a84b0d9e9d0d8
https://github.com/llvm/llvm-project/commit/17fb3e82f6c950267bb01cc2fd2a84b0d9e9d0d8
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll
Log Message:
-----------
[VPlan] Skip extending ICmp results in trunateToMinimalBitwidth.
Results of icmp don't need extending after truncating their operands, as
the result will always be i1. Skip them during extending.
Fixes https://github.com/llvm/llvm-project/issues/79742
Fixes https://github.com/llvm/llvm-project/issues/85185
Commit: 7f4f237cd8510b74230d6fd4b5c4610a3d88dd3f
https://github.com/llvm/llvm-project/commit/7f4f237cd8510b74230d6fd4b5c4610a3d88dd3f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfShuffles - add missing arguments to getShuffleCost calls.
Ensure the getShuffleCost arguments/instruction args are populated - minor extension to #88743 to help improve shuffle costs for certain corner cases (e.g. shuffles of loads)
Commit: 8a631d789859d09ba3a11a1206c30e595f4b6428
https://github.com/llvm/llvm-project/commit/8a631d789859d09ba3a11a1206c30e595f4b6428
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
Log Message:
-----------
[TableGen] Fix ReplaceRegAction RTTI Kind
Commit: bac5d8ed036869bc65ba2eef6d4afd671ca7c72b
https://github.com/llvm/llvm-project/commit/bac5d8ed036869bc65ba2eef6d4afd671ca7c72b
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
A llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/ARM/ARM.td
A llvm/lib/Target/ARM/ARMArchitectures.td
A llvm/lib/Target/ARM/ARMFeatures.td
A llvm/lib/Target/ARM/ARMProcessors.td
Log Message:
-----------
[ARM][AArch64] Split out processor and feature tablegen defs [NFC] (#88282)
Commit: c52b18d1e41107067b7557d8af3a06e6fe0beb0f
https://github.com/llvm/llvm-project/commit/c52b18d1e41107067b7557d8af3a06e6fe0beb0f
Author: ealcdan <daniel.alcaide.nombela at ericsson.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/5/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
Log Message:
-----------
[clang-tidy] Avoid overflow when dumping unsigned integer values (#85060)
Some options take the maximum unsigned integer value as default, but
they are being dumped to a string as integers. This makes -dump-config
write invalid '-1' values for these options. This change fixes this
issue by using utostr if the option is unsigned.
Fixes #60217
Commit: b8174512111bc116776de24e2cff3f6f94d536fe
https://github.com/llvm/llvm-project/commit/b8174512111bc116776de24e2cff3f6f94d536fe
Author: Martin Wehking <martin.wehking at codeplay.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/test/TableGen/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitterHwModes.td
M llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
Log Message:
-----------
Make default initialization explicit
Coverity (a static analysis tool) reported that the emitted 'Features'
variable inside emitComputeAvailableFeatures in TableGen might be
unitialized.
Silence this warning by adding brackets for the default initialization.
Adapt test cases to take additional brackets into account.
Commit: 9fb7a736f0f893ffd5da3cebaed30bc91e6a8514
https://github.com/llvm/llvm-project/commit/9fb7a736f0f893ffd5da3cebaed30bc91e6a8514
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/fcmp-select.ll
M llvm/test/Transforms/InstCombine/select-select.ll
Log Message:
-----------
[InstCombine] Fold fcmp into select (#86482)
This patch simplifies `fcmp (select Cond, C1, C2), C3` patterns in
ceres:
Alive2: https://alive2.llvm.org/ce/z/fWh_sD
```
define i1 @src(double %x) {
%cmp1 = fcmp ord double %x, 0.000000e+00
%sel = select i1 %cmp1, double 0xFFFFFFFFFFFFFFFF, double 0.000000e+00
%cmp2 = fcmp oeq double %sel, 0.000000e+00
ret i1 %cmp2
}
define i1 @tgt(double %x) {
%cmp1 = fcmp uno double %x, 0.000000e+00
ret i1 %cmp1
}
```
Commit: 56ed3dd77f4ef07a9b35cbb3d0ca868cc0999d01
https://github.com/llvm/llvm-project/commit/56ed3dd77f4ef07a9b35cbb3d0ca868cc0999d01
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
A llvm/test/CodeGen/Hexagon/arg-copy-elison.ll
Log Message:
-----------
Pre-commit reproducer for argument copy elison related bug
Adding test case related to
https://github.com/llvm/llvm-project/issues/89060
It shows that after argument copy elison the scheduler may reorder
a load of the input argument and a store to the same fixed stack
entry (the fixed stack entry that is reused for the local variable).
Commit: d8b253be56b3e9073b3e59123cf2da0bcde20c63
https://github.com/llvm/llvm-project/commit/d8b253be56b3e9073b3e59123cf2da0bcde20c63
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFrameInfo.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/Hexagon/arg-copy-elison.ll
Log Message:
-----------
[SelectionDAG] Mark frame index as "aliased" at argument copy elison (#89712)
This is a fix for miscompiles reported in
https://github.com/llvm/llvm-project/issues/89060
After argument copy elison the IR value for the eliminated alloca
is aliasing with the fixed stack object. This patch is making sure
that we mark the fixed stack object as being aliased with IR values
to avoid that for example schedulers are reordering accesses to
the fixed stack object. This could otherwise happen when there is a
mix of MemOperands refering the shared fixed stack slow via both
the IR value for the elided alloca, and via a fixed stack pseudo
source value (as would be the case when lowering the arguments).
Commit: 0661af893f12c2b09089b4758cf00d9b84230ea0
https://github.com/llvm/llvm-project/commit/0661af893f12c2b09089b4758cf00d9b84230ea0
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/test/Semantics/OpenMP/firstprivate02.f90
A flang/test/Semantics/OpenMP/lastprivate03.f90
M flang/test/Semantics/OpenMP/parallel-private01.f90
M flang/test/Semantics/OpenMP/parallel-private02.f90
M flang/test/Semantics/OpenMP/parallel-private03.f90
M flang/test/Semantics/OpenMP/parallel-private04.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
M flang/test/Semantics/OpenMP/parallel-shared01.f90
M flang/test/Semantics/OpenMP/parallel-shared02.f90
M flang/test/Semantics/OpenMP/parallel-shared03.f90
M flang/test/Semantics/OpenMP/parallel-shared04.f90
Log Message:
-----------
[Flang][OpenMP] Add restriction about subobjects to firstprivate and … (#89608)
…lastprivate
OpenMP 5.2 standard (Section 5.3) defines privatization for list items.
Section 3.2.1 in the standard defines list items to exclude variables
that are part of other variables.
This patch adds the restriction to firstprivate and lastprivates, it was
previously added for privates.
Fixes https://github.com/llvm/llvm-project/issues/67227
Note: The specific checks that are added here are explicitly called out
in OpenMP 4.0
(https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.pdf) Sections
2.14.3.4 and 2.14.3.5 but in later standards have become implicit
through other definitions.
Commit: 5fd9bbdea6cc248469d5465de44e747378ffafcb
https://github.com/llvm/llvm-project/commit/5fd9bbdea6cc248469d5465de44e747378ffafcb
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/shift-combine.ll
Log Message:
-----------
[DAGCombiner] Pre-commit test case for miscompile bug in combineShiftOfShiftedLogic
DAGCombiner is trying to fold shl over binops, and in the process
combining it with another shl. However it needs to be more careful
to ensure that the sum of the shift counts fits in the type used
for the shift amount.
For example, X86 is using i8 as shift amount type. So we need to
make sure that the sum of the shift amounts isn't greater than 255.
Fix will be applied in a later commit. This only pre-commits the
test case to show that we currently get the wrong result.
Bug was found when testing the C23 BitInt feature.
Commit: f9b419b7a038dcd51a7943b160acc867714c595f
https://github.com/llvm/llvm-project/commit/f9b419b7a038dcd51a7943b160acc867714c595f
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/shift-combine.ll
Log Message:
-----------
[DAGCombiner] Fix miscompile bug in combineShiftOfShiftedLogic (#89616)
Ensure that the sum of the shift amounts does not overflow the
shift amount type when combining shifts in combineShiftOfShiftedLogic.
Solves a miscompile bug found when testing the C23 BitInt feature.
Targets like X86 that only use an i8 for shift amounts after
legalization seems to be extra susceptible for bugs like this as it
isn't legal to shift more than 255 steps.
Commit: 304dfe10bd96ef8badd53d4796bba070cc8d30dc
https://github.com/llvm/llvm-project/commit/304dfe10bd96ef8badd53d4796bba070cc8d30dc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getTargetShuffleMask - update to take a SDValue instead of a SDNode. NFC.
Also just get the value type from the SDValue instead of passing it separately.
Commit: 8ab3caf4d3acef29f373e09bc6a0ac459918930e
https://github.com/llvm/llvm-project/commit/8ab3caf4d3acef29f373e09bc6a0ac459918930e
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseTemplate.cpp
M clang/test/Parser/cxx2a-constrained-template-param.cpp
Log Message:
-----------
[Clang][Parser] Don't always destroy template annotations at the end of a declaration (#89494)
Since
[6163aa9](https://github.com/llvm/llvm-project/commit/6163aa96799cbad7f2f58e02c5bebee9647056a5#diff-3a7ef0bff7d2b73b4100de636f09ea68b72eda191b39c8091a6a1765d917c1a2),
we have introduced an optimization that almost always destroys
TemplateIdAnnotations at the end of a function declaration. This doesn't
always work properly: a lambda within a default template argument could
also result in such deallocation and hence a use-after-free bug while
building a type constraint on the template parameter.
This patch adds another flag to the parser to tell apart cases when we
shouldn't do such cleanups eagerly. A bit complicated as it is, this retains
the optimization on a highly templated function with lots of generic lambdas.
Note the test doesn't always trigger a conspicuous bug/crash even with a
debug build. But a sanitizer build can detect them, I believe.
Fixes https://github.com/llvm/llvm-project/issues/67235
Fixes https://github.com/llvm/llvm-project/issues/89127
Commit: dadf6f2c5aaf83b27dab181be91c5814be1fc466
https://github.com/llvm/llvm-project/commit/dadf6f2c5aaf83b27dab181be91c5814be1fc466
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
Log Message:
-----------
[VPlan] Ignore incoming values with constant false mask. (#89384)
Ignore incoming values with constant false masks when trying to simplify
VPBlendRecipes.
As a follow-on optimization, we should also be able to drop all incoming
values with false masks by creating a new VPBlendRecipe with those
operands dropped.
PR: https://github.com/llvm/llvm-project/pull/89384
Commit: 31af5e9001508dd2e58d2232e900adba01896736
https://github.com/llvm/llvm-project/commit/31af5e9001508dd2e58d2232e900adba01896736
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8-system.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll
M llvm/test/Transforms/AtomicExpand/SPARC/partword.ll
Log Message:
-----------
AtomicExpand: Emit or with constant on RHS
This will save later code from commuting it.
Commit: 70d3ddb280ea47066349eed1cd99bc0348bf4186
https://github.com/llvm/llvm-project/commit/70d3ddb280ea47066349eed1cd99bc0348bf4186
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMP.h
M llvm/lib/Frontend/OpenMP/OMP.cpp
M llvm/unittests/Frontend/CMakeLists.txt
R llvm/unittests/Frontend/OpenMPComposeTest.cpp
A llvm/unittests/Frontend/OpenMPCompositionTest.cpp
Log Message:
-----------
[Frontend][OpenMP] Add functions for checking construct type (#87258)
Implement helper functions to identify leaf, composite, and combined
constructs.
Commit: b926f75e89c025afeb040cbd245ce2ba9cce9fce
https://github.com/llvm/llvm-project/commit/b926f75e89c025afeb040cbd245ce2ba9cce9fce
Author: Takuto Ikuta <tikuta at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M libcxx/utils/libcxx/header_information.py
Log Message:
-----------
[libc++] Add some private headers to libcxx.imp (#89568)
https://github.com/llvm/llvm-project/pull/78295 dropped private headers
in top level directory from libcxx.imp.
This PR re-adds them to libcxx.imp.
Commit: 670ac235b52887b621ab9c75c6be7f5ac4ceb9f8
https://github.com/llvm/llvm-project/commit/670ac235b52887b621ab9c75c6be7f5ac4ceb9f8
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
M mlir/test/Target/LLVMIR/Import/import-failure.ll
Log Message:
-----------
[RemoveDIs][MLIR] Don't process debug records in the LLVM-IR translator (#89735)
We are almost ready to enable the use of debug records everywhere in
LLVM by default; part of the prep-work for this means ensuring that
every tool supports them. Every tool in the `llvm/` project supports
them, front-ends that use the `DIBuilder` will support them, and as far
as I can tell, the only other tool in the LLVM repo that needs to
support them but doesn't is `mlir-translate`. This patch trivially
unblocks them by converting from debug records to debug intrinsics
before translating a module.
Commit: a9e3fbf429ad1869c9434a9660fb8185378d6df4
https://github.com/llvm/llvm-project/commit/a9e3fbf429ad1869c9434a9660fb8185378d6df4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port 70d3ddb280ea
Commit: e0a763c490d8ef58dca867e0ef834978ccf8e17d
https://github.com/llvm/llvm-project/commit/e0a763c490d8ef58dca867e0ef834978ccf8e17d
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.event.ll
Log Message:
-----------
[AMDGPU] Fix GFX12 encoding of s_wait_event export_ready (#89622)
As well as flipping the sense of the bit, GFX12 moved it from bit 0 to
bit 1 in the encoded simm16 operand.
Commit: b4a0fd40f1b94eac571d29ee7695b492934d9bfc
https://github.com/llvm/llvm-project/commit/b4a0fd40f1b94eac571d29ee7695b492934d9bfc
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/alternate-opcode-sindle-bv.ll
Log Message:
-----------
[SLP]Fix PR89635: do not try to vectorize single-gather alternate node.
No need to try to vectorize single gather/buildvector with alternate
opcode graph, it is not profitable. In other cases, need to use last
instruction for inserting the vectorized code.
Commit: 282ab543a92740100c1119c701258c2900c5d00c
https://github.com/llvm/llvm-project/commit/282ab543a92740100c1119c701258c2900c5d00c
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
Log Message:
-----------
[RISCV] Add additional mul strength reduction coverage with xtheadba
Commit: 74cab546825b32f24e44d69942cdbdd129160471
https://github.com/llvm/llvm-project/commit/74cab546825b32f24e44d69942cdbdd129160471
Author: mahtohappy <Happy.Kumar at Windriver.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/SemaCXX/PR41441.cpp
Log Message:
-----------
Reapply "[Clang][Sema] placement new initializes typedef array with correct size (#83124)" (#89036)
When in-place new-ing a local variable of an array of trivial type, the
generated code calls 'memset' with the correct size of the array,
earlier it was generating size (squared of the typedef array + size).
The cause: typedef TYPE TArray[8]; TArray x; The type of declarator is
Tarray[8] and in SemaExprCXX.cpp::BuildCXXNew we check if it's of
typedef and of constant size then we get the original type and it works
fine for non-dependent cases.
But in case of template we do TreeTransform.h:TransformCXXNEWExpr and
there we again check the allocated type which is TArray[8] and it stays
that way, so ArraySize=(Tarray[8] type, alloc Tarray[8*type]) so the
squared size allocation.
ArraySize gets calculated earlier in TreeTransform.h so that
if(!ArraySize) condition was failing.
fix: I changed that condition to if(ArraySize).
fixes https://github.com/llvm/llvm-project/issues/41441
---------
Co-authored-by: erichkeane <ekeane at nvidia.com>
Commit: d5022d9ad4aec250f77d21c819a9810a97b8b6a8
https://github.com/llvm/llvm-project/commit/d5022d9ad4aec250f77d21c819a9810a97b8b6a8
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/EHPersonalities.h
M llvm/lib/IR/EHPersonalities.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/CodeGen/SystemZ/zos-no-eh-label.ll
Log Message:
-----------
[SystemZ][z/OS] Make z/OS personality function known (#89679)
This change adds the z/OS personality function to the list of known EH
personality functions. It enables removing of the EH data/labels if the
personality function is not invoked.
Commit: adb0126ef11b0083d5a78be1534ccefa53def1cf
https://github.com/llvm/llvm-project/commit/adb0126ef11b0083d5a78be1534ccefa53def1cf
Author: Patrick O'Neill <patrick at rivosinc.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
A llvm/test/Transforms/LoopVectorize/vplan-infer-not-or-type.ll
Log Message:
-----------
[VPlan] Add scalar inferencing support for Not and Or insns (#89160)
Fixes #87394.
PR: https://github.com/llvm/llvm-project/pull/89160
Commit: c1086532d4d5c0a261457dfb00e79fcb764e3d78
https://github.com/llvm/llvm-project/commit/c1086532d4d5c0a261457dfb00e79fcb764e3d78
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/RangesMajorFeatures.csv
M libcxx/include/__ranges/range_adaptor.h
M libcxx/include/ranges
A libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp
Log Message:
-----------
[libc++][ranges] P2387R3: Pipe support for user-defined range adaptors (#89148)
This patch finalizes the std::ranges::range_adaptor_closure
class template from https://wg21.link/P2387R3.
// [range.adaptor.object], range adaptor objects
template<class D>
requires is_class_v<D> && same_as<D, remove_cv_t<D>>
class range_adaptor_closure { };
The current implementation of __range_adaptor_closure was introduced
in ee44dd8062a26541808fc0d3fd5c6703e19f6016 and has served as the
foundation for the range adaptors in libc++ for a while. This patch
keeps its implementation, with the exception of the following changes:
- __range_adaptor_closure now includes the missing constraints
`is_class_v<D> && same_as<D, remove_cv_t<D>>` to restrict the
type of class that can inherit from it. (https://eel.is/c++draft/ranges.syn)
- The operator| of __range_adaptor_closure no longer requires its
first argument to model viewable_range. (https://eel.is/c++draft/range.adaptor.object#1)
- The _RangeAdaptorClosure concept is refined to exclude cases where
T models range or where T has base classes of type range_adaptor_closure<U>
for another type U. (https://eel.is/c++draft/range.adaptor.object#2)
Commit: 8317d366212763d907d6d61a6d07450168a33bfb
https://github.com/llvm/llvm-project/commit/8317d366212763d907d6d61a6d07450168a33bfb
Author: Ryan Holt <ryanholt at mathworks.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
A mlir/include/mlir/Dialect/Linalg/Transforms/RuntimeOpVerification.h
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/Interfaces/RuntimeVerifiableOpInterface.td
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
A mlir/test/Dialect/Linalg/runtime-verification.mlir
A mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
Log Message:
-----------
[mlir][linalg] Add runtime verification for linalg ops (#89342)
This commit implements runtime verification for LinalgStructuredOps
using the existing `RuntimeVerifiableOpInterface`. The verification
checks that the runtime sizes of the operands match the runtime sizes
inferred by composing the loop ranges with the op's indexing maps.
Commit: 1d7086e475c76046b58f4e1c5568720f1c67ad55
https://github.com/llvm/llvm-project/commit/1d7086e475c76046b58f4e1c5568720f1c67ad55
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/docs/UsersManual.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/cl-options.c
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
clang/win: Add a flag to disable default-linking of compiler-rt libraries (#89642)
For ASan, users already manually have to pass in the path to the lib,
and for other libraries they have to pass in the path to the libpath.
With LLVM's unreliable name of the lib (due to
LLVM_ENABLE_PER_TARGET_RUNTIME_DIR confusion and whatnot), it's useful
to be able to opt in to just explicitly passing the paths to the libs
everywhere.
Follow-up of sorts to https://reviews.llvm.org/D65543, and to #87866.
Commit: 03760ad09d49f74c026f0b5d41d982cad81c67d7
https://github.com/llvm/llvm-project/commit/03760ad09d49f74c026f0b5d41d982cad81c67d7
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
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/rv32zba.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/xaluo.ll
Log Message:
-----------
Reapply "[RISCV] Implement RISCVISD::SHL_ADD and move patterns into combine (#89263)"
Changes since original commit:
* Rebase over improved test coverage for theadba
* Revert change to use TargetConstant as it appears to prevent the uimm2
clause from matching in the XTheadBa patterns.
* Fix an order of operands bug in the THeadBa pattern visible in the new
test coverage.
Original commit message follows:
This implements a RISCV specific version of the SHL_ADD node proposed in
https://github.com/llvm/llvm-project/pull/88791.
If that lands, the infrastructure from this patch should seamlessly
switch over the to generic DAG node. I'm posting this separately because
I've run out of useful multiply strength reduction work to do without
having a way to represent MUL X, 3/5/9 as a single instruction.
The majority of this change is moving two sets of patterns out of
tablgen and into the post-legalize combine. The major reason for this is
that I have an upcoming change which needs to reuse the expansion logic,
but it also helps common up some code between zba and the THeadBa
variants.
On the test changes, there's a couple major categories:
* We chose a different lowering for mul x, 25. The new lowering involves
one fewer register and the same critical path, so this seems like a win.
* The order of the two multiplies changes in (3,5,9)*(3,5,9) in some
cases. I don't believe this matters.
* I'm removing the one use restriction on the multiply. This restriction
doesn't really make sense to me, and the test changes appear positive.
Commit: e0c28485ad195f1650b6826ab2d856e7917788e2
https://github.com/llvm/llvm-project/commit/e0c28485ad195f1650b6826ab2d856e7917788e2
Author: Jeff Niu <jeff at modular.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
Log Message:
-----------
[mlir] Update comment about `propertiesAttr` (NFC) (#89634)
The comment is misleading because `propertiesAttr` is not actually
ignored when the operation isn't unregistered.
Commit: ed255ed20b730160f8aec54e0acdbb40e3bc7fcf
https://github.com/llvm/llvm-project/commit/ed255ed20b730160f8aec54e0acdbb40e3bc7fcf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/pr34592.ll
Log Message:
-----------
[X86] pr34592.ll - add nounwind to remove cfi noise
Commit: 03c8a29d1061c9dd47953c21aae70f46075f1b0c
https://github.com/llvm/llvm-project/commit/03c8a29d1061c9dd47953c21aae70f46075f1b0c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/test/CodeGen/X86/pr34592.ll
Log Message:
-----------
[X86] pr34592.ll - add O3 codegen run for comparison
Commit: c793f4a4dab058cee4f283100946a1bb8e465f59
https://github.com/llvm/llvm-project/commit/c793f4a4dab058cee4f283100946a1bb8e465f59
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Add test coverage for mul (zext), 2^N + 2/4/8 [nfc]
Commit: f426be195a08874686d01783bbc490295bf4afb2
https://github.com/llvm/llvm-project/commit/f426be195a08874686d01783bbc490295bf4afb2
Author: Ryan Holt <ryanholt at mathworks.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
R mlir/include/mlir/Dialect/Linalg/Transforms/RuntimeOpVerification.h
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/Interfaces/RuntimeVerifiableOpInterface.td
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
R mlir/test/Dialect/Linalg/runtime-verification.mlir
R mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
Log Message:
-----------
Revert "[mlir][linalg] Add runtime verification for linalg ops" (#89780)
Reverts llvm/llvm-project#89342 due to build failure
Commit: df608051234c256f1dc2c89f30afd034706c2c2e
https://github.com/llvm/llvm-project/commit/df608051234c256f1dc2c89f30afd034706c2c2e
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/rsqrt-opt.ll
A llvm/test/CodeGen/NVPTX/rsqrt.ll
Log Message:
-----------
[NVPTX] Improve support for rsqrt.approx (#89417)
Complete support for rsqrt.approx with rsqrt.approx.f64 ([PTX ISA
9.7.3.17. Floating Point Instructions:
rsqrt.approx.ftz.f64](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#floating-point-instructions-rsqrt-approx-ftz-f64)).
Additionally, add support for folding `sqrt` into `rsqrt`, with an
optional flag to disable.
Commit: 3197146cc6ae1cefe0b21326f0509add3369decb
https://github.com/llvm/llvm-project/commit/3197146cc6ae1cefe0b21326f0509add3369decb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine][AArch64] shuffletoidentity.ll - regenerate checks
Reduce diffs in #88899
Commit: 143be6a60186d6c1a6a298d0b7acdc1a4d69a321
https://github.com/llvm/llvm-project/commit/143be6a60186d6c1a6a298d0b7acdc1a4d69a321
Author: Dhruv Chawla <dhruvc at nvidia.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-freeze.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-itofp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shift.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
Log Message:
-----------
[AArch64][GISel] Avoid scalarizing G_IMPLICIT_DEF and G_FREEZE in the Legalizer (#88469)
It does not make sense to scalarize G_FREEZE as it leads to the generation
of pairs of G_UNMERGE_VALUES and G_BUILD_VECTORs which are difficult to
optimize especially when operations like G_TRUNC operate before G_FREEZE
but after G_UNMERGE_VALUES.
Instead, it is better to legalize G_FREEZE like any other vector type
would be, as it gets lowered to a COPY during instruction selection
anyways.
This is an issue that was encountered when looking at the TSVC
benchmark, where the legalization of G_FREEZE would cause generation of
unnecessary MOVs that adversely affected the performance.
Commit: c45fbfdb8e5a01cb4473c179dc390e9c039f3f39
https://github.com/llvm/llvm-project/commit/c45fbfdb8e5a01cb4473c179dc390e9c039f3f39
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll
Log Message:
-----------
[VectorCombine][X86] shuffle-of-binops.ll - adjust no matching operand test to use FDIV
Use of FDIV allows us to show a definite cost improvement with #88899
Commit: cebc9609d8cdc6f488693cd8e4a616b935b38d2c
https://github.com/llvm/llvm-project/commit/cebc9609d8cdc6f488693cd8e4a616b935b38d2c
Author: David Green <david.green at arm.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
M llvm/test/CodeGen/AArch64/arm64-uzp.ll
M llvm/test/CodeGen/AArch64/arm64-zip.ll
Log Message:
-----------
[AArch64] Match ZIP and UZP starting from undef elements. (#89578)
In case the first element of a zip/uzp mask is undef, the isZIPMask and
isUZPMask functions have a 50% chance of picking the wrong
"WhichResult", meaning they don't match a zip/uzp where they could. This
patch alters the matching code to first check for the first non-undef
element, to try and get WhichResult correct.
Commit: abfb4915e12f4767de8714cf79591b509b09896e
https://github.com/llvm/llvm-project/commit/abfb4915e12f4767de8714cf79591b509b09896e
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
Log Message:
-----------
[NFC][InstrProf] Increment valid profile stat in populateCoverage (#89660)
We increment `NumOfCSPGOFunc` and `NumOfPGOFunc` in
`PGOUseFunc::readCounters()` already. We should do the same in
`PGOUseFunc::populateCoverage`.
https://github.com/llvm/llvm-project/blob/83bc7b57714dc2f6b33c188f2b95a0025468ba51/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp#L1331
Commit: 49cb6dbcb8537270cd0e2a9bcd6663d2e619f5aa
https://github.com/llvm/llvm-project/commit/49cb6dbcb8537270cd0e2a9bcd6663d2e619f5aa
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/cuf02.cuf
Log Message:
-----------
[flang][cuda] Remove restriction on device subprogram (#89677)
Newer version allow `pure`, `elemental` and `recursive` on device
subprogram.
Commit: 3a9d8cd5fc5e07629b46901accb1884eae1af694
https://github.com/llvm/llvm-project/commit/3a9d8cd5fc5e07629b46901accb1884eae1af694
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M libcxx/modules/std/ranges.inc
Log Message:
-----------
[libc++][ranges] export `std::ranges::range_adaptor_closure` (#89793)
This patch exports the `std::ranges::range_adaptor_closure` class
template implemented in #89148 from the C++ Modules file.
Commit: 579d30109ae9526ea3ec89d2cadc846bd8cffae5
https://github.com/llvm/llvm-project/commit/579d30109ae9526ea3ec89d2cadc846bd8cffae5
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M libcxx/include/__chrono/formatter.h
M libcxx/test/std/time/time.clock/time.clock.file/ostream.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.local/ostream.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.system/sys_time.ostream.pass.cpp
Log Message:
-----------
[libc++][chrono] Fixes format output of negative values. (#89408)
When trying to express a time before the epoch (e.g. "one nanosecond
before 00:01:40 on 1900-01-01")
the date would be shown as:
1900-01-01 00:01:39.-00000001
After this patch, that time would be correctly shown as:
1900-01-01 00:01:39.999999999
Commit: 37e27a4d6509fa6432d0125bf43249d2ad01dbc3
https://github.com/llvm/llvm-project/commit/37e27a4d6509fa6432d0125bf43249d2ad01dbc3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/lib/Target/X86/X86SchedAlderlakeP.td
Log Message:
-----------
[llvm-exegesis] Add support for alderlake (#88967)
This patch adds the PFM counter definitions for Intel alderlake CPUs.
Commit: 9e9595183001991a7d31d8880c4a2b33594ca30f
https://github.com/llvm/llvm-project/commit/9e9595183001991a7d31d8880c4a2b33594ca30f
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libc++][CI] Removes clang-tidy references. (#89092)
The clang-tidy selection has been made automatic recently so this is not
longer needed.
Thanks to Louis for spotting this.
Commit: 1a8935ada7cb0bb7943e18f2bc9f6d7a89887aa8
https://github.com/llvm/llvm-project/commit/1a8935ada7cb0bb7943e18f2bc9f6d7a89887aa8
Author: Alex Langford <alangford at apple.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
A llvm/test/DebugInfo/X86/invalid-cu-abbrev-contribution-dwp.s
A llvm/test/DebugInfo/X86/invalid-cu-abbrev-offset-dwp.s
M llvm/test/DebugInfo/X86/invalid-cu-length-dwp.s
Log Message:
-----------
[DebugInfo] Report errors when DWARFUnitHeader::applyIndexEntry fails (#89156)
Motivation: LLDB is able to report errors about these scenarios whereas
LLVM's DWARF parser only gives a boolean success/fail. I want to migrate
LLDB to using LLVM's DWARFUnitHeader class, but I don't want to lose
some of the error reporting, so I'm adding it to the LLVM class first.
Commit: 033453a9ad2a62914358747b5beb347482d3fdbd
https://github.com/llvm/llvm-project/commit/033453a9ad2a62914358747b5beb347482d3fdbd
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M libcxx/docs/Modules.rst
Log Message:
-----------
[libc++][doc] Updates module build instructions. (#89413)
CMake has landed experimental support for using the Standard modules.
This will be part of the CMake 3.30 release. This updates the build
instructions to use modules with CMake.
The changes have been tested locally.
---------
Co-authored-by: Will Hawkins <whh8b at obs.cr>
Commit: 5fe93b0a4d91f1beb801e3a7588e1fa43955af15
https://github.com/llvm/llvm-project/commit/5fe93b0a4d91f1beb801e3a7588e1fa43955af15
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[CodeGen][TII] Allow reassociation on custom operand indices (#88306)
This opens up a door for reusing reassociation optimizations on
target-specific binary operations with non-standard operand list.
This is effectively a NFC.
Commit: 5f3f9d1a905b1f293d81758db3fa20c2a1dc3ff4
https://github.com/llvm/llvm-project/commit/5f3f9d1a905b1f293d81758db3fa20c2a1dc3ff4
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
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/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table.fir
Log Message:
-----------
[flang] Remove hardcoded bits from AddDebugInfo. (#89231)
This PR adds following options to the AddDebugInfo pass.
1. IsOptimized flag.
2. Level of debug info to generate.
3. Name of the source file
This enables us to remove the hard coded values from the code. It also
allows us to test the pass with different options. The tests have been
modified to take advantage of that.
The calling convention flag and producer name have also been improved.
Commit: a7e27260a92b7a40ede0c3ea4035733ea61e6571
https://github.com/llvm/llvm-project/commit/a7e27260a92b7a40ede0c3ea4035733ea61e6571
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-function.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-variable.cpp
Log Message:
-----------
[lldb/test] Add basic ld.lld --debug-names tests (#88335)
Test that ld.lld --debug-names (#86508) built per-module index can be
consumed by lldb. This has uncovered a bug during the development of the
lld feature.
Commit: 06cc1754f829d6b94dc797ed0f653d0eb52ef1ac
https://github.com/llvm/llvm-project/commit/06cc1754f829d6b94dc797ed0f653d0eb52ef1ac
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[NFC][msan] Fix typo in comment
Commit: 1d140348733d5454c2dc72b3f4f16404981f2102
https://github.com/llvm/llvm-project/commit/1d140348733d5454c2dc72b3f4f16404981f2102
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[NFC][msan] Add DebugInstrumentInstruction DEBUG_COUNTER
Commit: 3ae10fde39419d7c985b9fff210ed44b699e438c
https://github.com/llvm/llvm-project/commit/3ae10fde39419d7c985b9fff210ed44b699e438c
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M libc/docs/index.rst
A libc/docs/setjmp.rst
A libc/utils/docgen/setjmp.json
Log Message:
-----------
[libc] Generate docs for `setjmp.h` (#89542)
Resolves #88065
Added macros and functions.
Commit: dc8f6a8cdad427345a60f5142411617df521c303
https://github.com/llvm/llvm-project/commit/dc8f6a8cdad427345a60f5142411617df521c303
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
M clang/test/CodeGenCoroutines/coro-dwarf.cpp
M clang/test/CodeGenCoroutines/pr65054.cpp
Log Message:
-----------
[clang] coroutine: generate valid mangled name in CodeGenFunction::generateAwaitSuspendWrapper (#89731)
Fixes https://github.com/llvm/llvm-project/issues/89723
Commit: 0c032fd5425d853dfc577e607b9c179d811cec19
https://github.com/llvm/llvm-project/commit/0c032fd5425d853dfc577e607b9c179d811cec19
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
M llvm/test/CodeGen/RISCV/xaluo.ll
Log Message:
-----------
[RISCV] Use SHL_ADD in remaining strength reduce cases for MUL (#89789)
The interesting bit is the zext folding. This is the first case where we
end up with a profitable fold of shNadd (zext x), y to shNadd.uw x, y.
See zext_mul68 from rv64zba.ll.
The test differences are cases where we can legally fold (only because
there's no one use check). These are not profitable or harmful, but we
can't a oneuse check without breaking the zext_mul68 case.
Note that XTHeadBa doesn't appear to have the equivalent patterns so
this only shows up in Zba.
Commit: 2662bce43469e37c6fdabf9a77bbfbccaedf9f9f
https://github.com/llvm/llvm-project/commit/2662bce43469e37c6fdabf9a77bbfbccaedf9f9f
Author: Thurston Dang <thurston at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
A llvm/test/Instrumentation/HWAddressSanitizer/fixed-shadow.ll
Log Message:
-----------
[hwasan] Add test for hwasan pass with fixed shadow (#89813)
This test records the current behavior of HWASan, which doesn't utilize
the fixed shadow intrinsics of
https://github.com/llvm/llvm-project/commit/365bddf634993d5ea357e9715d8aacd7ee40c4b5
It is intended to be updated in future work ("Optimize outlined
memaccess for fixed shadow on Aarch64";
https://github.com/llvm/llvm-project/pull/88544)
Commit: 837dab96d6f5bece79fd58d28ea2e6f7c0912493
https://github.com/llvm/llvm-project/commit/837dab96d6f5bece79fd58d28ea2e6f7c0912493
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M libc/test/UnitTest/CMakeLists.txt
A libc/test/UnitTest/FEnvSafeTest.cpp
A libc/test/UnitTest/FEnvSafeTest.h
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/fenv/enabled_exceptions_test.cpp
M libc/test/src/fenv/exception_flags_test.cpp
M libc/test/src/fenv/exception_status_test.cpp
A libc/test/src/fenv/excepts.h
M libc/test/src/fenv/feclearexcept_test.cpp
M libc/test/src/fenv/feenableexcept_test.cpp
M libc/test/src/fenv/feholdexcept_test.cpp
M libc/test/src/fenv/feupdateenv_test.cpp
M libc/test/src/fenv/getenv_and_setenv_test.cpp
M libc/test/src/fenv/rounding_mode_test.cpp
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FModTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundEvenTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/exhaustive/fmod_generic_impl_test.cpp
M libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/FAbsTest.h
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMaximumMagNumTest.h
M libc/test/src/math/smoke/FMaximumMagTest.h
M libc/test/src/math/smoke/FMaximumNumTest.h
M libc/test/src/math/smoke/FMaximumTest.h
M libc/test/src/math/smoke/FMinTest.h
M libc/test/src/math/smoke/FMinimumMagNumTest.h
M libc/test/src/math/smoke/FMinimumMagTest.h
M libc/test/src/math/smoke/FMinimumNumTest.h
M libc/test/src/math/smoke/FMinimumTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/FloorTest.h
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/FrexpTest.h
M libc/test/src/math/smoke/FromfpTest.h
M libc/test/src/math/smoke/FromfpxTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/math/smoke/LogbTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextDownTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/NextUpTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundEvenTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/SqrtTest.h
M libc/test/src/math/smoke/TruncTest.h
M libc/test/src/math/smoke/UfromfpTest.h
M libc/test/src/math/smoke/UfromfpxTest.h
M libc/test/src/math/smoke/nan_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/math/smoke/nanf_test.cpp
M libc/test/src/math/smoke/nanl_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
Log Message:
-----------
[libc] Make fenv and math tests preserve fenv_t state (#89658)
This adds a new test fixture class FEnvSafeTest (usable as a base
class for other fixtures) that ensures each test doesn't perturb
the `fenv_t` state that the next test will start with. It also
provides types and methods tests can use to explicitly wrap code
under test either to check that it doesn't perturb the state or
to save and restore the state around particular test code.
All the fenv and math tests are updated to use this so that none
can affect another. Expectations that code under test and/or
tests themselves don't perturb state can be added later.
Commit: 4e9decf294a19d0047da3aada980f24d19d6c62c
https://github.com/llvm/llvm-project/commit/4e9decf294a19d0047da3aada980f24d19d6c62c
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M libcxx/src/time_zone.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
Log Message:
-----------
[libc++][TZDB] Fixes reverse time lookups. (#89502)
Testing with the get_info() returning a local_info revealed some issues
in the reverse lookup. This needed an additional quirk. Also the
skipping when not in the current continuation optimization was wrong. It
prevented merging two sys_info objects.
Commit: edf733bc321d6e2d0a7dae04ef78d6b291f14a55
https://github.com/llvm/llvm-project/commit/edf733bc321d6e2d0a7dae04ef78d6b291f14a55
Author: Kazu Hirata <kazu at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[memprof] Take Schema into account in PortableMemInfoBlock::serializedSize (#89824)
PortableMemInfoBlock::{serialize,deserialize} take Schema into
account, allowing us to serialize/deserialize a subset of the fields.
However, PortableMemInfoBlock::serializedSize does not. That is, it
assumes that all fields are always serialized and deserialized. In
other words, if we choose to serialize/deserialize a subset of the
fields, serializedSize would claim more storage than we actually need.
This patch fixes the problem by teaching serializedSize to take Schema
into account. For now, this patch has no effect on the actual indexed
MemProf profile because we serialize/deserialize all fields, but that
might change in the future.
Aside from check-llvm, I tested this patch by verifying that
llvm-profdata generates bit-wise identical files for each version for
a large raw MemProf file I have.
Commit: 6b8d385ffe047b61a6614d2f8be206429faa28f5
https://github.com/llvm/llvm-project/commit/6b8d385ffe047b61a6614d2f8be206429faa28f5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
Log Message:
-----------
AMDGPU: Fix missing intrinsic mangling suffixes in test
Commit: 859de94536425376244940e190e069a09d797737
https://github.com/llvm/llvm-project/commit/859de94536425376244940e190e069a09d797737
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M libc/test/UnitTest/FEnvSafeTest.cpp
Log Message:
-----------
[libc] Fix aarch64 build error in FEnvSafeTest change (#89826)
Commit: 5ac744d72ad2a8d04e0ae869c4e30558dd8058e3
https://github.com/llvm/llvm-project/commit/5ac744d72ad2a8d04e0ae869c4e30558dd8058e3
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/docs/Security.rst
Log Message:
-----------
[Nomination] New Intel representative for the security group (#89435)
Sergey Malsov has left Intel. I would like to nominate Will Huhn to replace him as an Intel representative in the LLVM security group. Will is a security champion for the Intel compiler team. I believe he will be a valuable addition to the LLVM security group as a second representative from Intel. He has more security-specific expertise than me. I regularly consult with Will about topics the LLVM security group is considering, and it will be useful to have him more directly involved.
Commit: ef5906989ae2004100ff56dc5ab59be2be9d5c99
https://github.com/llvm/llvm-project/commit/ef5906989ae2004100ff56dc5ab59be2be9d5c99
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string.h
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
Log Message:
-----------
[clang-tidy][modernize-use-starts-ends-with] Add support for compare() (#89530)
Using `compare` is the next most common roundabout way to express
`starts_with` before it was added to the standard. In this case, using
`starts_with` is a readability improvement. Extend existing
`modernize-use-starts-ends-with` to cover this case.
```
// The following will now be replaced by starts_with().
string.compare(0, strlen("prefix"), "prefix") == 0;
string.compare(0, 6, "prefix") == 0;
string.compare(0, prefix.length(), prefix) == 0;
string.compare(0, prefix.size(), prefix) == 0;
```
Commit: 418212089e95e2d39d2997699a149a09d4c5185c
https://github.com/llvm/llvm-project/commit/418212089e95e2d39d2997699a149a09d4c5185c
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M libc/config/linux/syscall_numbers.h.inc
M libc/src/sys/stat/linux/chmod.cpp
Log Message:
-----------
[libc] adding linux SYS_fchmodat2 syscall. (#89819)
Commit: 36209d366d833263d71df328ecca75cf144b1893
https://github.com/llvm/llvm-project/commit/36209d366d833263d71df328ecca75cf144b1893
Author: Andrei Safronov <safronov at espressif.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/CMakeLists.txt
M llvm/lib/Target/Xtensa/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
A llvm/lib/Target/Xtensa/MCTargetDesc/XtensaTargetStreamer.cpp
A llvm/lib/Target/Xtensa/MCTargetDesc/XtensaTargetStreamer.h
M llvm/lib/Target/Xtensa/Xtensa.td
M llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
M llvm/lib/Target/Xtensa/XtensaAsmPrinter.h
A llvm/lib/Target/Xtensa/XtensaCallingConv.td
A llvm/lib/Target/Xtensa/XtensaConstantPoolValue.cpp
A llvm/lib/Target/Xtensa/XtensaConstantPoolValue.h
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaFrameLowering.h
M llvm/lib/Target/Xtensa/XtensaISelDAGToDAG.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaOperands.td
A llvm/lib/Target/Xtensa/XtensaOperators.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
A llvm/lib/Target/Xtensa/XtensaUtils.cpp
A llvm/lib/Target/Xtensa/XtensaUtils.h
A llvm/test/CodeGen/Xtensa/call.ll
A llvm/test/CodeGen/Xtensa/calling-conv.ll
A llvm/test/CodeGen/Xtensa/constantpool.ll
A llvm/test/CodeGen/Xtensa/stack-access.ll
M llvm/test/MC/Xtensa/Core/invalid.s
A llvm/test/MC/Xtensa/directive-literal.s
A llvm/test/MC/Xtensa/invalid-literal.s
Log Message:
-----------
[Xtensa] Implement base CallConvention. (#83280)
Implement base Calling Convention functionality.
Implement stack load/store register operations.
Implement call lowering.
Commit: e1321fafbc024007023ce5d9b88d987a920c3bca
https://github.com/llvm/llvm-project/commit/e1321fafbc024007023ce5d9b88d987a920c3bca
Author: Pranav Kant <prka at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTWriter.cpp
R clang/test/SemaCXX/PR41441.cpp
Log Message:
-----------
Revert "Reapply "[Clang][Sema] placement new initializes typedef array with correct size (#83124)" (#89036)"
This reverts commit 74cab546825b32f24e44d69942cdbdd129160471.
Commit: 733a87783cfac7e6bac2c14bc3749ddca879e2be
https://github.com/llvm/llvm-project/commit/733a87783cfac7e6bac2c14bc3749ddca879e2be
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/tools/driver/cc1_main.cpp
M flang/lib/Frontend/FrontendActions.cpp
M lld/ELF/Arch/RISCV.cpp
R llvm/include/llvm/Support/RISCVISAInfo.h
A llvm/include/llvm/Support/RISCVISAUtils.h
A llvm/include/llvm/TargetParser/RISCVISAInfo.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Support/CMakeLists.txt
R llvm/lib/Support/RISCVISAInfo.cpp
A llvm/lib/Support/RISCVISAUtils.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/TargetParser/CMakeLists.txt
A llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/RISCVTargetParser.cpp
M llvm/unittests/Support/CMakeLists.txt
R llvm/unittests/Support/RISCVISAInfoTest.cpp
M llvm/unittests/TargetParser/CMakeLists.txt
A llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV] Split code that tablegen needs out of RISCVISAInfo. (#89684)
This introduces a new file, RISCVISAUtils.cpp and moves the rest of
RISCVISAInfo to the TargetParser library.
This will allow us to generate part of RISCVISAInfo.cpp using tablegen.
Commit: 0c0c5c475857e9cd6a2fe82fd1e46abdb174a1c1
https://github.com/llvm/llvm-project/commit/0c0c5c475857e9cd6a2fe82fd1e46abdb174a1c1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/TargetParser/BUILD.gn
Log Message:
-----------
[gn build] Port 733a87783cfa
Commit: 688c10d23630a23e7bb63804de117d1f281c4961
https://github.com/llvm/llvm-project/commit/688c10d23630a23e7bb63804de117d1f281c4961
Author: Pranav Kant <prka at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
Log Message:
-----------
[Bazel][libc] Fix breakage after 837dab96d6f5bece79fd58d28ea2e6f7c0912493
Commit: 4f4ebee10ec91becb75ed36608ae26a2bd09e3bb
https://github.com/llvm/llvm-project/commit/4f4ebee10ec91becb75ed36608ae26a2bd09e3bb
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[msan] Eliminate non-deterministic behavior in the pass (#89831)
Almost NFC, instrumentation is as correct as it was before.
We need InstrumentationList grouped by origin instruction,
so we used stable_sort. However these objects already grouped
because we never interleave sequences of `insertShadowCheck`
of different instrunction.
Pointer sort has artifact that it was deppendent on allocator behavior,
so we could inserted checks in a different order.
There is no test, as I failed to reproduce this with `opt`. My guess
is that for reproducer we need to increase fragmentation in the
allocator.
Commit: d56f08b2ba439e88d026a75ff6ec443ac81a3260
https://github.com/llvm/llvm-project/commit/d56f08b2ba439e88d026a75ff6ec443ac81a3260
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
Log Message:
-----------
[tidy] add new check bugprone-return-const-ref-from-parameter (#89497)
Commit: 3fa6b9c69e27ca77f8c3929dc7908e727765cc4a
https://github.com/llvm/llvm-project/commit/3fa6b9c69e27ca77f8c3929dc7908e727765cc4a
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCVVectorLookup.cpp
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vcreate.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vget.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_ext_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_trunc_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vreinterpret.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vset.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vundefined.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vget.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_ext_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_trunc_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vreinterpret.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vset.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg8ei16.c
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[clang][RISCV] Support RVV bfloat16 C intrinsics (#89354)
It follows the interface defined here:
https://github.com/riscv-non-isa/rvv-intrinsic-doc/pull/293
Commit: fd4399cb11f4069888bc7eac01f74493b5a2af48
https://github.com/llvm/llvm-project/commit/fd4399cb11f4069888bc7eac01f74493b5a2af48
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/test/API/macosx/ctf/Makefile
M lldb/test/API/macosx/ctf/TestCTF.py
M lldb/test/API/macosx/ctf/test.c
Log Message:
-----------
[lldb] Fix crash in SymbolFileCTF::ParseFunctions (#89845)
Make SymbolFileCTF::ParseFunctions resilient against not being able to
resolve the argument or return type of a function. ResolveTypeUID can
fail for a variety of reasons so we should always check its result.
The type that caused the crash was `_Bool` which we didn't recognize
as a basic type. This commit also fixes the underlying issue and adds
a test.
rdar://126943722
Commit: 9c4735e9b3be717eaf1ea524842b5968bf2c6513
https://github.com/llvm/llvm-project/commit/9c4735e9b3be717eaf1ea524842b5968bf2c6513
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
Log Message:
-----------
[gn build] Port d56f08b2ba43
Commit: 99e7350235055654aaa923701bf36adaf01739d0
https://github.com/llvm/llvm-project/commit/99e7350235055654aaa923701bf36adaf01739d0
Author: Fangrui Song <i at maskray.me>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
A lld/test/ELF/lto/i386-global-offset-table.ll
A lld/test/ELF/lto/x86-64-global-offset-table.ll
M llvm/lib/Object/ModuleSymbolTable.cpp
M llvm/test/LTO/X86/codemodel-2.ll
M llvm/test/LTO/X86/codemodel-3.ll
M llvm/test/LTO/X86/largedatathreshold-1.ll
M llvm/test/LTO/X86/largedatathreshold-2.ll
M llvm/test/LTO/X86/largedatathreshold-3.ll
Log Message:
-----------
IRSymTab: Record _GLOBAL_OFFSET_TABLE_ for ELF x86
In ELF, relocatable files generated for x86-32 and some code models of
x86-64 (medium, large) may reference the special symbol
`_GLOBAL_OFFSET_TABLE_` that is not used in the IR. In an LTO link, if
there is no regular relocatable file referencing the special symbol, the
linker may not define the symbol and lead to a spurious "undefined
symbol" error.
Fix #61101: record that `_GLOBAL_OFFSET_TABLE_` is used in the IR symbol
table.
Note: The `PreservedSymbols` mechanism
(https://reviews.llvm.org/D112595) that just sets `FB_used` is not
applicable.
The `getRuntimeLibcallSymbols` for extracting lazy runtime library
symbols is for symbols that are "always" potentially used, but linkers
don't have the code model information to make a precise decision.
Pull Request: https://github.com/llvm/llvm-project/pull/89463
Commit: 2cbc2e306cbb0c99aa162357dfdd380e97a07e89
https://github.com/llvm/llvm-project/commit/2cbc2e306cbb0c99aa162357dfdd380e97a07e89
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
Log Message:
-----------
[NFC][MC][AArch64] Do not use else after return in `getRelocType` (#89818)
After #89563, we do not use else after return in code corresponding to
`R_AARCH64_AUTH_ABS64` reloc in `getRelocType`. This patch removes use
of else after return in other places in `getRelocType`.
Commit: dc5939d2b395ce2359f6b6c0a855daaf149600d6
https://github.com/llvm/llvm-project/commit/dc5939d2b395ce2359f6b6c0a855daaf149600d6
Author: Pranav Kant <prka at google.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
Log Message:
-----------
[Bazel][libc] Add fp_test_helper in deps
Commit: d97cdd7d088b11b45038112a5f7fe5cbf60a6461
https://github.com/llvm/llvm-project/commit/d97cdd7d088b11b45038112a5f7fe5cbf60a6461
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
Log Message:
-----------
[PowerPC] Add PPC prefix to retglue ISD node. NFC. (#89771)
So that aligned with other targets.
Commit: a1b1c4a6d1d52916c5d885170a5f54632d579cdc
https://github.com/llvm/llvm-project/commit/a1b1c4a6d1d52916c5d885170a5f54632d579cdc
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
Log Message:
-----------
[InstCombine] Fix miscompile in negation of select (#89698)
Swapping the operands of a select is not valid if one hand is more
poisonous that the other, because the negation zero contains poison
elements.
Fix this by adding an extra parameter to isKnownNegation() to forbid
poison elements.
I've implemented this using manual checks to avoid needing four variants
for the NeedsNSW/AllowPoison combinations. Maybe there is a better way
to do this...
Fixes https://github.com/llvm/llvm-project/issues/89669.
Commit: 7339f7ba3053db7595ece1ca5f49bd2e4c3c8305
https://github.com/llvm/llvm-project/commit/7339f7ba3053db7595ece1ca5f49bd2e4c3c8305
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select.ll
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[InstCombine] Fix poison propagation in select of bitwise fold (#89701)
We're replacing the select with the false value here, but it may be more
poisonous if m_Not contains poison elements. Fix this by introducing a
m_NotForbidPoison matcher and using it here.
Fixes https://github.com/llvm/llvm-project/issues/89500.
Commit: cc73c5cca10b65712cb845039e28491c8379a939
https://github.com/llvm/llvm-project/commit/cc73c5cca10b65712cb845039e28491c8379a939
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
Log Message:
-----------
[RISCV] Remove implication of F extension for XTHeadFMemIdx from RISCVFeatures.td.
There is no implies rule in RISCVISAInfo.cpp so this makes them
consistent.
Soon RISCVFeatures.td will be used to generate RISCVISAInfo.cpp so
it won't be possible to mismatch.
Commit: 469c8a0a4ef9edae4e236d554901e60b2adca074
https://github.com/llvm/llvm-project/commit/469c8a0a4ef9edae4e236d554901e60b2adca074
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate list init braces of class types (#89706)
Fixes #71939.
Commit: d9715c698c4940e65e9bd036e22fb5cab3aa2c6f
https://github.com/llvm/llvm-project/commit/d9715c698c4940e65e9bd036e22fb5cab3aa2c6f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/rv32zacas-invalid.s
M llvm/test/MC/RISCV/rv32zacas-valid.s
M llvm/test/MC/RISCV/rv64zacas-valid.s
M llvm/test/MC/RISCV/rvzabha-invalid.s
M llvm/test/MC/RISCV/rvzabha-valid.s
M llvm/test/MC/RISCV/rvzabha-zacas-valid.s
Log Message:
-----------
[RISCV] Don't make Zacas or Zabha imply A in RISCVISAInfo.cpp
Zabha and Zacas are both documented as depending on Zaamo. I'm
hesitant to make them imply Zaamo instead.
So remove the implication and replace with a check that either
A or Zaamo is enabled.
Commit: aa1e912a1569d46a3b18c73367791a58a9c2b35d
https://github.com/llvm/llvm-project/commit/aa1e912a1569d46a3b18c73367791a58a9c2b35d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/loadstore-alignment.ll
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
Log Message:
-----------
[InstCombine] Fix symbol conflicts in tests (NFC)
These tests break when regenerated due to symbol conflicts.
Commit: ba702aa067c0659d2263d2144d38666efa4a1750
https://github.com/llvm/llvm-project/commit/ba702aa067c0659d2263d2144d38666efa4a1750
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/ConstProp/gep-alias.ll
M llvm/test/Transforms/InstSimplify/past-the-end.ll
Log Message:
-----------
[InstSimplify] Regenerate test checks (NFC)
Commit: da1e3e8b9ab76e7dc6de1fa41116983cb7d0c510
https://github.com/llvm/llvm-project/commit/da1e3e8b9ab76e7dc6de1fa41116983cb7d0c510
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/test/lit.cfg.py
Log Message:
-----------
[LIT][NVPTX] Add a few more known ptxas versions (#89761)
This patch adds known ptxas versions up to 12.4,
to have tests targeting them.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: c8c1e4e0e576f6e735a55dca4a2eb75ce73ee1db
https://github.com/llvm/llvm-project/commit/c8c1e4e0e576f6e735a55dca4a2eb75ce73ee1db
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/test/Preprocessor/wasm-target-features.c
Log Message:
-----------
[WebAssembly] Fix uses of -DAG and -NOT in wasm-target-features.c (#89777)
We are currently using `PREFIX-DAG` and `PREFIX-NOT` within a single
`PREFIX` test in a mixed way, but `-DAG` and `-NOT` do not work that
way. For example:
Result:
```
1
2
3
```
Test file:
```c
// CHECK-DAG: 3
// CHECK-DAG: 1
// CHECK-NOT: 2
```
This does not work. The last line `CHECK-NOT: 2` does not trigger any
error, because we've already covered all three lines (1~3) while
matching `CHECK-DAG: 3` and `CHECK-DAG: 1`, and FileCheck tries to check
the line `CHECK-NOT: 2` _after_ the line `3`.
Actually, we have
```c
// BLEEDING-EDGE-NOT:#define __wasm_reference_types__ 1{{$}}
```
even though reference-types is enabled in 'bleeding-edge' config, and
this has not triggered any error.
This section
(https://llvm.org/docs/CommandGuide/FileCheck.html#the-check-dag-directive)
explains the interactions between `CHECK-DAG` and `CHECK-NOT`s:
> As a result, the surrounding `CHECK-DAG:` directives cannot be
reordered, i.e. all occurrences matching `CHECK-DAG:` before
`CHECK-NOT:` must not fall behind occurrences matching `CHECK-DAG:`
after `CHECK-NOT:`.
So in order to test the 'include' lists and 'not-include' lists, we have
to run the tests twice with different prefixes. This splits `GENERIC`
and `BLEEDING-EDGE` tests in two configs (`***-INCLUDE` and `***`) to
test them correctly.
This also adds some spaces after colons, sorts the feature lists, and
adds `1{{$}}` to the `MVP` tests to make them consistent with `GENERIC`
and `BLEEDING-EDGE` tests.
Commit: 88b6186af3908c55b357858eb348b5143f21c289
https://github.com/llvm/llvm-project/commit/88b6186af3908c55b357858eb348b5143f21c289
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/test/Preprocessor/wasm-target-features.c
Log Message:
-----------
[WebAssembly] Tidy up wasm-target-features.c (#89778)
This tidies up `wasm-target-features.c` cosmetically:
- Sorts the feature tests alphabetically
- Adds a space after colons
Commit: b82a4bfb54284d96ab065596620e260319045330
https://github.com/llvm/llvm-project/commit/b82a4bfb54284d96ab065596620e260319045330
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Remove unnecessary cast of nullptr in std::fill call. NFC
Commit: 6493da7356541becdf2bf6c141fd619c15dec5d6
https://github.com/llvm/llvm-project/commit/6493da7356541becdf2bf6c141fd619c15dec5d6
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/pr89833.ll
Log Message:
-----------
[RISCV] Use the store value's VT as the MemoryVT after combining riscv.masked.strided.store (#89874)
According to `RISCVTargetLowering::getTgtMemIntrinsic`, the MemoryVT
is the scalar element VT for strided store and the MemoryVT is the
same as the store value's VT for unit-stride store.
After combining `riscv.masked.strided.store` to `masked.store`, we
just use the scalar element VT to construct `masked.store`, which is
wrong.
With wrong MemoryVT, the DAGCombiner will combine `trunc+masked.store`
to truncated `masked.store` because `TLI.canCombineTruncStore` returns
true.
So, we should use the store value's VT as the MemoryVT.
This fixes #89833.
Commit: 805d5637a0d50caa073f435b55940c1338aae0fc
https://github.com/llvm/llvm-project/commit/805d5637a0d50caa073f435b55940c1338aae0fc
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaCXX/template-specialization.cpp
Log Message:
-----------
[clang] Mark ill-formed partial specialization as invalid (#89536)
Fixes #89374
Solution suggested by @cor3ntin
Commit: cf328ff96daf5e676fb51ac86e550af7fd689fec
https://github.com/llvm/llvm-project/commit/cf328ff96daf5e676fb51ac86e550af7fd689fec
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
A llvm/docs/MemoryModelRelaxationAnnotations.rst
M llvm/docs/Reference.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/IR/FixedMetadataKinds.def
A llvm/include/llvm/IR/MemoryModelRelaxationAnnotations.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/IR/CMakeLists.txt
M llvm/lib/IR/Instruction.cpp
A llvm/lib/IR/MemoryModelRelaxationAnnotations.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/mmra.ll
A llvm/test/CodeGen/AMDGPU/mmra.ll
A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-mmra.ll
A llvm/test/Transforms/SimplifyCFG/mmra.ll
A llvm/test/Verifier/mmra-allowed.ll
A llvm/test/Verifier/mmra.ll
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/unittests/IR/CMakeLists.txt
A llvm/unittests/IR/MemoryModelRelaxationAnnotationsTest.cpp
Log Message:
-----------
[IR] Memory Model Relaxation Annotations (#78569)
Implements the core/target-agnostic components of Memory Model
Relaxation Annotations.
RFC:
https://discourse.llvm.org/t/rfc-mmras-memory-model-relaxation-annotations/76361/5
Commit: 806db47b060b6e70cc71ee5ce8052829f85e6469
https://github.com/llvm/llvm-project/commit/806db47b060b6e70cc71ee5ce8052829f85e6469
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[IR] Remove unused variable in Verifier.cpp (NFC)
llvm-project/llvm/lib/IR/Verifier.cpp:4854:14:
error: unused variable 'IsLeaf' [-Werror,-Wunused-variable]
const auto IsLeaf = [](const Metadata *CurMD) {
^
1 error generated.
Commit: ad4a42bbc7f8d27d8e91b69dbd3282cf873d418e
https://github.com/llvm/llvm-project/commit/ad4a42bbc7f8d27d8e91b69dbd3282cf873d418e
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[RISCV] Remove -riscv-split-regalloc flag (#89715)
Split vector and scalar regalloc has been enabled by default for 5
months now since d0a39e617ba301a76d28e2d82e1f657999c9dcfb, and shipped
with 18.1.0. I haven't heard of any issues with it so far, so this
proposes to remove the flag to reduce the number of configurations we
have to support.
Commit: 7da63426ac5d9719038842c30ca2a644620be071
https://github.com/llvm/llvm-project/commit/7da63426ac5d9719038842c30ca2a644620be071
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp
Log Message:
-----------
Re-apply "[ORC] Unify task dispatch across ExecutionSession..." with more fixes.
This re-applies 6094b3b7db7, which was reverted in e7efd37c229 (and before that
in 1effa19de24) due to bot failures.
The test failures were fixed by having SelfExecutorProcessControl use an
InPlaceTaskDispatcher by default, rather than a DynamicThreadPoolTaskDispatcher.
This shouldn't be necessary (and indicates a concurrency issue elsewhere), but
InPlaceTaskDispatcher is a less surprising default, and better matches the
existing behavior (compilation on current thread by default), so the change
seems reasonable. I've filed https://github.com/llvm/llvm-project/issues/89870
to investigate the concurrency issue as a follow-up.
Coding my way home: 6.25133S 127.94177W
Commit: 9375962ac9e8d8e83fa8e32c3b04bb6970e4b242
https://github.com/llvm/llvm-project/commit/9375962ac9e8d8e83fa8e32c3b04bb6970e4b242
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/test/TableGen/ContextlessPredicates.td
M llvm/test/TableGen/DefaultOpsGlobalISel.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-eraseroot.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-miflags.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-operand-types.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-permutations.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-temp-defs.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-typeof.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
M llvm/test/TableGen/GlobalISelEmitter-atomic_store.td
M llvm/test/TableGen/GlobalISelEmitter-immAllZeroOne.td
M llvm/test/TableGen/GlobalISelEmitter-immarg-literal-pattern.td
M llvm/test/TableGen/GlobalISelEmitter-input-discard.td
M llvm/test/TableGen/GlobalISelEmitter-multiple-output-discard.td
M llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
M llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
M llvm/test/TableGen/GlobalISelEmitter-notype-output-pattern.td
M llvm/test/TableGen/GlobalISelEmitter-output-discard.td
M llvm/test/TableGen/GlobalISelEmitter-zero-reg.td
M llvm/test/TableGen/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitterCustomPredicate.td
M llvm/test/TableGen/GlobalISelEmitterFlags.td
M llvm/test/TableGen/GlobalISelEmitterHwModes.td
M llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
M llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand-invalid.td
M llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand.td
M llvm/test/TableGen/GlobalISelEmitterOverloadedPtr.td
M llvm/test/TableGen/GlobalISelEmitterRegSequence.td
M llvm/test/TableGen/GlobalISelEmitterSubreg.td
M llvm/test/TableGen/GlobalISelEmitterVariadic.td
M llvm/test/TableGen/HasNoUse.td
M llvm/test/TableGen/address-space-patfrags.td
M llvm/test/TableGen/gisel-physreg-input.td
M llvm/test/TableGen/immarg-predicated.td
M llvm/test/TableGen/immarg.td
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
Log Message:
-----------
[TableGen][GlobalISel] Specialize more MatchTable Opcodes (#89736)
The vast majority of the following (very common) opcodes were always
called with identical arguments:
- `GIM_CheckType` for the root
- `GIM_CheckRegBankForClass` for the root
- `GIR_Copy` between the old and new root
- `GIR_ConstrainSelectedInstOperands` on the new root
- `GIR_BuildMI` to create the new root
I added overloaded version of each opcode specialized for the root
instructions. It always saves between 1 and 2 bytes per instance
depending on the number of arguments specialized into the opcode. Some
of these opcodes had between 5 and 15k occurences in the AArch64
GlobalISel Match Table.
Additionally, the following opcodes are almost always used in the same
sequence:
- `GIR_EraseFromParent 0` + `GIR_Done`
- `GIR_EraseRootFromParent_Done` has been created to do both. Saves 2
bytes per occurence.
- `GIR_IsSafeToFold` was *always* called for each InsnID except 0.
- Changed the opcode to take the number of instructions to check after
`MI[0]`
The savings from these are pretty neat. For `AArch64GenGlobalISel.inc`:
- `AArch64InstructionSelector.cpp.o` goes down from 772kb to 704kb (-10%
code size)
- Self-reported MatchTable size goes from 420380 bytes to 352426 bytes
(~ -17%)
A smaller match table means a faster match table because we spend less
time iterating and decoding.
I don't have a solid measurement methodology for GlobalISel performance
so I don't have precise numbers but I saw a few % of improvements in a
simple testcase.
Commit: 008b7f1dfdba5cd0479cbb0348d84d0eeb8b5d46
https://github.com/llvm/llvm-project/commit/008b7f1dfdba5cd0479cbb0348d84d0eeb8b5d46
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/test/Lower/HLFIR/internal-procedures.f90
Log Message:
-----------
[flang] implement capture of procedure pointers in internal procedures (#89619)
Commit: 46b011d0ccb468613bcc7e9e756518f9f383001d
https://github.com/llvm/llvm-project/commit/46b011d0ccb468613bcc7e9e756518f9f383001d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port cf328ff96daf
Commit: 9a8235a290b87a311217b9ffd811de06bff38746
https://github.com/llvm/llvm-project/commit/9a8235a290b87a311217b9ffd811de06bff38746
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
Log Message:
-----------
[ORC] Fix -Wunused-variable in LLJIT.cpp (NFC)
llvm-project/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp:684:8:
error: unused variable 'ConcurrentCompilationSettingDefaulted' [-Werror,-Wunused-variable]
bool ConcurrentCompilationSettingDefaulted = !SupportConcurrentCompilation;
^
1 error generated.
Commit: 78ebaa2d798f939e35e44778572eb54c4bf36550
https://github.com/llvm/llvm-project/commit/78ebaa2d798f939e35e44778572eb54c4bf36550
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
Log Message:
-----------
[ORC] Fix build failure (NFC)
Commit: b3ca9c30dedf28ecf687779294c1343a840bfd35
https://github.com/llvm/llvm-project/commit/b3ca9c30dedf28ecf687779294c1343a840bfd35
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for isKnowNonZero of `trunc nuw/nsw`; NFC
Commit: b933c8447b2a8797a882d3506460f49fb6f7bf34
https://github.com/llvm/llvm-project/commit/b933c8447b2a8797a882d3506460f49fb6f7bf34
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add support for `trunc nuw/nsw` in isKnowNonZero
With `nsw`/`nuw`, the `trunc` is non-zero if its operand is non-zero.
Proofs: https://alive2.llvm.org/ce/z/iujmk6
Closes #89643
Commit: 62db43497fb019d0ac0677ae0c9ea2eba136b230
https://github.com/llvm/llvm-project/commit/62db43497fb019d0ac0677ae0c9ea2eba136b230
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M lldb/docs/conf.py
Log Message:
-----------
[lldb] Enable support for Markdown documentation pages (#89716)
RST is powerful but usually too powerful for 90% of what we need it for.
Markdown is easier to edit and can be previewed easily without building
the entire website.
This copies what llvm does already, making myst_parser optional if you
only want man pages.
Previously we had Markdown enabled in
8b95bd3310c126e76e0714bea6003a9b1aa739fb but that got reverted. That did
this in a different way but I've gone with the standard llvm set this
time.
I intend the first Markdown pages to be the remote protocol extension
docs, as they are not in any set format right now.
Commit: 662ef8604268b207910225ecca90daf30a46720b
https://github.com/llvm/llvm-project/commit/662ef8604268b207910225ecca90daf30a46720b
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][NFC] Remove useless code in ASTWriter
A follow-up to #71709, addressing the static analysis finding reported in https://github.com/llvm/llvm-project/pull/71709/files#r1576846306
Commit: 71c5964f5c0686be3319bc55a0dbfb0e3a60a917
https://github.com/llvm/llvm-project/commit/71c5964f5c0686be3319bc55a0dbfb0e3a60a917
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/include/llvm/TargetParser/CMakeLists.txt
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/TargetParser/CMakeLists.txt
A llvm/utils/TableGen/ARMTargetDefEmitter.cpp
M llvm/utils/TableGen/CMakeLists.txt
Log Message:
-----------
[ARM][AArch64] autogenerate header file for TargetParser from Target tablegen files (#88378)
Introduce a mechanism to share data between the ARM and AArch64 backends and
TargetParser, to reduce duplication of code. This is similar to the current
RISC-V implementation.
The target tablegen file (in this case `ARM.td` or `AArch64.td`) is
processed during building of `TargetParser` to generate the following
files in the build tree:
- `build/include/llvm/TargetParser/ARMTargetParserDef.inc`
- `build/include/llvm/TargetParser/AArch64TargetParserDef.inc`
For now, the use of these generated files is limited to files _outside_
of `TargetParser`. The main reason for this is that the modifications to
`TargetParser` will require additional data added to the tablegen files,
which I want to split into separate PRs.
Commit: 69703b1f94ac8e5c03bd39d0a581bf6e553545e4
https://github.com/llvm/llvm-project/commit/69703b1f94ac8e5c03bd39d0a581bf6e553545e4
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
Log Message:
-----------
[ORC] Fix bot failure due to 7da63426ac5 (ORC task dispatch unification).
Fixes the failure at https://lab.llvm.org/buildbot/#/builders/131/builds/62928,
and add comments about unused variable and update debugging output.
Coding my way home: 6.44615S, 128.16704W
Commit: 601d0caf3b347a666b59928e4c3ad6b8e3d1d35c
https://github.com/llvm/llvm-project/commit/601d0caf3b347a666b59928e4c3ad6b8e3d1d35c
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M lldb/docs/index.rst
R lldb/docs/lldb-gdb-remote.txt
A lldb/docs/resources/lldbgdbremote.md
Log Message:
-----------
[lldb][Docs] Convert GDB protocol extensions doc to Markdown and add to website (#89718)
This document has never been on the website, unlike GDB's protocol docs.
It will be useful to have both available online to compare.
Markdown is easier to edit and preview in many editors (including Github
itself), so I've chosen that over RST. Plus, building the website takes
minutes and I lose the will to make nice edits when I have to deal with
that.
The standard dialiect lacks some things notably multi-line table cells,
so I've converted large tables into bullet point lists
so that we still get text wrapping. This is a downside but I think the
simplicity of Markdown outweighs this.
I have applied the plain text markers where I've noticed it and escaped
some HTML characters. There may be more changes needed but, it's
Markdown, so it's in theory a lot easier for someone to fix it!
Commit: c071c1d3abfedaf081d77308a24bb38c061ff999
https://github.com/llvm/llvm-project/commit/c071c1d3abfedaf081d77308a24bb38c061ff999
Author: Michal Paszkowski <michal at paszkowski.org>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
A llvm/test/CodeGen/SPIRV/pointers/argument-ptr-to-struct.ll
A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll
A llvm/test/CodeGen/SPIRV/types/or-i1.ll
Log Message:
-----------
[SPIR-V] New validation tests for pointer and primitive types (#89632)
This patch adds new tests mostly checking SPIR-V validation of pointer
and primitive types.
Commit: 603ba4c59635ff5f8a54d1106719124aee20271d
https://github.com/llvm/llvm-project/commit/603ba4c59635ff5f8a54d1106719124aee20271d
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
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/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
Log Message:
-----------
[RISCV] Separate doLocalPostpass into new pass and move to post vector regalloc (#88295)
This patch splits off part of the work to move vsetvli insertion to post
regalloc in #70549.
The doLocalPostpass operates outside of RISCVInsertVSETVLI's dataflow,
so we can move it to its own pass. We can then move it to post vector
regalloc which should be a smaller change.
A couple of things that are different from #70549:
- This manually fixes up the LiveIntervals rather than recomputing it
via createAndComputeVirtRegInterval. I'm not sure if there's much of a
difference with either.
- For the postpass it's sufficient enough to just check isUndef() in
hasUndefinedMergeOp, i.e. we don't need to lookup the def in VNInfo.
Running on llvm-test-suite and SPEC CPU 2017 there aren't any changes in
the number of vsetvlis removed. There are some minor scheduling diffs as
well as extra spills and less spills in some cases (caused by transient
vsetvlis existing between RISCVInsertVSETVLI and RISCVCoalesceVSETVLI
when vec regalloc happens), but they are minor and should go away once
we finish moving the rest of RISCVInsertVSETVLI.
We could also potentially turn off this pass for unoptimised builds.
Commit: 788d1598212b402057889f5eb973b8665a735d04
https://github.com/llvm/llvm-project/commit/788d1598212b402057889f5eb973b8665a735d04
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
A utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
Log Message:
-----------
[libc][bazel] Allow configure options to alter all targets (#89251)
The previous state was leading to inconsistencies. Some targets would
get the options and some wouldn't. As an example, the `MEMORY_COPTS`
definitions would only apply to the `:string_memory_utils` target but
not to the `:memcpy` target. This patch makes sure definitions are
applied throughout the LLVM libc targets as `local_defines`. This
ensures that the preprocessor definitions don't propagate to depending
targets outside of LLVM libc, and that all libc targets have consistent
preprocessor definitions.
Commit: 46163688e111956a9aeb3a35b8f85a40ef7035d0
https://github.com/llvm/llvm-project/commit/46163688e111956a9aeb3a35b8f85a40ef7035d0
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
Log Message:
-----------
[AMDGPU] Allow WorkgroupID intrinsics in amdgpu_gfx functions (#89773)
With GFX12 architected SGPRs the workgroup ids are trivially available
in any function called from a compute entrypoint.
Commit: 91526d64a8adb14edc55adfd5270858791822837
https://github.com/llvm/llvm-project/commit/91526d64a8adb14edc55adfd5270858791822837
Author: Martin Storsjö <martin at martin.st>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M libcxx/modules/std.compat/cstdlib.inc
Log Message:
-----------
[libcxx] [modules] Add _LIBCPP_USING_IF_EXISTS on aligned_alloc (#89827)
This is missing e.g. on Windows. With this change, it's possible to make
the libcxx std module work on mingw-w64 (although that requires a few
fixes to those headers).
In the regular cstdlib header, we have _LIBCPP_USING_IF_EXISTS flagged
on every single reexported function (since
a9c9183ca42629fa83cdda297d1d30c7bc1d7c91), but the modules seem to only
have _LIBCPP_USING_IF_EXISTS set on a few individual functions, so far.
Commit: d149370900844cca3fec06bb078eb8d85008f72d
https://github.com/llvm/llvm-project/commit/d149370900844cca3fec06bb078eb8d85008f72d
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/commutable.ll
Log Message:
-----------
[RISCV] Add test coverage for commutable RVV instructions
This patch adds test coverage for commutable RVV instructions
added in #88379.
For each kind of instruction, I add two tests (one for unmasked and
one for masked). These tests don't cover all the SEWs/LMULs as I
think it's not worthy because there is no difference when handling
instructions with different SEWs/LMULs.
As the tests shown, we can't eliminate two equal instructions if
there is a use of `V0`. This may be fixed in the future.
Reviewers: asb, jacquesguan, topperc, lukel97, preames
Reviewed By: lukel97
Pull Request: https://github.com/llvm/llvm-project/pull/89889
Commit: 945eeb2d92758ef907ef3aeb3251fadc64b731b3
https://github.com/llvm/llvm-project/commit/945eeb2d92758ef907ef3aeb3251fadc64b731b3
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/add4.ll
Log Message:
-----------
[InstCombine] Simplify `(X / C0) * C1 + (X % C0) * C2` to `(X / C0) * (C1 - C2 * C0) + X * C2` (#76285)
Since `DivRemPairPass` runs after `ReassociatePass` in the optimization
pipeline, I decided to do this simplification in `InstCombine`.
Alive2: https://alive2.llvm.org/ce/z/Jgsiqf
Fixes #76128.
Commit: e400e908b2d97529b1a65dd0bdad80d481c39527
https://github.com/llvm/llvm-project/commit/e400e908b2d97529b1a65dd0bdad80d481c39527
Author: Lang Hames <lhames at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
Log Message:
-----------
[ORC] Fix SpeculativeJIT example after 7da63426ac5 (ORC dispatch unification).
Fixes the bot failure at
https://lab.llvm.org/buildbot/#/builders/272/builds/14788.
Coding my way home: 6.48551S, 128.21109W
Commit: effb2f1917f11b58262d0e13aa085303b5896852
https://github.com/llvm/llvm-project/commit/effb2f1917f11b58262d0e13aa085303b5896852
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Use a response file when building on Windows (#89756)
We've recently seen the libclc llvm-link invocations become so long that
they exceed the character limits on certain platforms.
Using a 'response file' should solve this by offloading the list of
inputs into a separate file, and using special syntax to pass it to
llvm-link. Note that neither the response file nor syntax aren't
specific to Windows but we restrict it to that platform regardless. We
have the option of expanding it to other platforms in the future.
Commit: 4c3b0a6e009228e8c45586eea7a1f7955d36dd42
https://github.com/llvm/llvm-project/commit/4c3b0a6e009228e8c45586eea7a1f7955d36dd42
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
Log Message:
-----------
[mlir][tosa] Fix Map for Bias Broadcast (#89059)
Commit: 282b56f43d5dfac1dda548924e91fbc380451603
https://github.com/llvm/llvm-project/commit/282b56f43d5dfac1dda548924e91fbc380451603
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfBinops - add support for length changing shuffles (#88899)
Refactor to be closer to foldShuffleOfCastops - sibling patch to #88743 that can be used to address some of the issues identified in #88693
Commit: 89d125564a619068cead98c970215e69653503e8
https://github.com/llvm/llvm-project/commit/89d125564a619068cead98c970215e69653503e8
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/test/CodeGen/SPIRV/transcoding/memcpy-zext.ll
Log Message:
-----------
Bit width of input/result types in OpSConvert/OpUConvert must not be the same (#89737)
This PR fixes the issue
https://github.com/llvm/llvm-project/issues/88908
Attached test case is updated to check that OpSConvert/OpUConvert is not
generated when input and result types are identical.
Commit: 486ea1ec6e436d502064b610027361523adc537b
https://github.com/llvm/llvm-project/commit/486ea1ec6e436d502064b610027361523adc537b
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/pointers/global-ptrtoint.ll
Log Message:
-----------
[SPIR-V] Fix pre-legalizer pass in SPIR-V Backend to support more gMIR opcode inserted by IRTranslator (#89890)
Translating global values, IRTranslator pass can sometimes generates
code patterns that require additional efforts during pre-legalization.
This PR addresses this problem to support G_PTRTOINT instruction used in
initialization of GV.
Commit: 18bf0c3c1d07fb5ccde9ce91473568668d5df8e2
https://github.com/llvm/llvm-project/commit/18bf0c3c1d07fb5ccde9ce91473568668d5df8e2
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
A flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
Log Message:
-----------
[flang][OpenMP] fix reduction of arrays with non-default lower bounds (#89611)
It turned out that `hlfir::genVariableBox` didn't add lower bounds to
the boxes it created. Using a shapeshift instead of only a shape adds
the lower bounds information to the thread-local copy of the box.
Fixes #89259
Commit: ceca523581c60a7034429645b7f7401d4eec8379
https://github.com/llvm/llvm-project/commit/ceca523581c60a7034429645b7f7401d4eec8379
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
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/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/array-value-copy-2.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
M flang/test/Lower/OpenMP/FIR/flush.f90
M flang/test/Lower/OpenMP/FIR/master.f90
M flang/test/Lower/OpenMP/FIR/parallel-sections.f90
M flang/test/Transforms/omp-reduction-cfg-conversion.fir
Log Message:
-----------
[flang] de-duplicate CFGConversion pass (#89783)
See RFC at
https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations
I previously did the same for the AbstractResult pass
https://github.com/llvm/llvm-project/pull/88867
Commit: b8e97f0768f2b537c45930f56f4027a4c0a07f24
https://github.com/llvm/llvm-project/commit/b8e97f0768f2b537c45930f56f4027a4c0a07f24
Author: Tomas Matheson <tomas.matheson at arm.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/utils/TableGen/CMakeLists.txt
Log Message:
-----------
[ARM] Add ARMTargetDefEmitter to llvm-tblgen source
Missed from #88378, only showed up in the sanitizer builds.
Commit: 3cb660d772ecc4605196ba65f09c4117e8435ef3
https://github.com/llvm/llvm-project/commit/3cb660d772ecc4605196ba65f09c4117e8435ef3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
Log Message:
-----------
DAG: Fix missing fptrunc_round name in debug dumps
Commit: e5de95d6dc1346dade17cb2c8ffe6005e873f4a2
https://github.com/llvm/llvm-project/commit/e5de95d6dc1346dade17cb2c8ffe6005e873f4a2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/bitreverse-shift.ll
Log Message:
-----------
[RISCV] bitreverse-shift.ll - fix typo
Noticed in #89897
Commit: 506c84a7198630b7476b02d985c6ed09338f757d
https://github.com/llvm/llvm-project/commit/506c84a7198630b7476b02d985c6ed09338f757d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.h
Log Message:
-----------
[TTI] getArithmeticInstrCost - use std:nullopt to create default empty `ArrayRef<const Value *> Args` argument. NFC.
Commit: 4d3308202e52b213a05023c8b8b470b346151de6
https://github.com/llvm/llvm-project/commit/4d3308202e52b213a05023c8b8b470b346151de6
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
A mlir/test/Examples/NVGPU/Ch0.py
A mlir/test/Examples/NVGPU/Ch1.py
A mlir/test/Examples/NVGPU/Ch2.py
A mlir/test/Examples/NVGPU/Ch3.py
A mlir/test/Examples/NVGPU/Ch4.py
A mlir/test/Examples/NVGPU/Ch5.py
A mlir/test/Examples/NVGPU/lit.local.cfg
A mlir/test/Examples/NVGPU/tools/lit.local.cfg
A mlir/test/Examples/NVGPU/tools/nvdsl.py
A mlir/test/Examples/NVGPU/tools/nvgpucompiler.py
Log Message:
-----------
[mlir][nvgpu] NVGPU Tutorials (#87065)
I have a tutorial at EuroLLVM 2024 ([Zero to Hero: Programming Nvidia
Hopper Tensor Core with MLIR's NVGPU
Dialect](https://llvm.swoogo.com/2024eurollvm/session/2086997/zero-to-hero-programming-nvidia-hopper-tensor-core-with-mlir's-nvgpu-dialect)).
For that, I implemented tutorial codes in Python. The focus is the nvgpu
dialect and how to use its advanced features. I thought it might be
useful to upstream this.
The tutorial codes are as follows:
- **Ch0.py:** Hello World
- **Ch1.py:** 2D Saxpy
- **Ch2.py:** 2D Saxpy using TMA
- **Ch3.py:** GEMM 128x128x64 using Tensor Core and TMA
- **Ch4.py:** Multistage performant GEMM using Tensor Core and TMA
- **Ch5.py:** Warp Specialized GEMM using Tensor Core and TMA
I might implement one more chapter:
- **Ch6.py:** Warp Specialized Persistent ping-pong GEMM
This PR also introduces the nvdsl class, making IR building in the
tutorial easier.
Commit: 333aad7195b568e03db52a561052eba9f73758d5
https://github.com/llvm/llvm-project/commit/333aad7195b568e03db52a561052eba9f73758d5
Author: David Green <david.green at arm.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/concatbinop.ll
Log Message:
-----------
[AArch64] Add tests for concat binop patterns. NFC
Commit: a13ff06dce501d8863b3c7068db87ff790ba8734
https://github.com/llvm/llvm-project/commit/a13ff06dce501d8863b3c7068db87ff790ba8734
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
Log Message:
-----------
AMDGPU: Remove dead arguments in test and add SGPR variants
Also cleanup to avoid the memory noise by using return values
in the trivial cases.
Commit: 401658cb4bad619254316ff936c527fec0861472
https://github.com/llvm/llvm-project/commit/401658cb4bad619254316ff936c527fec0861472
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
Log Message:
-----------
AMDGPU: Fix vector handling of fptrunc_round
Commit: 01f8da908ca3616c266fd0afb8490b7f7633ef4b
https://github.com/llvm/llvm-project/commit/01f8da908ca3616c266fd0afb8490b7f7633ef4b
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
A llvm/test/Transforms/LoopUnroll/unroll-loads-cse.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
Log Message:
-----------
[LoopUnroll] Add tests for performing load CSE after unrolling.
Precommit tests for https://github.com/llvm/llvm-project/pull/83860.
Commit: c81ec1f35c8226a13df4e2988d3be7b45ebd4e85
https://github.com/llvm/llvm-project/commit/c81ec1f35c8226a13df4e2988d3be7b45ebd4e85
Author: Dmitry Chernenkov <dmitryc at google.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm][Bazel] Fix Bazel build for 71c5964f5c0686be3319bc55a0dbfb0e3a60a917
Commit: af81d8ec224900de7a4d2c96a675269499b55a0c
https://github.com/llvm/llvm-project/commit/af81d8ec224900de7a4d2c96a675269499b55a0c
Author: Allen <zhongyunde at huawei.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/sve-vl-arith.ll
M llvm/test/CodeGen/AArch64/vscale-and-sve-cnt-demandedbits.ll
Log Message:
-----------
[AArch64][CodeGen] Add patterns for small negative VScale const (#89607)
On AArch64, rdvl can accept a nagative value, while cntd/cntw/cnth can't.
As we do support VScale with a negative multiply value, so we did not limit
the negative value and instead took the hit of having the extra patterns according PR88108.
Also add NoUseScalarIncVL to avoid affecting patterns works for -mattr=+use-scalar-inc-vl
Fix https://github.com/llvm/llvm-project/issues/84620
Commit: 62549dbbf286823e400e07cff5ae219e48c175d2
https://github.com/llvm/llvm-project/commit/62549dbbf286823e400e07cff5ae219e48c175d2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/amdgpu-toolchain.c
Log Message:
-----------
[AMDGPU] Correctly determine the toolchain linker (#89803)
Summary:
The AMDGPU toolchain simply took the short name to get the link job
instead of using the common utilities that respect options like
`-fuse-ld`. Any linker that isn't `ld.lld` will fail, however we should
be able to override it.
Commit: eaa2eac8ec73a0473655f2da73f347906d14b00f
https://github.com/llvm/llvm-project/commit/eaa2eac8ec73a0473655f2da73f347906d14b00f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/test/Driver/amdgpu-toolchain.c
Log Message:
-----------
[AMDGPU] Fix linker test on platforms without BFD
Commit: 9f2a068bffad4a36db088673210f680bfd08b3d1
https://github.com/llvm/llvm-project/commit/9f2a068bffad4a36db088673210f680bfd08b3d1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[DAG] Add getValid*ShiftAmountConstant wrappers without DemandedElts
Simplify callers which don't have their own DemandedElts mask.
Noticed while reviewing #88801
Commit: 6e9ea6ea6897561a9c3bd77b0b93e415fdc7eeb3
https://github.com/llvm/llvm-project/commit/6e9ea6ea6897561a9c3bd77b0b93e415fdc7eeb3
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/test/Dialect/LLVMIR/mem2reg.mlir
Log Message:
-----------
[MLIR][LLVM][Mem2Reg] Extends support for partial stores (#89740)
This commit enhances the LLVM dialect's Mem2Reg interfaces to support
partial stores to memory slots. To achieve this support, the `getStored`
interface method has to be extended with a parameter of the reaching
definition, which is now necessary to produce the resulting value after
this store.
Commit: 79d4d165638b7587937fc60431e0865fd73c9334
https://github.com/llvm/llvm-project/commit/79d4d165638b7587937fc60431e0865fd73c9334
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/python/mlir/dialects/LLVMOps.td
M mlir/python/mlir/dialects/llvm.py
M mlir/test/python/dialects/llvm.py
Log Message:
-----------
[mlir][python] extend LLVM bindings (#89797)
Add bindings for LLVM pointer type.
Commit: d3f6c2c5a76ed4eafd1ef76bd64cb01c8934c914
https://github.com/llvm/llvm-project/commit/d3f6c2c5a76ed4eafd1ef76bd64cb01c8934c914
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
Log Message:
-----------
[gn] port b8e97f0768f2
Commit: 2bcbe40f8a1c6cc9a256711261d8aa8fde50f7b3
https://github.com/llvm/llvm-project/commit/2bcbe40f8a1c6cc9a256711261d8aa8fde50f7b3
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/APIRecords.inc
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/test/ExtractAPI/anonymous_record_no_typedef.c
M clang/test/ExtractAPI/enum.c
M clang/test/ExtractAPI/function_noexcepts.cpp
M clang/test/ExtractAPI/methods.cpp
M clang/test/ExtractAPI/objc_block.m
M clang/test/ExtractAPI/typedef_anonymous_record.c
M clang/test/ExtractAPI/typedef_struct_enum.c
Log Message:
-----------
[clang][ExtractAPI] Fix handling of anonymous TagDecls (#87772)
This changes the handling of anonymous TagDecls to the following rules:
- If the TagDecl is embedded in the declaration for some VarDecl (this
is the only possibility for RecordDecls), then pretend the child decls
belong to the VarDecl
- If it's an EnumDecl proceed as we did previously, i.e., embed it in
the enclosing DeclContext.
Additionally this fixes a few issues with declaration fragments not
consistently including "{ ... }" for anonymous TagDecls. To make testing
these additions easier this patch fixes some text declaration fragments
merging issues and updates tests accordingly.
rdar://121436298
Commit: 93eeca331e1304e0a75e606ec5a32e8704432c67
https://github.com/llvm/llvm-project/commit/93eeca331e1304e0a75e606ec5a32e8704432c67
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
LangRef: fix broken link
Commit: b87b6e2c880de5ecc4c7b3a8b9b2db09e6149851
https://github.com/llvm/llvm-project/commit/b87b6e2c880de5ecc4c7b3a8b9b2db09e6149851
Author: Nico Weber <thakis at chromium.org>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
Log Message:
-----------
[gn] port 71c5964f5c0 (-gen-arm-target-def)
Reverts d3f6c2c5a76e, since ARMTargetDefEmitter.cpp has to be in
llvm-min-tblgen too.
Commit: d577518d98c7b93cc7e55ae9aafd0fc1ce38ec0e
https://github.com/llvm/llvm-project/commit/d577518d98c7b93cc7e55ae9aafd0fc1ce38ec0e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMP.h
M llvm/lib/Frontend/OpenMP/OMP.cpp
M llvm/unittests/Frontend/OpenMPCompositionTest.cpp
Log Message:
-----------
[Frontend][OpenMP] Implement getLeafOrCompositeConstructs (#89104)
This function will break up a construct into constituent leaf and
composite constructs, e.g. if OMPD_c_d_e and OMPD_d_e are composite
constructs, then OMPD_a_b_c_d_e will be broken up into the list {OMPD_a,
OMPD_b, OMPD_c_d_e}.
Commit: 9cbf96ad5b6fe777bf5acd43b65abfb062381f8c
https://github.com/llvm/llvm-project/commit/9cbf96ad5b6fe777bf5acd43b65abfb062381f8c
Author: Fabio D'Urso <fdurso at google.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
Log Message:
-----------
Allow ZX_ERR_NO_RESOURCES with MAP_ALLOWNOMEM on Fuchsia (#89767)
This can occur if the virtual address space is (almost) entirely
mapped or heavily fragmented.
Commit: bd34bc6dc2e4e60813ddea31bfb4ca46d3a96013
https://github.com/llvm/llvm-project/commit/bd34bc6dc2e4e60813ddea31bfb4ca46d3a96013
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
M clang/test/Sema/aarch64-sme-func-attrs.c
Log Message:
-----------
[Clang][AArch64] Extend diagnostics when warning non/streaming about vector size difference (#88380)
Add separate messages about passing arguments or returning parameters
with scalable types.
---------
Co-authored-by: Sander de Smalen <sander.desmalen at arm.com>
Commit: 07e6c1609d0a57f7ddc0537b7794be2e0296658b
https://github.com/llvm/llvm-project/commit/07e6c1609d0a57f7ddc0537b7794be2e0296658b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/CAPI/execution_engine.c
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Dialect/LLVMIR/legalize-for-export.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR][OpenMP] Make omp.wsloop into a loop wrapper (1/5) (#89209)
This patch updates the definition of `omp.wsloop` to enforce the
restrictions of a loop wrapper operation.
Related tests are updated but this PR on its own will not pass premerge
tests. All patches in the stack are needed before it can be compiled and
passes tests.
Commit: f6d431f208c0fa48827eac40e7acf788346a9967
https://github.com/llvm/llvm-project/commit/f6d431f208c0fa48827eac40e7acf788346a9967
Author: Xu Zhang <simonzgx at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
M llvm/lib/CodeGen/CalcSpillWeights.cpp
M llvm/lib/CodeGen/CodeGenCommonISel.cpp
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveVariables.cpp
M llvm/lib/CodeGen/MachineCSE.cpp
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/PHIElimination.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64MacroFusion.cpp
M llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/ARM/A15SDOptimizer.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
M llvm/lib/Target/ARM/MVEVPTBlockPass.cpp
M llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInsertReadWriteCSR.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86FixupSetCC.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86FloatingPoint.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
Log Message:
-----------
[CodeGen] Make the parameter TRI required in some functions. (#85968)
Fixes #82659
There are some functions, such as `findRegisterDefOperandIdx` and `findRegisterDefOperand`, that have too many default parameters. As a result, we have encountered some issues due to the lack of TRI parameters, as shown in issue #82411.
Following @RKSimon 's suggestion, this patch refactors 9 functions, including `{reads, kills, defines, modifies}Register`, `registerDefIsDead`, and `findRegister{UseOperandIdx, UseOperand, DefOperandIdx, DefOperand}`, adjusting the order of the TRI parameter and making it required. In addition, all the places that call these functions have also been updated correctly to ensure no additional impact.
After this, the caller of these functions should explicitly know whether to pass the `TargetRegisterInfo` or just a `nullptr`.
Commit: 4c16b1231cc78cc6271cff5ab33f799cd437ac31
https://github.com/llvm/llvm-project/commit/4c16b1231cc78cc6271cff5ab33f799cd437ac31
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroInstr.h
Log Message:
-----------
[coro] Tweak comments about CoroAwaitSuspendInst
to reflect that there are three variants.
Commit: 1465299092c647fdb484235cc864826dca36f308
https://github.com/llvm/llvm-project/commit/1465299092c647fdb484235cc864826dca36f308
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
Log Message:
-----------
[MLIR][OpenMP] Update op verifiers dependent on omp.wsloop (2/5) (#89211)
This patch updates verifiers for `omp.ordered`, `omp.ordered.region`,
`omp.cancel` and `omp.cancellation_point`, which check for a parent
`omp.wsloop`.
After transitioning to a loop wrapper-based approach, the expected
direct parent will become `omp.loop_nest` instead, so verifiers need to
take this into account.
This PR on its own will not pass premerge tests. All patches in the
stack are needed before it can be compiled and passes tests.
Commit: 8843d541b6640ec8928cfda835ff22a657656037
https://github.com/llvm/llvm-project/commit/8843d541b6640ec8928cfda835ff22a657656037
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/test/Conversion/SCFToOpenMP/reductions.mlir
M mlir/test/Conversion/SCFToOpenMP/scf-to-openmp.mlir
Log Message:
-----------
[MLIR][SCF] Update scf.parallel lowering to OpenMP (3/5) (#89212)
This patch makes changes to the `scf.parallel` to `omp.parallel` +
`omp.wsloop` lowering pass in order to introduce a nested
`omp.loop_nest` as well, and to follow the new loop wrapper role for
`omp.wsloop`.
This PR on its own will not pass premerge tests. All patches in the
stack are needed before it can be compiled and passes tests.
Commit: 2e37f28f3bac768465e9112caf88e9370a62234d
https://github.com/llvm/llvm-project/commit/2e37f28f3bac768465e9112caf88e9370a62234d
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-parallel-wsloop.mlir
M mlir/test/Target/LLVMIR/omptarget-wsloop-collapsed.mlir
M mlir/test/Target/LLVMIR/omptarget-wsloop.mlir
M mlir/test/Target/LLVMIR/openmp-data-target-device.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-nested.mlir
M mlir/test/Target/LLVMIR/openmp-reduction.mlir
M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir
Log Message:
-----------
[MLIR][OpenMP] Update omp.wsloop translation to LLVM IR (4/5) (#89214)
This patch introduces minimal changes to the MLIR to LLVM IR translation
of `omp.wsloop` to support the loop wrapper approach.
There is `omp.loop_nest` related translation code that should be
extracted and shared among all loop operations (e.g. `omp.simd`). This
would possibly also help in the addition of support for compound
constructs later on. This first approach is only intended to keep things
running after the transition to loop wrappers and not to add support for
other use cases enabled by that transition.
This PR on its own will not pass premerge tests. All patches in the
stack are needed before it can be compiled and passes tests.
Commit: ca4dbc271842e8c9b5ed01bd66b687ab703896d0
https://github.com/llvm/llvm-project/commit/ca4dbc271842e8c9b5ed01bd66b687ab703896d0
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Lower/OpenMP/FIR/copyin.f90
M flang/test/Lower/OpenMP/FIR/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/FIR/location.f90
M flang/test/Lower/OpenMP/FIR/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/FIR/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
M flang/test/Lower/OpenMP/FIR/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/FIR/parallel-wsloop.f90
M flang/test/Lower/OpenMP/FIR/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/FIR/target.f90
M flang/test/Lower/OpenMP/FIR/unstructured.f90
M flang/test/Lower/OpenMP/FIR/wsloop-chunks.f90
M flang/test/Lower/OpenMP/FIR/wsloop-collapse.f90
M flang/test/Lower/OpenMP/FIR/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/FIR/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/FIR/wsloop-ordered.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/FIR/wsloop-simd.f90
M flang/test/Lower/OpenMP/FIR/wsloop-variable.f90
M flang/test/Lower/OpenMP/FIR/wsloop.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.f90
M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/location.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.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.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/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-ordered.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.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/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
M flang/test/Lower/OpenMP/wsloop-unstructured.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
Log Message:
-----------
[Flang][OpenMP][Lower] Update workshare-loop lowering (5/5) (#89215)
This patch updates lowering from PFT to MLIR of workshare loops to
follow the loop wrapper approach. Unit tests impacted by this change are
also updated.
As the last patch of the stack, this should compile and pass unit tests.
Commit: 3328ccf68985ed512d448890ee900ed5f4bdb620
https://github.com/llvm/llvm-project/commit/3328ccf68985ed512d448890ee900ed5f4bdb620
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/test/Lower/Intrinsics/shape.f90
Log Message:
-----------
[flang] lower SHAPE intrinsic (#89785)
Semantics usually fold SHAPE into an array constructor, but sometimes it
cannot (like when the source is a function result that cannot be
duplicated in expression analysis). Add lowering handling for shape.
Commit: 96b2e35a58819eb2fbe1821650e35a1f0e085bd7
https://github.com/llvm/llvm-project/commit/96b2e35a58819eb2fbe1821650e35a1f0e085bd7
Author: David Sherwood <57997763+david-arm at users.noreply.github.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
Log Message:
-----------
[CostModel][AArch64] Improve fixed-width vector costs for get.active.lane.mask (#89068)
When SVE is available we can lower calls to get.active.lane.mask using
the SVE whilelo instruction, however in practice since vXi1 types are
not legal for NEON we often end up expanding the predicate into a vector
of integers, e.g. v4i1 -> v4i32. This usually happens when we have to
keep the predicate live out of the block, for example when the predicate
is the incoming value to a PHI node in a tail-folded vector loop.
Currently in such cases the intrinsic call has a cost of 1, which is far
too low when considering the extra instructions required to expand the
predicate. This patch fixes that by basing the cost on the number of
lane moves required for expansion. This is required for a follow-on
patch that adds the cost of the intrinsic call to the vectorisation cost
model, so that we can teach the vectoriser to make better choices.
Commit: e58dcf135f3a6e453e7b123642675e39b8527f2d
https://github.com/llvm/llvm-project/commit/e58dcf135f3a6e453e7b123642675e39b8527f2d
Author: smanna12 <soumi.manna at intel.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Log Message:
-----------
[Clang] [NFC] Prevent null pointer dereference in Sema::InstantiateFunctionDefinition (#89801)
In the lambda function within
clang::Sema::InstantiateFunctionDefinition, the return value of a
function that may return null is now checked before dereferencing to
avoid potential null pointer dereference issues which can lead to
crashes or undefined behavior in the program.
Commit: a04714701f17663e3e9879a50ed07bbb421ca209
https://github.com/llvm/llvm-project/commit/a04714701f17663e3e9879a50ed07bbb421ca209
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap-gfx11.mir
M llvm/test/CodeGen/AMDGPU/trap-abis.ll
Log Message:
-----------
[AMDGPU] Add a trap lowering workaround for gfx11 (#85854)
On gfx11 shaders run with PRIV=1, which causes `s_trap 2` to be treated
as a nop, which means it isn't a correct lowering for the trap
intrinsic. As a workaround, this commit instead lowers the trap
intrinsic to instructions that simulate the behavior of s_trap 2.
Fixes: SWDEV-438421
Commit: 21ef187654c819fd097171afcc6c9855dccdb36d
https://github.com/llvm/llvm-project/commit/21ef187654c819fd097171afcc6c9855dccdb36d
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/unittests/IR/IntrinsicsTest.cpp
Log Message:
-----------
[PGO] Test for inheritance relationships for `instrprof` intrinsics (#89485)
Commit: 50082d64e633b9baa918a209fc9105aa330b89fa
https://github.com/llvm/llvm-project/commit/50082d64e633b9baa918a209fc9105aa330b89fa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
Log Message:
-----------
DAG: Fix widening of fptrunc_round vectors (#89918)
Commit: e1aa16299f626317068c3d99e035d447145353c7
https://github.com/llvm/llvm-project/commit/e1aa16299f626317068c3d99e035d447145353c7
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/Mips/MipsExpandPseudo.cpp
M llvm/test/CodeGen/Mips/atomic-min-max.ll
Log Message:
-----------
[Mips] Use ANDi in for zero-extend in subword atomic umax/umin for both r2 and pre-R2 (#89881)
About unsigned max/min, ANDi is available for all ISA revisions in
extend before slt insn.
So that we can reduce one instruction.
Commit: a682f528d4d2523c044ab08cf3a8ecfd8e42760d
https://github.com/llvm/llvm-project/commit/a682f528d4d2523c044ab08cf3a8ecfd8e42760d
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/unittests/IR/MemoryModelRelaxationAnnotationsTest.cpp
Log Message:
-----------
[IR][test] Fix warning in MMRA tests
Commit: 418bdb49a758a5b3a128781a819b4e160521b7ed
https://github.com/llvm/llvm-project/commit/418bdb49a758a5b3a128781a819b4e160521b7ed
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsm4r.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsm4r.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsm4r.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsm4r.c
Log Message:
-----------
[clang][RISCV] Remove LMUL=8 scalar input for some vector crypto instructions (#89867)
Since the requirement is EEW=32, it's impossible that EGW=128
needs LMUL=8.
Commit: a38f201f1ec70c2b1f3cf46e7f291c53bb16753e
https://github.com/llvm/llvm-project/commit/a38f201f1ec70c2b1f3cf46e7f291c53bb16753e
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/cmake/caches/Release.cmake
Log Message:
-----------
[CMake][Release] Add stage2-package target (#89517)
This target will be used to generate the release binary package for
uploading to GitHub.
Commit: b4f923e9124c5ec0619a962deb386dd9b52a29be
https://github.com/llvm/llvm-project/commit/b4f923e9124c5ec0619a962deb386dd9b52a29be
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
Log Message:
-----------
[RISCV] Strength reduce mul by 2^M - 3/5/9 (#88993)
We can expand these as the three instruction sequence: (sub (shl X, C1), (shXadd X, x)).
Commit: c1d00510ab5e7f5052efb1e678173e3a97302e61
https://github.com/llvm/llvm-project/commit/c1d00510ab5e7f5052efb1e678173e3a97302e61
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
A llvm/test/Transforms/Inline/inline-deferred-instsimplify.ll
Log Message:
-----------
[Inline][Cloning] Introduce test for PR87963 (NFC)
Commit: a61f9fe31750cee65c726fb51f1b14e31e177258
https://github.com/llvm/llvm-project/commit/a61f9fe31750cee65c726fb51f1b14e31e177258
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/test/Transforms/Inline/inline-deferred-instsimplify.ll
M llvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll
M llvm/test/Transforms/Inline/prof-update-sample.ll
Log Message:
-----------
[Inline][Cloning] Defer simplification after phi-nodes resolution
A logic issue arose when inlining via `CloneAndPruneFunctionInto`,
which, besides cloning, performs instruction simplification as well.
By the time a new cloned instruction is being simplified, phi-nodes
are not remapped yet as the whole CFG needs to be processed first.
As `VMap` state at this stage is incomplete, `threadCmpOverPHI` and
variants could lead to unsound optimizations. This issue has been
addressed by performing basic constant folding while cloning, and
postponing instruction simplification once phi-nodes are revisited.
Fixes: https://github.com/llvm/llvm-project/issues/87534.
Commit: e0adf63afc33a1e7fd4494c4f327d5ee4082b393
https://github.com/llvm/llvm-project/commit/e0adf63afc33a1e7fd4494c4f327d5ee4082b393
Author: Alexander M <iammorjj at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M lldb/CMakeLists.txt
Log Message:
-----------
[lldb] fix python extension debug suffix on Win (#89037)
ae389b2450bd604a3f3bbe5b09b333b2d99801dd change doesn't cover "_d"
suffix for Debug build on Windows.
Fixed #87381.
Commit: fb302b19443ceb5a79628bb0f83383a3e96a4b74
https://github.com/llvm/llvm-project/commit/fb302b19443ceb5a79628bb0f83383a3e96a4b74
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
R mlir/test/Dialect/ArmSME/vector-ops-to-llvm.mlir
Log Message:
-----------
[mlir][ArmSME] Move tests out of `vector-ops-to-llvm.mlir` (#89905)
These tests basically were integration tests as unit tests, checking too
many passes at once to be useful, and brittle to any changes.
This patch moves (non-duplicated) tests to `vector-to-arm-sme.mlir`
(which only tests `-convert-vector-to-arm-sme`). The lowering after
that e.g. `ArmSME -> SCF` and `ArmSME -> LLVM` already have their
own set of tests covering these cases.
Commit: fc13353e10b443101b7304c5f90d70a06e20e589
https://github.com/llvm/llvm-project/commit/fc13353e10b443101b7304c5f90d70a06e20e589
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
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/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
Log Message:
-----------
Revert "[RISCV] Separate doLocalPostpass into new pass and move to post vector regalloc (#88295)"
Seems to cause an address sanitizer failure on one of the buildbots related
to live intervals.
Commit: cd3e71fb7a5fed9a7e5ee54a2f956ce33b90b90c
https://github.com/llvm/llvm-project/commit/cd3e71fb7a5fed9a7e5ee54a2f956ce33b90b90c
Author: Mike Rice <michael.p.rice at intel.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
Log Message:
-----------
[NFC][clang][analyzer] Initialize pointer field in StreamOperationEvaluator (#89837)
Add an initializer for StreamSym, which is a pointer. The pointers in
this class are set in the Init function, but all should be initialized
in the constructor to avoid confusion and static verifier hits.
Commit: 3abcd5f282fd17be679fa1775154672feead4ead
https://github.com/llvm/llvm-project/commit/3abcd5f282fd17be679fa1775154672feead4ead
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/OMPFunctionFiltering.cpp
A flang/test/Lower/OpenMP/function-filtering-3.f90
Log Message:
-----------
[flang][openmp] fix OMPFunctionFiltering pass after #87796 (#89776)
The pass assumed that all fun.func symbol usages could be safely
replaced by undef, that is not true after #87796 that added a back link
from internal procedure back to the parent procedure. This caused the
internal procedures to be erased and then processed (segfault).
Also set visibility of such internal procedures so that MLIR do not remove them before
the target function is generated for the target region.
Commit: f489043826b25af7afa9f95faa0c301bd55681a2
https://github.com/llvm/llvm-project/commit/f489043826b25af7afa9f95faa0c301bd55681a2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Sort the ImpliedExts tables in RISCVISAInfo.cpp alphabetically. NFC
Commit: 31e769cfadf0bd99a990508600ef5bfeaaf44b0d
https://github.com/llvm/llvm-project/commit/31e769cfadf0bd99a990508600ef5bfeaaf44b0d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M libcxx/include/__numeric/saturation_arithmetic.h
Log Message:
-----------
[libc++] Makes saturation functions privately available. (#89503)
These functions are useful in the implementation of the time zone
database. So expose them with private names.
The functions could be exposed before C++ 20, but since libc++ is mostly
C++ 17 complete it seems less useful to allow earlier.
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 7c0da7993ecfffe1396a15383eb357fa624265af
https://github.com/llvm/llvm-project/commit/7c0da7993ecfffe1396a15383eb357fa624265af
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M flang/include/flang/Lower/Allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/OpenACC/acc-declare.f90
Log Message:
-----------
[flang][cuda] Use fir.cuda_deallocate for automatic deallocation (#89662)
Automatic deallocation of allocatable that are cuda device variable must
use the fir.cuda_deallocate operation. This patch update the automatic
deallocation code generation to use this operation when the variable is
a cuda variable.
This patch has also the side effect to correctly call
`attachDeclarePostDeallocAction` for OpenACC declare variable on
automatic deallocation as well. Update the code in
`attachDeclarePostDeallocAction` so we do not attach on fir.result but
on the correct last op.
Commit: d3f6a88a1fb36f94c71940514e576821c6cc3ade
https://github.com/llvm/llvm-project/commit/d3f6a88a1fb36f94c71940514e576821c6cc3ade
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.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-fp-compares.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.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-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
Log Message:
-----------
[AArch64] Unify lowering logic for fixed-length vectors. (#89393)
In preparation of decoupling codegen for SME from SVE, this patch does a
bit of cleanup to unify the logic around calling
'addTypeForFixedLengthSVE'.
We only want to call this function when:
* We have access to both SVE and NEON, but we prefer to use SVE.
* We have access to SVE, but there is no access to NEON.
Inside 'addTypeForFixedLengthSVE', we normally use Custom lowering for
all operations so they can be converted to/from scalable vector
operations.
However, there are some exceptions:
* For 64/128bit vector loads/stores we prefer the AdvSIMD LDR/STR
D/Q-reg instructions, since these are available in Streaming-SVE mode.
* For some operations like gather/scatter, we can only use SVE if the
full set of SVE instructions is available (as opposed to the
streaming[-compatible] subset). Otherwise, these operations need to
expand (scalarise)
Commit: b10e4b82e624af870c2a03ce0c5515148136e287
https://github.com/llvm/llvm-project/commit/b10e4b82e624af870c2a03ce0c5515148136e287
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/include/llvm/Analysis/Loads.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/GVN/condprop.ll
M llvm/unittests/Analysis/LoadsTest.cpp
Log Message:
-----------
[GVN] Restrict equality propagation for pointers (#82458)
This patch does the following:
Adds the following functions:
- replaceDominatedUsesWithIf() that takes a callback.
- canReplacePointersIfEqual(...) returns true if the underlying object
is the same, and for null and const dereferencable pointer replacements.
- canReplacePointersIfEqualInUse(...) returns true for the above as well
as if the use is in icmp/ptrtoint or phi/selects feeding into them.
Updates GVN using the functions above so that the pointer replacements
are only made using the above API.
https://reviews.llvm.org/D143129
Commit: d609029d6c9aae84b52238f39c35200316bdbb93
https://github.com/llvm/llvm-project/commit/d609029d6c9aae84b52238f39c35200316bdbb93
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/include/clang/Lex/HeaderSearch.h
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/prune-non-affecting-module-map-files-textual.c
Log Message:
-----------
[clang][modules] Allow module maps with textual headers to be non-affecting (#89441)
When writing out a PCM, we skip serializing headers' `HeaderFileInfo`
struct whenever this condition evaluates to `true`:
```c++
!HFI || (HFI->isModuleHeader && !HFI->isCompilingModuleHeader)
```
However, when Clang parses a module map file, each textual header gets a
`HFI` with `isModuleHeader=false`, `isTextualModuleHeader=true` and
`isCompilingModuleHeader=false`. This means the condition evaluates to
`false` even if the header was never included and the module map did not
affect the compilation. Each PCM file that happened to parse such module
map then contains a copy of the `HeaderFileInfo` struct for all textual
headers, and considers the containing module map affecting.
This patch makes it so that we skip headers that have not been included,
essentially removing the virality of textual headers when it comes to
PCM serialization.
Commit: 84bc21f9101730af611a0175d89ae2056d5f41a7
https://github.com/llvm/llvm-project/commit/84bc21f9101730af611a0175d89ae2056d5f41a7
Author: Brian Gesiak <brian at modocache.io>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M mlir/unittests/CMakeLists.txt
A mlir/unittests/Tools/CMakeLists.txt
A mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
A mlir/unittests/Tools/lsp-server-support/Transport.cpp
Log Message:
-----------
[mlir-lsp] Add transport unit tests (#89855)
Add unit tests for some aspects of the JSON transport and message
handler. These will be expanded in future patches as behavior is
modified.
Commit: 12d47247e5046b959af180e12f648c54e2c5e863
https://github.com/llvm/llvm-project/commit/12d47247e5046b959af180e12f648c54e2c5e863
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
Log Message:
-----------
[RISCV][NFC] Move RISCVMaskedPseudoTable to RISCVInstrInfo
Commit: cdc3931f085b6b57da997b1d8c88be49a06c9f45
https://github.com/llvm/llvm-project/commit/cdc3931f085b6b57da997b1d8c88be49a06c9f45
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h
Log Message:
-----------
[RISCV][NFC] Include RISCVVInversePseudosTable in RISCVMCTargetDesc
Commit: 80f510bbc9561324fc13bac22aad2e3ef47a59c5
https://github.com/llvm/llvm-project/commit/80f510bbc9561324fc13bac22aad2e3ef47a59c5
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Use lookup tables to find CVTFOpc
Commit: af82d01fbbce7808605f3a8b22dd1ca7fdec7886
https://github.com/llvm/llvm-project/commit/af82d01fbbce7808605f3a8b22dd1ca7fdec7886
Author: Luke Lau <luke at igalia.com>
Date: 2024-04-25 (Thu, 25 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
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/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
Log Message:
-----------
Reapply "[RISCV] Separate doLocalPostpass into new pass and move to post vector regalloc (#88295)"
The original commit was calling shrinkToUses on an interval for a virtual
register whose def was erased. This fixes it by calling shrinkToUses first
and removing the interval if we erase the old VL def.
Commit: 286bd42a7a799e3d9035c09bf0d64cb1a1eef682
https://github.com/llvm/llvm-project/commit/286bd42a7a799e3d9035c09bf0d64cb1a1eef682
Author: Jorn Tuyls <jtuyls at users.noreply.github.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.td
M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
A mlir/lib/Dialect/SCF/Transforms/ForallToFor.cpp
A mlir/test/Dialect/SCF/forall-to-for.mlir
Log Message:
-----------
[mlir] Extract forall_to_for logic into reusable function and add pass (#89636)
This PR extracts the existing `scf.forall` to `scf.for` conversion logic
inside a transform op (https://github.com/llvm/llvm-project/pull/65474)
into a standalone function which can be used in other transformations
and adds a `scf-forall-to-for` pass.
Commit: 8350d9c23d76fb95f42674a1563cbe8c32582dd5
https://github.com/llvm/llvm-project/commit/8350d9c23d76fb95f42674a1563cbe8c32582dd5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/MC/RISCV/rv32dc-valid.s
M llvm/test/MC/RISCV/rv32fc-valid.s
M llvm/test/MC/RISCV/rv64dc-valid.s
Log Message:
-----------
[RISCV] Sync RISCVFeatures.td implies list with RISCVISAInfo.cpp.
This makes Zcf imply F and Zcd imply D in RISCVFeatures.td. They
were already implied in RISCISAInfo.cpp.
Some test RUN lines had to be removed because they were testing
that Zcf without F or Zcd without D would reject some instructions.
Commit: a45eb628779562fac72366f594fbcdc5607b4f8d
https://github.com/llvm/llvm-project/commit/a45eb628779562fac72366f594fbcdc5607b4f8d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
Log Message:
-----------
AtomicExpand: Fix dropping a syncscope when bitcasting atomicrmw
Commit: fd9273593390c4e5004bba27eeeea60e44175dcf
https://github.com/llvm/llvm-project/commit/fd9273593390c4e5004bba27eeeea60e44175dcf
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M mlir/docs/Tutorials/UnderstandingTheIRStructure.md
Log Message:
-----------
[MLIR][Doc] Fix NamedAttribute API in code sample (NFC)
Commit: 744d469500d209b7bf548d81f607d61a156db2e6
https://github.com/llvm/llvm-project/commit/744d469500d209b7bf548d81f607d61a156db2e6
Author: Thurston Dang <thurston at google.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/test/Instrumentation/HWAddressSanitizer/basic.ll
M llvm/test/Instrumentation/HWAddressSanitizer/fixed-shadow.ll
M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
Log Message:
-----------
[hwasan] Optimize outlined memaccess for fixed shadow on Aarch64 (#88544)
The HWASan transform currently always uses x20 to pass the shadow base to hwasan_check_memaccess_shortgranules, even if the shadow base is a constant known at compile time (e.g., for Fuchsia, KHWASan, or via -hwasan-mapping-offset). This patch uses the fixed shadow variant of the hwasan_check_memaccess_shortgranules intrinsic (introduced in https://github.com/llvm/llvm-project/commit/365bddf634993d5ea357e9715d8aacd7ee40c4b5), allowing the shadow base to be materialized inside the memaccess callee.
We currently only support this optimization for AArch64; it is a no-op on other platforms due to lack of support for lowering the intrinsic.
Note: when a binary is instrumented with -hwasan-mapping-offset, it is necessary to specify HWASAN_OPTIONS=fixed_shadow_base=... (see ea991a11b2a3d2bfa545adbefb71cd17e8970a43) at runtime to ensure the shadow is mapped appropriately.
Commit: 69a3976e427d95eca3670cac963088c76612c9db
https://github.com/llvm/llvm-project/commit/69a3976e427d95eca3670cac963088c76612c9db
Author: Scott Linder <Scott.Linder at amd.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
Log Message:
-----------
[AMDGPU][NFC] Fix typo in HeterogeneousDWARF doc
Commit: ff57f40673f0db2c1a867e5697d5407bc9f39a5e
https://github.com/llvm/llvm-project/commit/ff57f40673f0db2c1a867e5697d5407bc9f39a5e
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M mlir/python/mlir/dialects/transform/interpreter/__init__.py
M mlir/test/python/dialects/transform_interpreter.py
Log Message:
-----------
[mlir][py] fix option passing in transform interpreter (#89922)
There was a typo in dispatch trampoline.
Commit: b8f3024a315074e0f880542c33cb89681eebc5a3
https://github.com/llvm/llvm-project/commit/b8f3024a315074e0f880542c33cb89681eebc5a3
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2024-04-25 (Thu, 25 Apr 2024)
Changed paths:
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/ms-intrinsics-other.c
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGenOpenCL/builtins-generic-amdgcn.cl
M clang/test/Headers/wasm.c
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/IR/Attributes.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/bit_ceil.ll
M llvm/test/Transforms/InstCombine/bit_floor.ll
M llvm/test/Transforms/InstCombine/cmp-intrinsic.ll
M llvm/test/Transforms/InstCombine/ctlz-cttz-bitreverse.ll
M llvm/test/Transforms/InstCombine/ctlz-cttz-shifts.ll
M llvm/test/Transforms/InstCombine/ctpop-bswap-bitreverse.ll
M llvm/test/Transforms/InstCombine/ctpop-cttz.ll
M llvm/test/Transforms/InstCombine/ctpop-pow2.ll
M llvm/test/Transforms/InstCombine/ctpop.ll
M llvm/test/Transforms/InstCombine/cttz-abs.ll
M llvm/test/Transforms/InstCombine/cttz-negative.ll
M llvm/test/Transforms/InstCombine/cttz.ll
M llvm/test/Transforms/InstCombine/ffs-1.ll
M llvm/test/Transforms/InstCombine/ffs-i16.ll
M llvm/test/Transforms/InstCombine/fls-i16.ll
M llvm/test/Transforms/InstCombine/fls.ll
M llvm/test/Transforms/InstCombine/fold-ctpop-of-not.ll
M llvm/test/Transforms/InstCombine/fold-log2-ceil-idiom.ll
M llvm/test/Transforms/InstCombine/freeze-integer-intrinsics.ll
M llvm/test/Transforms/InstCombine/freeze.ll
M llvm/test/Transforms/InstCombine/icmp-ne-pow2.ll
M llvm/test/Transforms/InstCombine/intrinsic-select.ll
M llvm/test/Transforms/InstCombine/intrinsics.ll
M llvm/test/Transforms/InstCombine/ispow2.ll
M llvm/test/Transforms/InstCombine/known-non-zero.ll
M llvm/test/Transforms/InstCombine/known-phi-recurse.ll
M llvm/test/Transforms/InstCombine/minmax-fold.ll
M llvm/test/Transforms/InstCombine/reduction-add-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/reduction-xor-sext-zext-i1.ll
M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/sext.ll
M llvm/test/Transforms/InstCombine/shift-cttz-ctlz.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/sub-xor.ll
M llvm/test/Transforms/InstCombine/xor.ll
M llvm/test/Transforms/InstCombine/zext-ctlz-trunc-to-ctlz-add.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/PhaseOrdering/X86/loop-idiom-vs-indvars.ll
M llvm/test/Transforms/PhaseOrdering/lower-table-based-cttz.ll
Log Message:
-----------
[InstCombine] Swap out range metadata to range attribute for cttz/ctlz/ctpop (#88776)
Since all optimizations that use range metadata now also handle range attribute, this patch replaces writes of
range metadata for call instructions to range attributes.
Commit: 2e770edd8ce13f48402f1d93e5fb982d8a2ebe64
https://github.com/llvm/llvm-project/commit/2e770edd8ce13f48402f1d93e5fb982d8a2ebe64
Author: Sebastian Poeplau <poeplau at adacore.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/tools/c-index-test/c-index-test.c
M clang/tools/libclang/CXSourceLocation.cpp
M clang/unittests/libclang/LibclangTest.cpp
Log Message:
-----------
[libclang] Compute the right spelling location (#72400)
Locations inside macro expansions have different spelling/expansion
locations. Apply a FIXME to make the libclang function
clang_getSpellingLocation return the right spelling location, and adapt
the testsuite driver code to use the file location rather than the
spelling location to compute source ranges.
Co-authored-by: Matthieu Eyraud <eyraud at adacore.com>
Commit: 57f0284efc74dfad7a3ff20e2cf1f74a70a08824
https://github.com/llvm/llvm-project/commit/57f0284efc74dfad7a3ff20e2cf1f74a70a08824
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Mark linux LLDB plugin as linux only (#89961)
Otherwise if you bazel build //... on macOS this fails to build
Commit: 3c2e614acd76495fda74f945dddd8bb89ae0f41f
https://github.com/llvm/llvm-project/commit/3c2e614acd76495fda74f945dddd8bb89ae0f41f
Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
Log Message:
-----------
[llvm][AArch64] Add missing default cases (#89930)
Addresses issue #89709.
Functions getAUTOpcodeForKey() and getPACOpcodeForKey() contain switch
statements without default cases. Resolved by adding a call to
llvm_unreachable() at the end of each function.
---------
Signed-off-by: Troy-Butler <squintik at outlook.com>
Co-authored-by: Troy-Butler <squintik at outlook.com>
Commit: 0e57c3eb0dbfe2929ab899b2409807402acfc38e
https://github.com/llvm/llvm-project/commit/0e57c3eb0dbfe2929ab899b2409807402acfc38e
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M clang/test/Driver/fast-math.c
Log Message:
-----------
Clean up the checks in the fast-math driver test
This change replaces most of the cc1 option checks in the driver test for fast-math option handling. These changes rely on the assumption that the order in which the driver emits floating-point options is stable.
The changes also rely on the assumption that the order of prefixes listed on the FileCheck command line is unimportant and that all prefixed checks will be combined and checked as if they were a single prefix. At the time of the change, that worked.
Commit: 21a4d2ac2085ce391612a96bc1f577c17cc4363d
https://github.com/llvm/llvm-project/commit/21a4d2ac2085ce391612a96bc1f577c17cc4363d
Author: Prabhuk <prabhukr at google.com>
Date: 2024-04-24 (Wed, 24 Apr 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/pr-code-format.yml
M .github/workflows/release-lit.yml
M bolt/docs/BAT.md
M bolt/include/bolt/Core/BinaryData.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/YAMLProfileWriter.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryData.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/AArch64/constant_island_pie_update.s
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
M bolt/test/X86/patch-entries.test
M bolt/test/X86/yaml-secondary-entry-discriminator.s
A bolt/test/runtime/X86/jt-confusion.s
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.h
M clang-tools-extra/clang-tidy/GlobList.cpp
M clang-tools-extra/clang-tidy/GlobList.h
M clang-tools-extra/clang-tidy/add_new_check.py
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/IgnoredRemoveResultCheck.cpp
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.cpp
M clang-tools-extra/clang-tidy/readability/BracesAroundStatementsCheck.h
M clang-tools-extra/clang-tidy/readability/DuplicateIncludeCheck.cpp
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.cpp
A clang-tools-extra/clang-tidy/utils/BracesAroundStatement.h
M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/IncludeCleaner.h
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
M clang-tools-extra/clangd/unittests/TestIndex.cpp
M clang-tools-extra/clangd/unittests/TestIndex.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
A clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-check-errs.rst
R clang-tools-extra/docs/clang-tidy/checks/linuxkernel/must-use-errs.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
M clang-tools-extra/include-cleaner/lib/FindHeaders.cpp
M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string.h
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/forwarding-reference-overload.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/lambda-function-name.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
M clang-tools-extra/test/clang-tidy/checkers/hicpp/ignored-remove-result.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/avoid-return-with-void-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/duplicate-include.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/5/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp
M clang/CMakeLists.txt
M clang/cmake/caches/Apple-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/cmake/caches/Release.cmake
M clang/docs/ClangFormat.rst
M clang/docs/ClangOffloadBundler.rst
M clang/docs/HIPSupport.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/tools/clang-formatted-files.txt
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTMutationListener.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclFriend.h
M clang/include/clang/AST/DeclObjC.h
M clang/include/clang/AST/DeclOpenMP.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/JSONNodeDumper.h
M clang/include/clang/AST/NestedNameSpecifier.h
A clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h
A clang/include/clang/Analysis/FlowSensitive/ASTOps.h
R clang/include/clang/Analysis/FlowSensitive/ControlFlowContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/DataflowLattice.h
M clang/include/clang/Analysis/FlowSensitive/Transfer.h
M clang/include/clang/Analysis/FlowSensitive/Value.h
M clang/include/clang/Analysis/SelectorExtras.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/AttributeCommonInfo.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DebugOptions.def
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.h
A clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/Sanitizers.def
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_fp16.td
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/riscv_vector.td
A clang/include/clang/CIR/CMakeLists.txt
M clang/include/clang/CMakeLists.txt
M clang/include/clang/CodeGen/CodeGenAction.h
M clang/include/clang/Config/config.h.cmake
M clang/include/clang/Driver/OffloadBundler.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/APIRecords.inc
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/InstallAPI/Context.h
M clang/include/clang/InstallAPI/DylibVerifier.h
M clang/include/clang/InstallAPI/Frontend.h
M clang/include/clang/InstallAPI/FrontendRecords.h
M clang/include/clang/InstallAPI/MachO.h
M clang/include/clang/Lex/ExternalPreprocessorSource.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/include/clang/Lex/LiteralSupport.h
M clang/include/clang/Lex/MacroInfo.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Lex/PreprocessorOptions.h
M clang/include/clang/Lex/Token.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/CodeCompleteConsumer.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/ParsedTemplate.h
A clang/include/clang/Sema/Redeclaration.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaBase.h
A clang/include/clang/Sema/SemaCUDA.h
A clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenACC.h
A clang/include/clang/Sema/SemaOpenMP.h
A clang/include/clang/Sema/SemaSYCL.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Serialization/ModuleFileExtension.h
M clang/include/clang/Serialization/PCHContainerOperations.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/ARCMigrate/TransAPIUses.cpp
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclFriend.cpp
M clang/lib/AST/DeclObjC.cpp
M clang/lib/AST/DeclOpenMP.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
M clang/lib/AST/Interp/Context.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Disasm.cpp
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/lib/AST/Interp/FunctionPointer.h
M clang/lib/AST/Interp/IntegralAP.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBlock.cpp
M clang/lib/AST/Interp/InterpBlock.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/InterpFrame.cpp
M clang/lib/AST/Interp/InterpState.h
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.h
M clang/lib/AST/Interp/PrimType.h
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/Interp/Record.cpp
M clang/lib/AST/Interp/Record.h
M clang/lib/AST/Interp/State.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NSAPI.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
A clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/SelectorLocationsKind.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/Dynamic/Marshallers.h
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
A clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/DebugSupport.cpp
M clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/RecordOps.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/FlowSensitive/Value.cpp
M clang/lib/Analysis/ObjCNoReturn.cpp
M clang/lib/Analysis/UninitializedValues.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/IdentifierTable.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/X86.cpp
A clang/lib/CIR/CMakeLists.txt
M clang/lib/CMakeLists.txt
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.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/Linux.cpp
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenSource.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__stddef_unreachable.h
M clang/lib/Headers/avxintrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/intrin.h
M clang/lib/Headers/intrin0.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/InstallAPI/CMakeLists.txt
A clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
A clang/lib/InstallAPI/DiagnosticBuilderWrappers.h
M clang/lib/InstallAPI/DylibVerifier.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Interpreter/IncrementalParser.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/InterpreterUtils.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/MacroInfo.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/CodeCompleteConsumer.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAccess.cpp
A clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/SemaRISCVVectorLookup.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
M clang/lib/Serialization/ModuleFileExtension.cpp
M clang/lib/Serialization/MultiOnDiskHashTable.h
M clang/lib/Serialization/PCHContainerOperations.cpp
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
M clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoTesterChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
M clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/cert/InvalidPtrChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/Tooling/CMakeLists.txt
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Transformer/SourceCode.cpp
M clang/test/APINotes/instancetype.m
M clang/test/APINotes/retain-count-convention.m
M clang/test/APINotes/versioned.m
M clang/test/AST/Interp/arrays.cpp
A clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/c.c
A clang/test/AST/Interp/const-eval.c
M clang/test/AST/Interp/cxx03.cpp
M clang/test/AST/Interp/cxx23.cpp
M clang/test/AST/Interp/functions.cpp
M clang/test/AST/Interp/literals.cpp
M clang/test/AST/Interp/ms.cpp
M clang/test/AST/Interp/records.cpp
A clang/test/AST/Interp/vectors.cpp
A clang/test/AST/Interp/weak.cpp
M clang/test/AST/ast-dump-attr-json.cpp
A clang/test/AST/ast-dump-cxx2c-delete-with-message.cpp
A clang/test/AST/ast-dump-default-arg-json.cpp
A clang/test/AST/ast-dump-default-init-json.cpp
A clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-for-range-lifetime.cpp
M clang/test/AST/ast-dump-fpfeatures.cpp
A clang/test/AST/ast-dump-fpfeatures.m
A clang/test/AST/ast-dump-late-parsing.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-traits.cpp
A clang/test/AST/ast-print-cxx2c-delete-with-message.cpp
M clang/test/AST/ast-print-method-decl.cpp
M clang/test/AST/ast-print-no-sanitize.cpp
M clang/test/AST/attr-print-emit.cpp
A clang/test/AST/bitint-suffix.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/Analysis/exercise-ps.c
M clang/test/Analysis/explain-svals.cpp
A clang/test/Analysis/gh-issue-89185.c
A clang/test/Analysis/invalid-ptr-checker.cpp
M clang/test/Analysis/invalidated-iterator.cpp
A clang/test/Analysis/malloc-std-namespace.cpp
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.cpp
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/Analysis/stack-addr-ps.c
M clang/test/Analysis/stackaddrleak.c
M clang/test/Analysis/std-c-library-functions-vs-stream-checker.c
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-note.c
A clang/test/Analysis/stream-pedantic.c
M clang/test/Analysis/stream-stdlibraryfunctionargs.c
M clang/test/Analysis/stream.c
A clang/test/C/C11/n1514.c
A clang/test/C/C99/n717.c
A clang/test/C/C99/n809.c
A clang/test/C/C99/n809_2.c
A clang/test/C/C99/n809_3.c
M clang/test/CMakeLists.txt
A clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p6-cxx23.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp
A clang/test/CXX/drs/cwg118.cpp
A clang/test/CXX/drs/cwg124.cpp
A clang/test/CXX/drs/cwg158.cpp
A clang/test/CXX/drs/cwg1748.cpp
A clang/test/CXX/drs/cwg177x.cpp
A clang/test/CXX/drs/cwg1807.cpp
A clang/test/CXX/drs/cwg185.cpp
A clang/test/CXX/drs/cwg193.cpp
A clang/test/CXX/drs/cwg199.cpp
A clang/test/CXX/drs/cwg201.cpp
A clang/test/CXX/drs/cwg210.cpp
A clang/test/CXX/drs/cwg2335.cpp
A clang/test/CXX/drs/cwg2390.cpp
A clang/test/CXX/drs/cwg2504.cpp
A clang/test/CXX/drs/cwg292.cpp
A clang/test/CXX/drs/cwg392.cpp
A clang/test/CXX/drs/cwg412.cpp
A clang/test/CXX/drs/cwg438.cpp
A clang/test/CXX/drs/cwg439.cpp
A clang/test/CXX/drs/cwg441.cpp
A clang/test/CXX/drs/cwg462.cpp
A clang/test/CXX/drs/cwg492.cpp
A clang/test/CXX/drs/cwg519.cpp
A clang/test/CXX/drs/cwg571.cpp
A clang/test/CXX/drs/cwg605.cpp
A clang/test/CXX/drs/cwg650.cpp
A clang/test/CXX/drs/cwg653.cpp
A clang/test/CXX/drs/cwg658.cpp
A clang/test/CXX/drs/cwg661.cpp
A clang/test/CXX/drs/cwg672.cpp
A clang/test/CXX/drs/cwgr593.cpp
M clang/test/CXX/drs/dr0xx.cpp
M clang/test/CXX/drs/dr10xx.cpp
R clang/test/CXX/drs/dr118.cpp
M clang/test/CXX/drs/dr11xx.cpp
R clang/test/CXX/drs/dr124.cpp
M clang/test/CXX/drs/dr12xx.cpp
M clang/test/CXX/drs/dr13xx.cpp
M clang/test/CXX/drs/dr14xx.cpp
R clang/test/CXX/drs/dr158.cpp
M clang/test/CXX/drs/dr15xx.cpp
M clang/test/CXX/drs/dr16xx.cpp
R clang/test/CXX/drs/dr1748.cpp
R clang/test/CXX/drs/dr177x.cpp
M clang/test/CXX/drs/dr17xx.cpp
R clang/test/CXX/drs/dr1807.cpp
R clang/test/CXX/drs/dr185.cpp
M clang/test/CXX/drs/dr18xx.cpp
R clang/test/CXX/drs/dr193.cpp
R clang/test/CXX/drs/dr199.cpp
M clang/test/CXX/drs/dr19xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
R clang/test/CXX/drs/dr201.cpp
M clang/test/CXX/drs/dr20xx.cpp
R clang/test/CXX/drs/dr210.cpp
M clang/test/CXX/drs/dr21xx.cpp
M clang/test/CXX/drs/dr22xx.cpp
R clang/test/CXX/drs/dr2335.cpp
R clang/test/CXX/drs/dr2390.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/drs/dr24xx.cpp
R clang/test/CXX/drs/dr2504.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr26xx.cpp
M clang/test/CXX/drs/dr27xx.cpp
M clang/test/CXX/drs/dr28xx.cpp
R clang/test/CXX/drs/dr292.cpp
M clang/test/CXX/drs/dr2xx.cpp
M clang/test/CXX/drs/dr3xx.cpp
R clang/test/CXX/drs/dr412.cpp
R clang/test/CXX/drs/dr438.cpp
R clang/test/CXX/drs/dr439.cpp
R clang/test/CXX/drs/dr441.cpp
R clang/test/CXX/drs/dr462.cpp
R clang/test/CXX/drs/dr492.cpp
M clang/test/CXX/drs/dr4xx.cpp
R clang/test/CXX/drs/dr519.cpp
R clang/test/CXX/drs/dr571.cpp
M clang/test/CXX/drs/dr5xx.cpp
M clang/test/CXX/drs/dr6xx.cpp
M clang/test/CXX/drs/dr7xx.cpp
M clang/test/CXX/drs/dr8xx.cpp
M clang/test/CXX/drs/dr9xx.cpp
A clang/test/CXX/module/module.glob.frag/cxx20-10-4-ex2.cppm
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/ClangScanDeps/Inputs/removed-args/cdb.json.template
M clang/test/ClangScanDeps/error.cpp
M clang/test/ClangScanDeps/module-format.c
R clang/test/ClangScanDeps/modules-extension.c
M clang/test/ClangScanDeps/modules-full.cpp
A clang/test/ClangScanDeps/modules-minimize-extension.c
A clang/test/ClangScanDeps/modules-minimize-module.c
M clang/test/ClangScanDeps/removed-args.c
M clang/test/CodeGen/PowerPC/builtins-ppc-htm.c
M clang/test/CodeGen/PowerPC/builtins-ppc-vec-ins-error.c
M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-error.c
M clang/test/CodeGen/RISCV/riscv-func-attr-target-err.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vcreate.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vget.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_ext_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_trunc_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vreinterpret.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vset.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vundefined.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsm4r.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vget.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_ext_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_trunc_v.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vreinterpret.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vset.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsm4r.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsm4r.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg8ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlse16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16ff.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg2e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg3e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg4e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg5e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg6e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg7e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg8e16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg2ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg3ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg4ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg5ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg6ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg7ei16.c
A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg8ei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesdf.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesdm.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesef.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesem.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesz.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsm4r.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
M clang/test/CodeGen/X86/x86-cf-protection.c
M clang/test/CodeGen/X86/x86_64-arguments.c
M clang/test/CodeGen/alias.cpp
M clang/test/CodeGen/allow-ubsan-check.c
A clang/test/CodeGen/attr-counted-by-pr88931.c
A clang/test/CodeGen/attr-counted-by-pr88931.cpp
M clang/test/CodeGen/bitfield-access-unit.c
A clang/test/CodeGen/builtin-allow-runtime-check.cpp
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/catch-implicit-conversions-basics.c
M clang/test/CodeGen/catch-implicit-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-basics.c
M clang/test/CodeGen/catch-implicit-integer-arithmetic-value-change-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-basics.c
M clang/test/CodeGen/catch-implicit-integer-conversions-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes-incdec.c
M clang/test/CodeGen/catch-implicit-integer-sign-changes.c
M clang/test/CodeGen/catch-implicit-integer-truncations-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-integer-truncations.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change-CompoundAssignOperator.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncation-or-sign-change.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec-basics.c
M clang/test/CodeGen/catch-implicit-signed-integer-truncations-incdec.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics-negatives.c
M clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics.c
M clang/test/CodeGen/clang-sections-attribute.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/debug-info-file-checksum.c
M clang/test/CodeGen/dwarf-version.c
M clang/test/CodeGen/ms-intrinsics-other.c
M clang/test/CodeGen/ms-intrinsics.c
A clang/test/CodeGen/pgo-force-function-attrs.ll
R clang/test/CodeGen/remote-traps.c
M clang/test/CodeGen/target-data.c
A clang/test/CodeGen/tbaa-struct-bitfield-endianness.cpp
M clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
M clang/test/CodeGen/thinlto-distributed-cfi.ll
M clang/test/CodeGen/thinlto-funcattr-prop.ll
A clang/test/CodeGen/ubsan-bitfield-conversion.c
M clang/test/CodeGen/ubsan-shift-bitint.c
M clang/test/CodeGenCUDA/offloading-entries.cu
A clang/test/CodeGenCUDA/record-layout.cu
A clang/test/CodeGenCXX/arm64ec-vectorcall.cpp
M clang/test/CodeGenCXX/clang-sections.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
M clang/test/CodeGenCXX/debug-info-alias.cpp
A clang/test/CodeGenCXX/defaulted-template-alias.cpp
A clang/test/CodeGenCXX/mangle-lambdas-gh88906.cpp
M clang/test/CodeGenCXX/module-funcs-from-imports.cppm
M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
M clang/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
A clang/test/CodeGenCXX/template-alias.cpp
A clang/test/CodeGenCXX/ubsan-bitfield-conversion.cpp
A clang/test/CodeGenCXX/variadic-template-alias.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
M clang/test/CodeGenCoroutines/coro-dwarf.cpp
M clang/test/CodeGenCoroutines/pr65054.cpp
A clang/test/CodeGenHLSL/builtins/all.hlsl
M clang/test/CodeGenHLSL/builtins/any.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
M clang/test/CodeGenHLSL/builtins/rcp.hlsl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CodeGenOpenCL/builtins-generic-amdgcn.cl
A clang/test/CoverageMapping/statement-expression.c
M clang/test/Driver/aarch64-fixed-x-register.c
A clang/test/Driver/aix-small-local-exec-dynamic-tls.c
R clang/test/Driver/aix-small-local-exec-tls.c
M clang/test/Driver/aix-toolchain-include.cpp
M clang/test/Driver/amdgpu-features.c
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/android-link.cpp
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/cl-link.c
M clang/test/Driver/cl-options.c
M clang/test/Driver/cl-outputs.c
M clang/test/Driver/cl-pch.cpp
M clang/test/Driver/clang-offload-bundler-zstd.c
M clang/test/Driver/compiler-rt-unwind.c
M clang/test/Driver/compress.c
M clang/test/Driver/coverage-ld.c
M clang/test/Driver/cuda-external-tools.cu
A clang/test/Driver/debug-options-embed-source.c
M clang/test/Driver/debug-options.c
M clang/test/Driver/fast-math.c
M clang/test/Driver/frame-pointer-elim.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/instrprof-ld.c
M clang/test/Driver/integrated-as.c
M clang/test/Driver/linker-wrapper-libs.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/lld-repro.c
M clang/test/Driver/mcmodel.c
M clang/test/Driver/mingw-sanitizers.c
A clang/test/Driver/module-fgen-reduced-bmi.cppm
M clang/test/Driver/msp430-toolchain.c
M clang/test/Driver/mtargetos-darwin.c
M clang/test/Driver/print-libgcc-file-name-clangrt.c
M clang/test/Driver/print-runtime-dir.c
M clang/test/Driver/response-file-errs.c
M clang/test/Driver/riscv-features.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Driver/riscv32-toolchain-extra.c
M clang/test/Driver/riscv32-toolchain.c
M clang/test/Driver/riscv64-toolchain-extra.c
M clang/test/Driver/riscv64-toolchain.c
M clang/test/Driver/sanitizer-ld.c
A clang/test/Driver/version-build-config.test
M clang/test/Driver/wasm-toolchain.c
M clang/test/Driver/wasm-toolchain.cpp
M clang/test/Driver/windows-cross.c
A clang/test/Driver/windows-seh-async-verify.cpp
M clang/test/Driver/zos-ld.c
M clang/test/ExtractAPI/anonymous_record_no_typedef.c
M clang/test/ExtractAPI/availability.c
M clang/test/ExtractAPI/enum.c
M clang/test/ExtractAPI/function_noexcepts.cpp
M clang/test/ExtractAPI/methods.cpp
M clang/test/ExtractAPI/objc_block.m
M clang/test/ExtractAPI/typedef_anonymous_record.c
M clang/test/ExtractAPI/typedef_struct_enum.c
M clang/test/FixIt/format-darwin-enum-class.cpp
M clang/test/FixIt/format.cpp
M clang/test/Format/lit.local.cfg
M clang/test/Headers/Inputs/include/stdint.h
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/ms-intrin.cpp
M clang/test/Headers/wasm.c
M clang/test/Index/USR/func-type.cpp
A clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Headers/Foundation.h
A clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
A clang/test/InstallAPI/alias_list.test
A clang/test/InstallAPI/binary-attributes.test
A clang/test/InstallAPI/diagnostics-zippered.test
M clang/test/InstallAPI/driver-invalid-options.test
M clang/test/InstallAPI/extra-exclude-headers.test
A clang/test/InstallAPI/forwarded-search-paths.test
M clang/test/InstallAPI/mismatching-objc-class-symbols.test
A clang/test/InstallAPI/reexported-frameworks.test
A clang/test/InstallAPI/rpath.test
A clang/test/Interpreter/inline-asm.cpp
M clang/test/Lexer/bitint-constants-compat.c
A clang/test/Lexer/bitint-constants.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Misc/warning-flags.c
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/module.modulemap
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/ptrauth.h
A clang/test/Modules/Inputs/ptrauth-include-from-darwin/stddef.h
R clang/test/Modules/add-remove-irrelevant-module-map.m
M clang/test/Modules/builtin-import.mm
A clang/test/Modules/hashing-decls-in-exprs-from-gmf-2.cppm
A clang/test/Modules/home-is-cwd-search-paths.c
M clang/test/Modules/import-textual-noguard.mm
M clang/test/Modules/import-textual.mm
M clang/test/Modules/inconsistent-deduction-guide-linkage.cppm
A clang/test/Modules/modules-reduced-bmi.cppm
A clang/test/Modules/multiple-import.m
M clang/test/Modules/named-modules-adl-2.cppm
M clang/test/Modules/named-modules-adl.cppm
M clang/test/Modules/placement-new-reachable.cpp
M clang/test/Modules/polluted-operator.cppm
M clang/test/Modules/pr62589.cppm
A clang/test/Modules/pr85122.cppm
M clang/test/Modules/preferred_name.cppm
A clang/test/Modules/prune-non-affecting-module-map-files-textual.c
A clang/test/Modules/prune-non-affecting-module-map-files.m
A clang/test/Modules/ptrauth-include-from-darwin.m
A clang/test/Modules/reduced-bmi-empty-module-purview-std.cppm
A clang/test/Modules/reduced-bmi-empty-module-purview.cppm
M clang/test/Modules/redundant-template-default-arg3.cpp
M clang/test/Modules/template-function-specialization.cpp
A clang/test/Modules/unreached-static-entities.cppm
A clang/test/OpenMP/Inputs/nesting_of_regions.cpp
M clang/test/OpenMP/assumes_codegen.cpp
M clang/test/OpenMP/assumes_print.cpp
M clang/test/OpenMP/assumes_template_print.cpp
M clang/test/OpenMP/atomic_update_codegen.cpp
M clang/test/OpenMP/declare_simd_ast_print.cpp
M clang/test/OpenMP/declare_target_link_codegen.cpp
M clang/test/OpenMP/declare_target_visibility_codegen.cpp
R clang/test/OpenMP/nesting_of_regions.cpp
A clang/test/OpenMP/nesting_of_regions_45.cpp
A clang/test/OpenMP/nesting_of_regions_50.cpp
A clang/test/OpenMP/nesting_of_regions_51.cpp
A clang/test/OpenMP/nesting_of_regions_simd_45.cpp
A clang/test/OpenMP/nesting_of_regions_simd_50.cpp
M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_indirect_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
A clang/test/OpenMP/target_teams_generic_loop_codegen_as_distribute.cpp
A clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
A clang/test/OpenMP/thread_limit_amdgpu.c
A clang/test/PCH/cxx23-deducing-this-lambda.cpp
M clang/test/PCH/cxx2a-defaulted-comparison.cpp
M clang/test/Parser/cxx-class.cpp
M clang/test/Parser/cxx2a-constrained-template-param.cpp
A clang/test/Parser/cxx2c-delete-with-message.cpp
M clang/test/Parser/pragma-unroll.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/wasm-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
M clang/test/Sema/aarch64-sme-func-attrs.c
A clang/test/Sema/alias-unused-win.cpp
R clang/test/Sema/alias-unused.c
A clang/test/Sema/alias-unused.cpp
A clang/test/Sema/attr-target-riscv.c
A clang/test/Sema/bitint-bitfield-promote.c
A clang/test/Sema/builtin-allow-runtime-check.c
A clang/test/Sema/complex-inc-dec.c
M clang/test/Sema/ppc-attr-target-inline.c
A clang/test/Sema/recover-expr-gh88008-nocrash.c
M clang/test/Sema/static-assert.c
A clang/test/Sema/tentative-array-decl.c
A clang/test/Sema/unroll-template-value-crash.cpp
A clang/test/SemaCXX/PR75221.cpp
A clang/test/SemaCXX/PR84020.cpp
A clang/test/SemaCXX/PR86790.cpp
A clang/test/SemaCXX/aarch64-sve-resolve-type.cpp
A clang/test/SemaCXX/attr-exclude_from_explicit_instantiation.local-class.cpp
M clang/test/SemaCXX/attr-no-sanitize.cpp
M clang/test/SemaCXX/builtins.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
A clang/test/SemaCXX/cxx2c-delete-with-message.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/deprecated-builtins.cpp
M clang/test/SemaCXX/explicit.cpp
M clang/test/SemaCXX/format-strings.cpp
A clang/test/SemaCXX/gh84473.cpp
M clang/test/SemaCXX/overloaded-operator.cpp
M clang/test/SemaCXX/static-assert-cxx26.cpp
M clang/test/SemaCXX/template-specialization.cpp
M clang/test/SemaCXX/type-traits.cpp
A clang/test/SemaCXX/warn-unsafe-buffer-usage-suggestions-crashes.cpp
M clang/test/SemaCXX/warn-unused-but-set-variables-cpp.cpp
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/any-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/isinf-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/pow-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rcp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/round-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
A clang/test/SemaHLSL/literal_suffixes.hlsl
A clang/test/SemaHLSL/literal_suffixes_no_16bit.hlsl
M clang/test/SemaObjCXX/Inputs/nullability-consistency-smart.h
M clang/test/SemaOpenACC/compute-construct-ast.cpp
A clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-default-clause.c
A clang/test/SemaOpenACC/compute-construct-default-clause.cpp
A clang/test/SemaOpenACC/compute-construct-if-clause.c
A clang/test/SemaOpenACC/compute-construct-if-clause.cpp
A clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
A clang/test/SemaOpenACC/compute-construct-num_gangs-clause.c
A clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
A clang/test/SemaOpenACC/compute-construct-num_workers-clause.c
A clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
A clang/test/SemaOpenACC/compute-construct-self-clause.c
A clang/test/SemaOpenACC/compute-construct-self-clause.cpp
A clang/test/SemaOpenACC/compute-construct-vector_length-clause.c
A clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
A clang/test/SemaTemplate/alias-template-with-lambdas.cpp
M clang/test/SemaTemplate/alias-templates.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
A clang/test/SemaTemplate/instantiate-pure-virtual-function.cpp
M clang/test/SemaTemplate/instantiate-using-decl.cpp
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
M clang/test/lit.site.cfg.py.in
M clang/tools/c-index-test/c-index-test.c
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-installapi/CMakeLists.txt
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/clang-repl/ClangRepl.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-scan-deps/Opts.td
M clang/tools/driver/cc1_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CIndexCodeCompletion.cpp
M clang/tools/libclang/CXSourceLocation.cpp
M clang/tools/scan-build/libexec/ccc-analyzer
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ASTTraverserTest.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/unittests/AST/Interp/CMakeLists.txt
A clang/unittests/AST/Interp/toAPValue.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/RecordOpsTest.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Format/BracesRemoverTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestComments.cpp
M clang/unittests/Format/FormatTestMacroExpansion.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
M clang/unittests/Tooling/CMakeLists.txt
R clang/unittests/Tooling/DependencyScannerTest.cpp
A clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
A clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
M clang/unittests/Tooling/SourceCodeTest.cpp
M clang/unittests/libclang/LibclangTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangOptionDocEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M clang/www/make_cxx_dr_status
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/CMakeLists.txt
M compiler-rt/lib/asan/asan_thread.cpp
M compiler-rt/lib/builtins/fp_add_impl.inc
M compiler-rt/lib/builtins/fp_fixint_impl.inc
M compiler-rt/lib/builtins/fp_lib.h
M compiler-rt/lib/builtins/int_types.h
M compiler-rt/lib/builtins/riscv/restore.S
M compiler-rt/lib/builtins/riscv/save.S
A compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
A compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
A compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
A compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
A compiler-rt/lib/ctx_profile/tests/driver.cpp
M compiler-rt/lib/hwasan/hwasan_thread_list.h
M compiler-rt/lib/memprof/tests/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_atomic.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_mips.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_other.h
R compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_x86.h
M compiler-rt/lib/sanitizer_common/sanitizer_atomic_msvc.h
M compiler-rt/lib/scudo/standalone/allocator_config.def
M compiler-rt/lib/scudo/standalone/allocator_config.h
M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/report_linux.cpp
M compiler-rt/lib/scudo/standalone/tests/primary_test.cpp
M compiler-rt/lib/scudo/standalone/tests/report_test.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
M compiler-rt/lib/xray/xray_trampoline_AArch64.S
M compiler-rt/lib/xray/xray_trampoline_x86_64.S
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/fuzzer/lit.cfg.py
M compiler-rt/test/gwp_asan/CMakeLists.txt
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/safestack/lit.cfg.py
M compiler-rt/test/sanitizer_common/TestCases/Linux/mmap_56bit_test.c
A compiler-rt/test/ubsan/TestCases/ImplicitConversion/bitfield-conversion.c
M flang/.gitignore
M flang/CMakeLists.txt
A flang/cmake/modules/AddFlangOffloadRuntime.cmake
A flang/docs/DebugGeneration.md
M flang/docs/Extensions.md
M flang/docs/FlangDriver.md
M flang/docs/GettingStarted.md
M flang/docs/Intrinsics.md
M flang/docs/ModFiles.md
A flang/docs/Real16MathSupport.md
M flang/docs/index.md
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Common/real.h
A flang/include/flang/Common/windows-include.h
M flang/include/flang/Decimal/binary-floating-point.h
M flang/include/flang/Evaluate/call.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/complex.h
M flang/include/flang/Evaluate/integer.h
M flang/include/flang/Evaluate/real.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Frontend/PreprocessorOptions.h
M flang/include/flang/Lower/Allocatable.h
M flang/include/flang/Lower/CallInterface.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/char-block.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/parsing.h
A flang/include/flang/Parser/preprocessor.h
A flang/include/flang/Parser/token-sequence.h
M flang/include/flang/Runtime/extensions.h
A flang/include/flang/Runtime/freestanding-tools.h
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Decimal/CMakeLists.txt
M flang/lib/Decimal/big-radix-floating-point.h
M flang/lib/Decimal/binary-to-decimal.cpp
M flang/lib/Decimal/decimal-to-binary.cpp
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/complex.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/fold-reduction.h
M flang/lib/Evaluate/int-power.h
M flang/lib/Evaluate/integer.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/real.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/Runtime.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
R flang/lib/Optimizer/Transforms/AddDebugFoundation.cpp
A flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/OMPFunctionFiltering.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/preprocessor.cpp
R flang/lib/Parser/preprocessor.h
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/token-sequence.cpp
R flang/lib/Parser/token-sequence.h
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-cuda.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/module/__fortran_builtins.f90
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/buffer.h
M flang/runtime/command.cpp
M flang/runtime/descriptor-io.cpp
M flang/runtime/edit-input.cpp
M flang/runtime/execute.cpp
M flang/runtime/extensions.cpp
M flang/runtime/file.cpp
M flang/runtime/format.h
R flang/runtime/freestanding-tools.h
M flang/runtime/internal-unit.cpp
M flang/runtime/lock.h
M flang/runtime/memory.cpp
M flang/runtime/tools.h
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/i386-unknown-linux-gnu-as
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/i386-unknown-linux-gnu-ld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/i386-unknown-linux-gnu-ld.bfd
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/i386-unknown-linux-gnu-ld.gold
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/x86_64-unknown-linux-gnu-as
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/x86_64-unknown-linux-gnu-ld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/x86_64-unknown-linux-gnu-ld.bfd
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/bin/x86_64-unknown-linux-gnu-ld.gold
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/bin/as
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/bin/ld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/bin/ld.bfd
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/bin/ld.gold
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/i386-unknown-linux-gnu/lib/.keep
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/i386-unknown-linux-gnu/10.2.0/crtbegin.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/crtbegin.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/crtbeginT.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/crtfastmath.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/x32/crtbegin.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/x32/crtbeginT.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/10.2.0/x32/crtfastmath.o
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/as
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/ld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/ld.bfd
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/ld.gold
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/ld.lld
A flang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/lib/.keep
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/asanrtl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/hip.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ockl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_correctly_rounded_sqrt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_daz_opt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_finite_only_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_finite_only_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1010.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1011.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_1012.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_803.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_900.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_isa_version_908.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_unsafe_math_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/oclc_wavefrontsize64_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/ocml.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode-no-abi-ver/opencl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/asanrtl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/hip.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ockl.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_400.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_500.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_abi_version_600.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_daz_opt_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_finite_only_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_finite_only_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1010.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1011.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_1012.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_803.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_900.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_isa_version_908.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_unsafe_math_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/ocml.bc
A flang/test/Driver/Inputs/rocm/amdgcn/bitcode/opencl.bc
A flang/test/Driver/Inputs/rocm/bin/.hipVersion
A flang/test/Driver/Inputs/rocm/include/hip/hip_runtime.h
A flang/test/Driver/Inputs/rocm/share/hip/hipVersion
A flang/test/Driver/arch-specific-libdir-rpath.f95
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
A flang/test/Driver/debug-level.f90
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Driver/fopenmp.f90
A flang/test/Driver/gcc-toolchain-install-dir.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Driver/msvc-dependent-lib-flags.f90
M flang/test/Driver/omp-driver-offload.f90
A flang/test/Driver/predefined-macros-powerpc2.f90
M flang/test/Evaluate/fold-out_of_range.f90
A flang/test/Evaluate/folding32.f90
A flang/test/Evaluate/rewrite-out_of_range.F90
M flang/test/Fir/abstract-result-2.fir
M flang/test/Fir/abstract-results.fir
M flang/test/Fir/array-value-copy-2.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
A flang/test/Fir/cuf-invalid.fir
A flang/test/Fir/cuf.mlir
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
M flang/test/Fir/non-trivial-procedure-binding-description.f90
A flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
M flang/test/Lower/HLFIR/calls-f77.f90
A flang/test/Lower/HLFIR/internal-procedures-bindc-host.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/Intrinsics/maskl.f90
M flang/test/Lower/Intrinsics/maskr.f90
A flang/test/Lower/Intrinsics/shape.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-routine04.f90
M flang/test/Lower/OpenMP/FIR/copyin.f90
M flang/test/Lower/OpenMP/FIR/flush.f90
M flang/test/Lower/OpenMP/FIR/if-clause.f90
M flang/test/Lower/OpenMP/FIR/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/FIR/location.f90
M flang/test/Lower/OpenMP/FIR/loop-combined.f90
M flang/test/Lower/OpenMP/FIR/master.f90
M flang/test/Lower/OpenMP/FIR/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/FIR/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
M flang/test/Lower/OpenMP/FIR/parallel-sections.f90
M flang/test/Lower/OpenMP/FIR/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/FIR/parallel-wsloop.f90
M flang/test/Lower/OpenMP/FIR/simd.f90
M flang/test/Lower/OpenMP/FIR/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/FIR/target.f90
M flang/test/Lower/OpenMP/FIR/unstructured.f90
M flang/test/Lower/OpenMP/FIR/wsloop-chunks.f90
M flang/test/Lower/OpenMP/FIR/wsloop-collapse.f90
M flang/test/Lower/OpenMP/FIR/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/FIR/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/FIR/wsloop-ordered.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/FIR/wsloop-simd.f90
M flang/test/Lower/OpenMP/FIR/wsloop-variable.f90
M flang/test/Lower/OpenMP/FIR/wsloop.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
R flang/test/Lower/OpenMP/Todo/reduction-allocatable.f90
A flang/test/Lower/OpenMP/Todo/reduction-modifiers.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
A flang/test/Lower/OpenMP/function-filtering-3.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.f90
M flang/test/Lower/OpenMP/if-clause.f90
M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/location.f90
M flang/test/Lower/OpenMP/loop-combined.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.f90
A flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
A flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
A flang/test/Lower/OpenMP/parallel-reduction-complex-mul.f90
A flang/test/Lower/OpenMP/parallel-reduction-complex.f90
A 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/simd.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
M flang/test/Lower/OpenMP/threadprivate-host-association.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-ordered.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
A flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
A flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.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/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
M flang/test/Lower/OpenMP/wsloop-unstructured.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
A flang/test/Lower/allocate-source-allocatables-2.f90
M flang/test/Lower/call-by-value.f90
M flang/test/Lower/character-elemental.f90
M flang/test/Lower/equivalence-with-host-assoc.f90
M flang/test/Lower/explicit-interface-results-2.f90
M flang/test/Lower/host-associated-functions.f90
M flang/test/Lower/host-associated-globals.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/stop-statement.f90
A flang/test/Parser/OpenMP/reduction-modifier.f90
M flang/test/Parser/compiler-directives.f90
M flang/test/Parser/cuf-sanity-common
M flang/test/Parser/cuf-sanity-tree.CUF
M flang/test/Parser/cuf-sanity-unparse.CUF
A flang/test/Preprocessing/show-macros1.F90
A flang/test/Preprocessing/show-macros2.F90
A flang/test/Preprocessing/show-macros3.F90
M flang/test/Semantics/OpenMP/clause-validity01.f90
A flang/test/Semantics/OpenMP/firstprivate02.f90
A flang/test/Semantics/OpenMP/lastprivate03.f90
M flang/test/Semantics/OpenMP/parallel-private01.f90
M flang/test/Semantics/OpenMP/parallel-private02.f90
M flang/test/Semantics/OpenMP/parallel-private03.f90
M flang/test/Semantics/OpenMP/parallel-private04.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
M flang/test/Semantics/OpenMP/parallel-shared01.f90
M flang/test/Semantics/OpenMP/parallel-shared02.f90
M flang/test/Semantics/OpenMP/parallel-shared03.f90
M flang/test/Semantics/OpenMP/parallel-shared04.f90
A flang/test/Semantics/OpenMP/reduction12.f90
M flang/test/Semantics/OpenMP/resolve03.f90
A flang/test/Semantics/OpenMP/threadprivate07.f90
M flang/test/Semantics/cuf02.cuf
M flang/test/Semantics/cuf03.cuf
M flang/test/Semantics/cuf07.cuf
M flang/test/Semantics/cuf09.cuf
A flang/test/Semantics/cuf11.cuf
A flang/test/Semantics/cuf12.cuf
A flang/test/Semantics/intrinsics04.f90
A flang/test/Semantics/numeric_storage_size.f90
M flang/test/Semantics/resolve102.f90
M flang/test/Semantics/resolve21.f90
M flang/test/Semantics/resolve29.f90
M flang/test/Semantics/select-rank.f90
M flang/test/Semantics/stmt-func02.f90
M flang/test/Transforms/debug-line-table-existing.fir
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table-inc-same-file.fir
M flang/test/Transforms/debug-line-table.fir
M flang/test/Transforms/omp-reduction-cfg-conversion.fir
M flang/tools/f18/CMakeLists.txt
R flang/tools/f18/flang-to-external-fc.in
A flang/unittests/Runtime/AccessTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
M flang/unittests/Runtime/Time.cpp
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCCheckMPFR.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/config/baremetal/api.td
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/api.td
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/syscall_numbers.h.inc
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/c23.rst
M libc/docs/contributing.rst
A libc/docs/ctype.rst
M libc/docs/dev/code_style.rst
M libc/docs/dev/config_options.rst
A libc/docs/fenv.rst
M libc/docs/gpu/building.rst
M libc/docs/index.rst
M libc/docs/math/index.rst
A libc/docs/setjmp.rst
A libc/docs/signal.rst
M libc/docs/stdbit.rst
A libc/docs/threads.rst
M libc/docs/usage_modes.rst
M libc/examples/README.md
M libc/examples/examples.cmake
M libc/fuzzing/CMakeLists.txt
A libc/fuzzing/__support/CMakeLists.txt
A libc/fuzzing/__support/uint_fuzz.cpp
M libc/fuzzing/math/CMakeLists.txt
M libc/fuzzing/math/RemQuoDiff.h
M libc/fuzzing/stdlib/CMakeLists.txt
M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
A libc/hdr/CMakeLists.txt
A libc/hdr/fenv_macros.h
A libc/hdr/math_macros.h
A libc/hdr/signal_macros.h
A libc/hdr/sys_epoll_macros.h
A libc/hdr/types/CMakeLists.txt
A libc/hdr/types/fenv_t.h
A libc/hdr/types/fexcept_t.h
A libc/hdr/types/sigset_t.h
A libc/hdr/types/struct_epoll_event.h
A libc/hdr/types/struct_timespec.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/sys-epoll-macros.h
M libc/include/llvm-libc-macros/math-macros.h
A libc/include/llvm-libc-macros/sys-epoll-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/pthread_condattr_t.h
A libc/include/llvm-libc-types/pthread_rwlockattr_t.h
M libc/include/llvm-libc-types/sigset_t.h
M libc/include/llvm-libc-types/struct_epoll_event.h
M libc/include/pthread.h.def
M libc/include/sys/epoll.h.def
M libc/spec/posix.td
M libc/spec/stdc.td
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/bit.h
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/riscv/FEnvImpl.h
M libc/src/__support/FPUtil/rounding_mode.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libc/src/__support/OSUtil/fuchsia/io.h
M libc/src/__support/RPC/rpc.h
R libc/src/__support/UInt.h
R libc/src/__support/UInt128.h
A libc/src/__support/big_int.h
M libc/src/__support/float_to_string.h
M libc/src/__support/hash.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/macros/sanitizer.h
M libc/src/__support/math_extras.h
M libc/src/__support/number_pair.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
A libc/src/__support/uint128.h
M libc/src/fenv/CMakeLists.txt
M libc/src/fenv/fegetenv.h
M libc/src/fenv/fegetexceptflag.cpp
M libc/src/fenv/fegetexceptflag.h
M libc/src/fenv/feholdexcept.cpp
M libc/src/fenv/feholdexcept.h
M libc/src/fenv/fesetenv.h
A libc/src/fenv/fesetexcept.cpp
A libc/src/fenv/fesetexcept.h
M libc/src/fenv/fesetexceptflag.cpp
M libc/src/fenv/fesetexceptflag.h
A libc/src/fenv/fetestexceptflag.cpp
A libc/src/fenv/fetestexceptflag.h
M libc/src/fenv/feupdateenv.cpp
M libc/src/fenv/feupdateenv.h
M libc/src/math/CMakeLists.txt
A libc/src/math/exp2m1f.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/exp2m1f.cpp
M libc/src/math/generic/exp_utils.cpp
M libc/src/math/generic/explogxf.h
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log_range_reduction.h
R libc/src/math/generic/math_utils.cpp
R libc/src/math/generic/math_utils.h
A libc/src/math/generic/roundeven.cpp
A libc/src/math/generic/roundevenf.cpp
A libc/src/math/generic/roundevenf128.cpp
A libc/src/math/generic/roundevenl.cpp
A libc/src/math/roundeven.h
A libc/src/math/roundevenf.h
A libc/src/math/roundevenf128.h
A libc/src/math/roundevenl.h
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_condattr_destroy.cpp
A libc/src/pthread/pthread_condattr_destroy.h
A libc/src/pthread/pthread_condattr_getclock.cpp
A libc/src/pthread/pthread_condattr_getclock.h
A libc/src/pthread/pthread_condattr_getpshared.cpp
A libc/src/pthread/pthread_condattr_getpshared.h
A libc/src/pthread/pthread_condattr_init.cpp
A libc/src/pthread/pthread_condattr_init.h
A libc/src/pthread/pthread_condattr_setclock.cpp
A libc/src/pthread/pthread_condattr_setclock.h
A libc/src/pthread/pthread_condattr_setpshared.cpp
A libc/src/pthread/pthread_condattr_setpshared.h
A libc/src/pthread/pthread_rwlockattr_destroy.cpp
A libc/src/pthread/pthread_rwlockattr_destroy.h
A libc/src/pthread/pthread_rwlockattr_getpshared.cpp
A libc/src/pthread/pthread_rwlockattr_getpshared.h
A libc/src/pthread/pthread_rwlockattr_init.cpp
A libc/src/pthread/pthread_rwlockattr_init.h
A libc/src/pthread/pthread_rwlockattr_setpshared.cpp
A libc/src/pthread/pthread_rwlockattr_setpshared.h
M libc/src/signal/linux/CMakeLists.txt
M libc/src/signal/linux/raise.cpp
M libc/src/signal/linux/sigaction.cpp
M libc/src/signal/linux/sigaddset.cpp
M libc/src/signal/linux/sigdelset.cpp
M libc/src/signal/linux/sigfillset.cpp
M libc/src/signal/linux/signal_utils.h
M libc/src/signal/linux/sigprocmask.cpp
M libc/src/signal/sigaddset.h
M libc/src/signal/sigdelset.h
M libc/src/signal/sigemptyset.h
M libc/src/signal/sigfillset.h
M libc/src/signal/sigprocmask.h
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdlib/bsearch.h
M libc/src/sys/epoll/CMakeLists.txt
A libc/src/sys/epoll/epoll_create.h
A libc/src/sys/epoll/epoll_create1.h
A libc/src/sys/epoll/epoll_ctl.h
M libc/src/sys/epoll/epoll_pwait.h
M libc/src/sys/epoll/epoll_pwait2.h
M libc/src/sys/epoll/epoll_wait.h
M libc/src/sys/epoll/linux/CMakeLists.txt
A libc/src/sys/epoll/linux/epoll_create.cpp
A libc/src/sys/epoll/linux/epoll_create1.cpp
A libc/src/sys/epoll/linux/epoll_ctl.cpp
M libc/src/sys/epoll/linux/epoll_pwait.cpp
M libc/src/sys/epoll/linux/epoll_pwait2.cpp
M libc/src/sys/epoll/linux/epoll_wait.cpp
M libc/src/sys/select/linux/select.cpp
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/unistd/CMakeLists.txt
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/pipe.cpp
A libc/src/unistd/pipe.h
M libc/test/CMakeLists.txt
M libc/test/UnitTest/CMakeLists.txt
A libc/test/UnitTest/FEnvSafeTest.cpp
A libc/test/UnitTest/FEnvSafeTest.h
M libc/test/UnitTest/FPExceptMatcher.cpp
M libc/test/UnitTest/FPExceptMatcher.h
M libc/test/UnitTest/FPMatcher.h
R libc/test/UnitTest/FuchsiaTest.h
A libc/test/UnitTest/GTest.h
M libc/test/UnitTest/LibcDeathTestExecutors.cpp
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/LibcTest.h
M libc/test/UnitTest/MemoryMatcher.cpp
M libc/test/UnitTest/MemoryMatcher.h
R libc/test/UnitTest/PigweedTest.h
M libc/test/UnitTest/RoundingModeUtils.cpp
M libc/test/UnitTest/StringUtils.h
M libc/test/UnitTest/Test.h
M libc/test/UnitTest/TestLogger.cpp
A libc/test/UnitTest/ZxTest.h
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/CMakeLists.txt
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/CPP/limits_test.cpp
M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
M libc/test/src/__support/FPUtil/rounding_mode_test.cpp
A libc/test/src/__support/big_int_test.cpp
M libc/test/src/__support/high_precision_decimal_test.cpp
M libc/test/src/__support/integer_literals_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/math_extras_test.cpp
M libc/test/src/__support/str_to_fp_test.h
R libc/test/src/__support/uint_test.cpp
M libc/test/src/fenv/CMakeLists.txt
M libc/test/src/fenv/enabled_exceptions_test.cpp
M libc/test/src/fenv/exception_flags_test.cpp
M libc/test/src/fenv/exception_status_test.cpp
A libc/test/src/fenv/excepts.h
M libc/test/src/fenv/feclearexcept_test.cpp
M libc/test/src/fenv/feenableexcept_test.cpp
M libc/test/src/fenv/feholdexcept_test.cpp
M libc/test/src/fenv/feupdateenv_test.cpp
M libc/test/src/fenv/getenv_and_setenv_test.cpp
M libc/test/src/fenv/rounding_mode_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FModTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
R libc/test/src/math/RandUtils.cpp
R libc/test/src/math/RandUtils.h
M libc/test/src/math/RemQuoTest.h
A libc/test/src/math/RoundEvenTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atan2f_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/exp2m1f_test.cpp
M libc/test/src/math/exhaustive/fmod_generic_impl_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
A libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/explogxf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/fdim_test.cpp
M libc/test/src/math/fdimf_test.cpp
M libc/test/src/math/fdiml_test.cpp
M libc/test/src/math/generic/CMakeLists.txt
M libc/test/src/math/ilogb_test.cpp
M libc/test/src/math/ilogbf_test.cpp
M libc/test/src/math/ilogbl_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/powf_test.cpp
A libc/test/src/math/roundeven_test.cpp
A libc/test/src/math/roundevenf_test.cpp
A libc/test/src/math/roundevenl_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/CeilTest.h
M libc/test/src/math/smoke/CopySignTest.h
M libc/test/src/math/smoke/FAbsTest.h
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMaximumMagNumTest.h
M libc/test/src/math/smoke/FMaximumMagTest.h
M libc/test/src/math/smoke/FMaximumNumTest.h
M libc/test/src/math/smoke/FMaximumTest.h
M libc/test/src/math/smoke/FMinTest.h
M libc/test/src/math/smoke/FMinimumMagNumTest.h
M libc/test/src/math/smoke/FMinimumMagTest.h
M libc/test/src/math/smoke/FMinimumNumTest.h
M libc/test/src/math/smoke/FMinimumTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/FloorTest.h
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/FrexpTest.h
M libc/test/src/math/smoke/FromfpTest.h
M libc/test/src/math/smoke/FromfpxTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/math/smoke/LogbTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextDownTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/NextUpTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
A libc/test/src/math/smoke/RoundEvenTest.h
M libc/test/src/math/smoke/RoundTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/SqrtTest.h
M libc/test/src/math/smoke/TruncTest.h
M libc/test/src/math/smoke/UfromfpTest.h
M libc/test/src/math/smoke/UfromfpxTest.h
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
A libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/nan_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/math/smoke/nanf_test.cpp
M libc/test/src/math/smoke/nanl_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
A libc/test/src/math/smoke/roundeven_test.cpp
A libc/test/src/math/smoke/roundevenf128_test.cpp
A libc/test/src/math/smoke/roundevenf_test.cpp
A libc/test/src/math/smoke/roundevenl_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/pthread/CMakeLists.txt
A libc/test/src/pthread/pthread_condattr_test.cpp
A libc/test/src/pthread/pthread_rwlockattr_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/sys/epoll/linux/CMakeLists.txt
A libc/test/src/sys/epoll/linux/epoll_create1_test.cpp
A libc/test/src/sys/epoll/linux/epoll_create_test.cpp
A libc/test/src/sys/epoll/linux/epoll_ctl_test.cpp
M libc/test/src/sys/epoll/linux/epoll_pwait2_test.cpp
M libc/test/src/sys/epoll/linux/epoll_pwait_test.cpp
M libc/test/src/sys/epoll/linux/epoll_wait_test.cpp
M libc/test/src/sys/random/linux/CMakeLists.txt
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/pipe_test.cpp
M libc/test/utils/FPUtil/CMakeLists.txt
M libc/test/utils/FPUtil/x86_long_double_test.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
A libc/utils/docgen/ctype.json
A libc/utils/docgen/docgen.py
A libc/utils/docgen/fenv.json
A libc/utils/docgen/setjmp.json
A libc/utils/docgen/signal.json
A libc/utils/docgen/stdbit.json
A libc/utils/docgen/threads.json
M libclc/CMakeLists.txt
R libclc/cmake/CMakeCLCCompiler.cmake.in
R libclc/cmake/CMakeCLCInformation.cmake
R libclc/cmake/CMakeDetermineCLCCompiler.cmake
R libclc/cmake/CMakeDetermineLLAsmCompiler.cmake
R libclc/cmake/CMakeLLAsmCompiler.cmake.in
R libclc/cmake/CMakeLLAsmInformation.cmake
R libclc/cmake/CMakeTestCLCCompiler.cmake
R libclc/cmake/CMakeTestLLAsmCompiler.cmake
A libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/lib/SOURCES
M libcxx/.clang-format
M libcxx/CMakeLists.txt
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/algorithms/minmax.bench.cpp
A libcxx/benchmarks/shared_mutex_vs_mutex.bench.cpp
M libcxx/cmake/caches/Apple.cmake
M libcxx/docs/BuildingLibcxx.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Modules.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatIssues.csv
M libcxx/docs/Status/FormatPaper.csv
M libcxx/docs/Status/RangesMajorFeatures.csv
M libcxx/docs/Status/SpaceshipPapers.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/adjacent_find.h
M libcxx/include/__algorithm/all_of.h
M libcxx/include/__algorithm/any_of.h
M libcxx/include/__algorithm/binary_search.h
M libcxx/include/__algorithm/clamp.h
M libcxx/include/__algorithm/comp.h
M libcxx/include/__algorithm/count.h
M libcxx/include/__algorithm/count_if.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/equal_range.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/find_end.h
M libcxx/include/__algorithm/find_first_of.h
M libcxx/include/__algorithm/find_if.h
M libcxx/include/__algorithm/find_if_not.h
M libcxx/include/__algorithm/fold.h
M libcxx/include/__algorithm/includes.h
M libcxx/include/__algorithm/is_heap.h
M libcxx/include/__algorithm/is_heap_until.h
M libcxx/include/__algorithm/is_partitioned.h
M libcxx/include/__algorithm/is_permutation.h
M libcxx/include/__algorithm/is_sorted.h
M libcxx/include/__algorithm/is_sorted_until.h
M libcxx/include/__algorithm/lexicographical_compare.h
M libcxx/include/__algorithm/lexicographical_compare_three_way.h
M libcxx/include/__algorithm/lower_bound.h
M libcxx/include/__algorithm/max.h
M libcxx/include/__algorithm/max_element.h
M libcxx/include/__algorithm/min.h
M libcxx/include/__algorithm/min_element.h
M libcxx/include/__algorithm/minmax.h
M libcxx/include/__algorithm/minmax_element.h
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/none_of.h
M libcxx/include/__algorithm/pstl_any_all_none_of.h
R libcxx/include/__algorithm/pstl_backend.h
R libcxx/include/__algorithm/pstl_backends/cpu_backend.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/any_of.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/backend.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/fill.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/find_if.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/for_each.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/libdispatch.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/merge.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/serial.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/stable_sort.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/thread.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/transform.h
R libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__algorithm/pstl_copy.h
M libcxx/include/__algorithm/pstl_count.h
M libcxx/include/__algorithm/pstl_equal.h
M libcxx/include/__algorithm/pstl_fill.h
M libcxx/include/__algorithm/pstl_find.h
M libcxx/include/__algorithm/pstl_for_each.h
M libcxx/include/__algorithm/pstl_generate.h
M libcxx/include/__algorithm/pstl_is_partitioned.h
M libcxx/include/__algorithm/pstl_merge.h
M libcxx/include/__algorithm/pstl_move.h
M libcxx/include/__algorithm/pstl_replace.h
M libcxx/include/__algorithm/pstl_rotate_copy.h
M libcxx/include/__algorithm/pstl_sort.h
M libcxx/include/__algorithm/pstl_stable_sort.h
M libcxx/include/__algorithm/pstl_transform.h
M libcxx/include/__algorithm/ranges_adjacent_find.h
M libcxx/include/__algorithm/ranges_all_of.h
M libcxx/include/__algorithm/ranges_any_of.h
M libcxx/include/__algorithm/ranges_binary_search.h
M libcxx/include/__algorithm/ranges_clamp.h
M libcxx/include/__algorithm/ranges_contains.h
M libcxx/include/__algorithm/ranges_contains_subrange.h
M libcxx/include/__algorithm/ranges_count.h
M libcxx/include/__algorithm/ranges_count_if.h
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_equal.h
M libcxx/include/__algorithm/ranges_equal_range.h
M libcxx/include/__algorithm/ranges_find.h
M libcxx/include/__algorithm/ranges_find_end.h
M libcxx/include/__algorithm/ranges_find_first_of.h
M libcxx/include/__algorithm/ranges_find_if.h
M libcxx/include/__algorithm/ranges_find_if_not.h
M libcxx/include/__algorithm/ranges_includes.h
M libcxx/include/__algorithm/ranges_is_heap.h
M libcxx/include/__algorithm/ranges_is_heap_until.h
M libcxx/include/__algorithm/ranges_is_partitioned.h
M libcxx/include/__algorithm/ranges_is_permutation.h
M libcxx/include/__algorithm/ranges_is_sorted.h
M libcxx/include/__algorithm/ranges_is_sorted_until.h
M libcxx/include/__algorithm/ranges_lexicographical_compare.h
M libcxx/include/__algorithm/ranges_lower_bound.h
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_min.h
M libcxx/include/__algorithm/ranges_min_element.h
M libcxx/include/__algorithm/ranges_minmax.h
M libcxx/include/__algorithm/ranges_minmax_element.h
M libcxx/include/__algorithm/ranges_mismatch.h
M libcxx/include/__algorithm/ranges_none_of.h
M libcxx/include/__algorithm/ranges_remove.h
M libcxx/include/__algorithm/ranges_remove_if.h
M libcxx/include/__algorithm/ranges_search.h
M libcxx/include/__algorithm/ranges_search_n.h
M libcxx/include/__algorithm/ranges_starts_with.h
M libcxx/include/__algorithm/ranges_unique.h
M libcxx/include/__algorithm/ranges_upper_bound.h
M libcxx/include/__algorithm/remove.h
M libcxx/include/__algorithm/remove_if.h
M libcxx/include/__algorithm/search.h
M libcxx/include/__algorithm/search_n.h
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__algorithm/unique.h
M libcxx/include/__algorithm/upper_bound.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__availability
M libcxx/include/__bit/bit_cast.h
M libcxx/include/__bit/bit_ceil.h
M libcxx/include/__bit/bit_floor.h
M libcxx/include/__bit/bit_width.h
M libcxx/include/__bit/byteswap.h
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/has_single_bit.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/leap_second.h
A libcxx/include/__chrono/local_info.h
M libcxx/include/__chrono/ostream.h
A libcxx/include/__chrono/sys_info.h
M libcxx/include/__chrono/time_zone.h
M libcxx/include/__chrono/time_zone_link.h
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__chrono/tzdb_list.h
M libcxx/include/__config
M libcxx/include/__config_site.in
A libcxx/include/__debug_utils/sanitizers.h
M libcxx/include/__expected/bad_expected_access.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__format/escaped_output_table.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/formatter_floating_point.h
A libcxx/include/__format/indic_conjunct_break_table.h
M libcxx/include/__format/unicode.h
M libcxx/include/__format/width_estimation_table.h
M libcxx/include/__functional/bind_back.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/identity.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/ranges_operations.h
M libcxx/include/__fwd/ios.h
M libcxx/include/__iterator/counted_iterator.h
M libcxx/include/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__iterator/empty.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__locale
M libcxx/include/__math/abs.h
M libcxx/include/__math/copysign.h
M libcxx/include/__math/min_max.h
M libcxx/include/__math/roots.h
M libcxx/include/__math/rounding_functions.h
M libcxx/include/__math/traits.h
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/construct_at.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/temporary_buffer.h
M libcxx/include/__memory/uses_allocator_construction.h
M libcxx/include/__memory_resource/memory_resource.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/lock_guard.h
M libcxx/include/__node_handle
M libcxx/include/__numeric/pstl_reduce.h
M libcxx/include/__numeric/pstl_transform_reduce.h
M libcxx/include/__numeric/saturation_arithmetic.h
A libcxx/include/__pstl/backends/libdispatch.h
A libcxx/include/__pstl/backends/serial.h
A libcxx/include/__pstl/backends/std_thread.h
A libcxx/include/__pstl/configuration.h
A libcxx/include/__pstl/configuration_fwd.h
A libcxx/include/__pstl/cpu_algos/any_of.h
A libcxx/include/__pstl/cpu_algos/cpu_traits.h
A libcxx/include/__pstl/cpu_algos/fill.h
A libcxx/include/__pstl/cpu_algos/find_if.h
A libcxx/include/__pstl/cpu_algos/for_each.h
A libcxx/include/__pstl/cpu_algos/merge.h
A libcxx/include/__pstl/cpu_algos/stable_sort.h
A libcxx/include/__pstl/cpu_algos/transform.h
A libcxx/include/__pstl/cpu_algos/transform_reduce.h
M libcxx/include/__random/linear_congruential_engine.h
M libcxx/include/__ranges/as_rvalue_view.h
M libcxx/include/__ranges/chunk_by_view.h
M libcxx/include/__ranges/drop_view.h
M libcxx/include/__ranges/range_adaptor.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/split_view.h
M libcxx/include/__ranges/take_view.h
M libcxx/include/__ranges/to.h
M libcxx/include/__stop_token/stop_callback.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__string/constexpr_c_functions.h
M libcxx/include/__system_error/errc.h
M libcxx/include/__type_traits/copy_cv.h
A libcxx/include/__type_traits/desugars_to.h
R libcxx/include/__type_traits/operation_traits.h
M libcxx/include/__type_traits/remove_cv.h
M libcxx/include/__utility/as_const.h
M libcxx/include/__utility/forward.h
M libcxx/include/__utility/is_pointer_in_range.h
A libcxx/include/__utility/is_valid_range.h
M libcxx/include/__utility/move.h
A libcxx/include/__utility/private_constructor_tag.h
M libcxx/include/__utility/to_underlying.h
M libcxx/include/algorithm
M libcxx/include/array
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/cerrno
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/compare
M libcxx/include/concepts
M libcxx/include/coroutine
M libcxx/include/cstddef
M libcxx/include/deque
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/iosfwd
M libcxx/include/iterator
M libcxx/include/latch
R libcxx/include/libcxx.imp
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/math.h
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/module.modulemap
M libcxx/include/new
M libcxx/include/ostream
M libcxx/include/print
M libcxx/include/queue
M libcxx/include/ranges
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stddef.h
M libcxx/include/stdlib.h
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/version
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/modules/std.compat/cstdlib.inc
M libcxx/modules/std/chrono.inc
M libcxx/modules/std/functional.inc
M libcxx/modules/std/locale.inc
M libcxx/modules/std/memory.inc
M libcxx/modules/std/ranges.inc
M libcxx/modules/std/strstream.inc
M libcxx/src/CMakeLists.txt
A libcxx/src/expected.cpp
M libcxx/src/functional.cpp
R libcxx/src/include/tzdb/leap_second_private.h
R libcxx/src/include/tzdb/time_zone_link_private.h
M libcxx/src/include/tzdb/time_zone_private.h
M libcxx/src/include/tzdb/types_private.h
M libcxx/src/include/tzdb/tzdb_list_private.h
M libcxx/src/locale.cpp
M libcxx/src/pstl/libdispatch.cpp
M libcxx/src/random.cpp
M libcxx/src/time_zone.cpp
M libcxx/src/tzdb.cpp
M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp
M libcxx/test/libcxx/algorithms/half_positive.pass.cpp
A libcxx/test/libcxx/algorithms/pstl.iterator-requirements.verify.cpp
M libcxx/test/libcxx/algorithms/pstl.libdispatch.chunk_partitions.pass.cpp
M libcxx/test/libcxx/atomics/diagnose_invalid_memory_order.verify.cpp
M libcxx/test/libcxx/containers/sequences/vector/asan.pass.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.depr_in_cxx20.verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange_explicit.verify.depr_in_cxx20..cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_is_lock_free.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load_explicit.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store.depr_in_cxx20..verify.cpp
A libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store_explicit.depr_in_cxx20..verify.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp17_features.compile.pass.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp17_features.deprecated.verify.cpp
R libcxx/test/libcxx/depr/enable_removed_cpp20_features.deprecated.verify.cpp
A libcxx/test/libcxx/diagnostics/algorithm.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/array.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/bit.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.compile.pass.cpp
R libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
R libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/cmath.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/cstddef.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/cstdlib.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/deque.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/filesystem.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/format.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.compile.pass.cpp
R libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/forward_list.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/functional.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/future.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/limits.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.compile.pass.cpp
R libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/list.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/map.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/math_nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/memory.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/memory_resource.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/mutex.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/new.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/node_handle.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/nodiscard.pass.cpp
R libcxx/test/libcxx/diagnostics/nodiscard_aftercxx17.verify.cpp
R libcxx/test/libcxx/diagnostics/nodiscard_extensions.compile.pass.cpp
R libcxx/test/libcxx/diagnostics/nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/pstl.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.compile.pass.cpp
R libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/queue.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/ranges.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp
R libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.verify.cpp
A libcxx/test/libcxx/diagnostics/regex.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/scoped_allocator.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/set.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/stack.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/string.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/string_view.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/unordered_map.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/unordered_set.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/utility.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/vector.nodiscard.verify.cpp
R libcxx/test/libcxx/diagnostics/view_adaptors.nodiscard_extensions.verify.cpp
M libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
A libcxx/test/libcxx/fuzzing/format_no_args.pass.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/fstream.cons/wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/fstream.members/open_wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/ofstream.cons/wchar_pointer.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/ofstream.members/open_wchar_pointer.pass.cpp
M libcxx/test/libcxx/localization/locales/locale.convenience/conversions/conversions.string/ctor_move.pass.cpp
M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
R libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/adaptor.nodiscard.verify.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.split/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.factories/range.istream.view/no_unique_address.compile.pass.cpp
R libcxx/test/libcxx/ranges/range.utility/range.utility.conv/to.nodiscard.verify.cpp
M libcxx/test/libcxx/time/convert_to_tm.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/leap_seconds.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/links.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.list/erase_after.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/version.pass.cpp
M libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.local/ostream.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.info/time.zone.info.sys/ostream.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.rule_selection.pass.cpp
M libcxx/test/libcxx/transitive_includes.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/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.h
M libcxx/test/libcxx/utilities/format/format.string/format.string.std/extended_grapheme_cluster.pass.cpp
A libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
A libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/libcxx/vendor/apple/system-install-properties.sh.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/left_folds.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/requirements.compile.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_found_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_fun_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_in_out_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_in_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_out_out_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_out_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/in_value_result.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/min_max_result.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_all.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_notify_one.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/atomic_wait_explicit.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/deduction.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/deduct.pass.cpp
R libcxx/test/std/depr.cerro/cerrno.syn.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/ccp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/ccp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.istrstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/cp_size_mode.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.ostrstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/cp_size_mode.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.dest/rdbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstream/types.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/ccp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cp_size_cp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cscp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cucp_size.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/custom_alloc.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/default.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/scp_size_scp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/ucp_size_ucp.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/freeze.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/overflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/pcount.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/str.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/overflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/pbackfail.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/seekoff.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/seekpos.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/underflow.pass.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.verify.cpp
M libcxx/test/std/depr/depr.str.strstreams/depr.strstreambuf/types.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/locale-specific_form.pass.cpp
M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.print/println.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
A libcxx/test/std/input.output/iostream.format/print.fun/println.blank_line.sh.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/println.file.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/increment.pass.cpp
A libcxx/test/std/iterators/predef.iterators/move.iterators/sized_sentinel.compile.pass.cpp
R libcxx/test/std/language.support/support.dynamic/ptr.launder/launder.nodiscard.verify.cpp
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/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/overflow.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/pbackfail.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/rdbuf.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/seekoff.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/test.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/underflow.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/converted.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt_state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_copy.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/depr.verify.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/from_bytes.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/state.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/to_bytes.pass.cpp
M libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/types.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/alg.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp
M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp
A libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.filter/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/equality.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/range.take.sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take/types.h
M libcxx/test/std/ranges/range.adaptors/range.zip/iterator/compare.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.utility/range.utility.conv/to_deduction.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
M libcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.barrier/completion.pass.cpp
M libcxx/test/std/thread/thread.barrier/ctor.compile.pass.cpp
M libcxx/test/std/thread/thread.barrier/max.pass.cpp
M libcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
M libcxx/test/std/thread/thread.latch/count_down.pass.cpp
M libcxx/test/std/thread/thread.latch/ctor.pass.cpp
M libcxx/test/std/thread/thread.latch/max.pass.cpp
M libcxx/test/std/thread/thread.latch/try_wait.pass.cpp
M libcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
M libcxx/test/std/thread/thread.semaphore/binary.pass.cpp
M libcxx/test/std/thread/thread.semaphore/ctor.compile.pass.cpp
M libcxx/test/std/thread/thread.semaphore/max.pass.cpp
M libcxx/test/std/thread/thread.semaphore/release.pass.cpp
M libcxx/test/std/thread/thread.semaphore/timed.pass.cpp
M libcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
M libcxx/test/std/time/time.cal/time.cal.ymd/time.cal.ymd.nonmembers/ostream.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.file/ostream.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.local/ostream.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.system/sys_date.ostream.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.system/sys_time.ostream.pass.cpp
M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
A libcxx/test/std/time/time.syn/formatter.local_info.pass.cpp
A libcxx/test/std/time/time.syn/formatter.sys_info.pass.cpp
M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.year_month_day.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/leap_seconds.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/current_zone.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb_list.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/locate_zone.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/erase_after.compile.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/front.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/iterators.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/types.compile.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/current_zone.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/tzdb.members.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/local_info.members.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/ostream.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/ostream.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/sys_info.members.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/assign.copy.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/cons.copy.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/members/date.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/members/value.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.nonmembers/comparison.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/types.compile.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.nonmembers/comparison.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/types.compile.pass.cpp
A libcxx/test/std/utilities/expected/expected.bad/base.compile.pass.cpp
A libcxx/test/std/utilities/expected/expected.bad/void-specialization.pass.cpp
R libcxx/test/std/utilities/expected/expected.bad/what.noexcept.compile.pass.cpp
A libcxx/test/std/utilities/expected/expected.bad/what.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
M libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.pass.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/bind_back.verify.cpp
A libcxx/test/std/utilities/function.objects/func.bind.partial/types.h
M libcxx/test/std/utilities/function.objects/func.bind_front/bind_front.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_is_lock_free.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/robust_against_adl.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
M libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
M libcxx/test/support/invocable_with_telemetry.h
M libcxx/test/support/test_chrono_leap_second.h
M libcxx/test/support/test_iterators.h
M libcxx/test/support/test_macros.h
M libcxx/test/support/test_range.h
M libcxx/test/tools/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/utils/CMakeLists.txt
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/oss-fuzz.sh
M libcxx/utils/ci/run-buildbot
M libcxx/utils/data/unicode/DerivedCoreProperties.txt
M libcxx/utils/data/unicode/DerivedGeneralCategory.txt
M libcxx/utils/data/unicode/EastAsianWidth.txt
M libcxx/utils/data/unicode/GraphemeBreakProperty.txt
M libcxx/utils/data/unicode/GraphemeBreakTest.txt
M libcxx/utils/data/unicode/emoji-data.txt
M libcxx/utils/generate_extended_grapheme_cluster_table.py
M libcxx/utils/generate_feature_test_macro_components.py
A libcxx/utils/generate_indic_conjunct_break_table.py
M libcxx/utils/generate_iwyu_mapping.py
M libcxx/utils/libcxx/header_information.py
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/libcxx/test/modules.py
M libcxx/utils/libcxx/test/params.py
M libcxxabi/src/aix_state_tab_eh.inc
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/ICF.cpp
M lld/COFF/PDB.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/Writer.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Config.h
M lld/ELF/DWARF.cpp
M lld/ELF/DWARF.h
M lld/ELF/Driver.cpp
M lld/ELF/DriverUtils.cpp
M lld/ELF/ICF.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/InputSection.cpp
M lld/ELF/Options.td
M lld/ELF/Relocations.cpp
M lld/ELF/Relocations.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/ELF/Writer.h
M lld/MachO/DriverUtils.cpp
M lld/MachO/ICF.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/InputSection.cpp
M lld/MachO/MapFile.cpp
M lld/MachO/MarkLive.cpp
M lld/MachO/ObjC.cpp
M lld/MachO/Relocations.cpp
M lld/MachO/SectionPriorities.cpp
M lld/MachO/SymbolTable.cpp
M lld/MachO/Symbols.cpp
M lld/MachO/Symbols.h
M lld/MachO/SyntheticSections.cpp
M lld/MachO/UnwindInfoSection.cpp
M lld/MachO/Writer.cpp
M lld/MinGW/Driver.cpp
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
A lld/test/COFF/arm64x-icf.s
M lld/test/COFF/autoimport-arm-data.s
M lld/test/COFF/autoimport-arm64-data.s
A lld/test/COFF/autoimport-debug.s
A lld/test/COFF/autoimport-gc.s
M lld/test/COFF/autoimport-gnu-implib.s
A lld/test/COFF/autoimport-handler-func.s
M lld/test/COFF/autoimport-warn.s
M lld/test/COFF/autoimport-x86.s
A lld/test/COFF/print-search-paths-arm64.s
M lld/test/COFF/undefined-symbol-cv.s
A lld/test/ELF/Inputs/debug-names-a.s
A lld/test/ELF/Inputs/debug-names-b.s
M lld/test/ELF/aarch64-bti-pac-cli-error.s
A lld/test/ELF/aarch64-feature-pauth.s
A lld/test/ELF/aarch64-reloc-implicit-addend.test
A lld/test/ELF/aarch64-reloc-pauth-ro.s
A lld/test/ELF/aarch64-reloc-pauth.s
A lld/test/ELF/debug-names-bad.s
A lld/test/ELF/debug-names-die-offset-form-flag-present.s
A lld/test/ELF/debug-names-different-aug-string.s
A lld/test/ELF/debug-names-dwarf64.s
A lld/test/ELF/debug-names-missing-parent.s
A lld/test/ELF/debug-names-multi-cus.s
A lld/test/ELF/debug-names-nonames.s
A lld/test/ELF/debug-names-parent-idx.s
A lld/test/ELF/debug-names-type-units.s
A lld/test/ELF/debug-names.s
M lld/test/ELF/driver.test
A lld/test/ELF/linkerscript/default-script.s
M lld/test/ELF/linkerscript/symbolreferenced.s
A lld/test/ELF/loongarch-relax-align-ldr.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
M lld/test/ELF/lto/comdat-nodeduplicate.ll
A lld/test/ELF/lto/i386-global-offset-table.ll
A lld/test/ELF/lto/x86-64-global-offset-table.ll
M lld/test/ELF/pack-dyn-relocs.s
M lld/test/ELF/partition-pack-dyn-relocs.s
A lld/test/ELF/ppc32-debug-names.s
M lld/test/ELF/reproduce.s
M lld/wasm/Driver.cpp
M lldb/CMakeLists.txt
M lldb/bindings/interface/SBFrameExtensions.i
M lldb/bindings/interface/SBMemoryRegionInfoDocstrings.i
M lldb/bindings/interface/SBProcessDocstrings.i
M lldb/bindings/interface/SBQueueDocstrings.i
M lldb/bindings/interface/SBThreadDocstrings.i
M lldb/cmake/caches/Apple-lldb-Linux.cmake
M lldb/cmake/caches/Apple-lldb-base.cmake
M lldb/cmake/caches/Apple-lldb-macOS.cmake
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/cmake/modules/LLDBFramework.cmake
M lldb/docs/conf.py
M lldb/docs/index.rst
R lldb/docs/lldb-gdb-remote.txt
A lldb/docs/resources/lldbgdbremote.md
M lldb/docs/resources/test.rst
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/Core/Disassembler.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Utility/ProcessInfo.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/lldb_pylint_helper.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/DataFormatters/TypeCategoryMap.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Host/linux/Host.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
M lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.h
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
A lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/CMakeLists.txt
M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
M lldb/test/API/commands/expression/options/TestExprOptions.py
M lldb/test/API/commands/frame/diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
A lldb/test/API/commands/process/detach-resumes/Makefile
A lldb/test/API/commands/process/detach-resumes/TestDetachResumes.py
A lldb/test/API/commands/process/detach-resumes/main.cpp
R lldb/test/API/debuginfod/Normal/Makefile
R lldb/test/API/debuginfod/Normal/TestDebuginfod.py
R lldb/test/API/debuginfod/Normal/main.c
R lldb/test/API/debuginfod/SplitDWARF/Makefile
R lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
R lldb/test/API/debuginfod/SplitDWARF/main.c
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.6-beta.1
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/00ac51b30532...21a4d2ac2085
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