[all-commits] [llvm/llvm-project] 61da63: [flang] Initial debug info support for local varia...
Amir Ayupov via All-commits
all-commits at lists.llvm.org
Fri May 24 14:50:36 PDT 2024
Branch: refs/heads/users/aaupov/spr/boltnfc-simplify-analyzeindirectbranch
Home: https://github.com/llvm/llvm-project
Commit: 61da6366d043792d7db280ce9edd2db62516e0e8
https://github.com/llvm/llvm-project/commit/61da6366d043792d7db280ce9edd2db62516e0e8
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A flang/include/flang/Optimizer/CodeGen/CGOps.h
M flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/CodeGen/CGOps.cpp
R flang/lib/Optimizer/CodeGen/CGOps.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/test/Fir/declare-codegen.fir
M flang/test/Fir/dummy-scope-codegen.fir
A flang/test/Transforms/debug-local-var-2.f90
A flang/test/Transforms/debug-local-var.f90
Log Message:
-----------
[flang] Initial debug info support for local variables. (#90905)
We need the information in the `DeclareOp` to generate debug information
for variables. Currently, cg-rewrite removes the `DeclareOp`. As
`AddDebugInfo` runs after that, it cannot process the `DeclareOp`. My
initial plan was to make the `AddDebugInfo` pass run before the cg-rewrite
but that has few issues.
1. Initially I was thinking to use the memref op to carry the variable
attr. But as @tblah suggested in the #86939, it makes more sense to
carry that information on `DeclareOp`. It also makes it easy to handle
it in codegen and there is no special handling needed for arguments. For
this reason, we need to preserve the `DeclareOp` till the codegen.
2. Running earlier, we will miss the changes in passes that run between
cg-rewrite and codegen.
But not removing the DeclareOp in cg-rewrite has the issue that ShapeOp
remains and it causes errors during codegen. To solve this problem, I
convert DeclareOp to XDeclareOp in cg-rewrite instead of removing
it. This was mentioned as possible solution by @jeanPerier in
https://reviews.llvm.org/D136254
The conversion follows similar logic as used for other operators in that
file. The FortranAttr and CudaAttr are currently not converted but left
as TODO when the need arise.
Now `AddDebugInfo` pass can extracts information about local variables
from `XDeclareOp` and creates `DILocalVariableAttr`. These are attached
to `XDeclareOp` using `FusedLoc` approach. Codegen can use them to
create `DbgDeclareOp`. I have added tests that checks the debug
information in mlir from and also in llvm ir.
Currently we only handle very limited types. Rest are given a place
holder type. The previous placeholder type was basic type with
`DW_ATE_address` encoding. When variables are added, it started
causing assertions in the llvm debug info generation logic for some
types. It has been changed to an interger type to prevent these issues
until we handle those types properly.
Commit: eda098aadea3e542f95b5f0d4173f00eae42dc72
https://github.com/llvm/llvm-project/commit/eda098aadea3e542f95b5f0d4173f00eae42dc72
Author: Endre Fülöp <endre.fulop at sigmatechnology.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
A clang/test/Analysis/block-in-critical-section.c
Log Message:
-----------
[clang][analyzer] Fix a crash in alpha.unix.BlockInCriticalSection (#90030)
When analyzing C code with function pointers the checker crashes because
of how the implementation extracts `IdentifierInfo`. Without the fix, this
test crashes.
Commit: da116bd82c0a78d2022c34b56e45cf6e4f91eaed
https://github.com/llvm/llvm-project/commit/da116bd82c0a78d2022c34b56e45cf6e4f91eaed
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/Targets/Sparc.cpp
Log Message:
-----------
[Clang] Use ULL for std::max constant argument to fix build failure.
getKnownMinValue returns uint64_t, use ULL to make sure the second arg
is also 64 bit.
Commit: b42d245b77a83f8f6ca88c2dc441a96a5e8d5b52
https://github.com/llvm/llvm-project/commit/b42d245b77a83f8f6ca88c2dc441a96a5e8d5b52
Author: AdityaK <hiraditya at msn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNHoist.cpp
Log Message:
-----------
[GVNHoist] Replace combineKnownMetadata with combineMetadataForCSE (#92197)
There is no reason to call combineMetadata directly with a list of MD_
nodes. The combineMetadataForCSE function handles all the metadata
correctly
Partially fixes: #30866
Commit: 8a4cbeada930bf11fe740a2038bd5a3230712284
https://github.com/llvm/llvm-project/commit/8a4cbeada930bf11fe740a2038bd5a3230712284
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/Targets/Sparc.cpp
Log Message:
-----------
[Clang] Unbreak build take 2 using uint64_t() explicitly.
Commit: dceaa0f4491ebe30c0b0f1bc7fa5ec365b60ced6
https://github.com/llvm/llvm-project/commit/dceaa0f4491ebe30c0b0f1bc7fa5ec365b60ced6
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Support/MemoryBuffer.cpp
Log Message:
-----------
[Support] Use malloc instead of non-throwing new (#92157)
When allocating a memory buffer, we use a non-throwing new so that we
can explicitly handle memory buffers that are too large to fit into
memory. However, when exceptions are disabled, LLVM installs a custom
new handler
(https://github.com/llvm/llvm-project/blob/90109d444839683b09f0aafdc50b749cb4b3203b/llvm/lib/Support/InitLLVM.cpp#L61)
that explicitly crashes when we run out of memory
(https://github.com/llvm/llvm-project/blob/de14b749fee41d4ded711e771e43043ae3100cb3/llvm/lib/Support/ErrorHandling.cpp#L188)
and that means this particular out-of-memory situation cannot be
gracefully handled.
This was discovered while working on #embed
(https://github.com/llvm/llvm-project/pull/68620) on Windows and
resulted in a crash rather than the preprocessor issuing a diagnostic as
expected.
This patch switches away from the non-throwing new to a call to malloc
(and free), which will return a null pointer without calling a custom
new handler. It is the only instance in Clang or LLVM that I could find
which used a non-throwing new, so I did not think we would need anything
more involved than this change.
Testing this would be highly platform dependent and so it does not come
with test coverage. And because it doesn't change behavior that users
are likely to be able to observe, it does not come with a release note.
Commit: 8ab753c121447c1388c4cb1af08ab27b2cd62a82
https://github.com/llvm/llvm-project/commit/8ab753c121447c1388c4cb1af08ab27b2cd62a82
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/test/Lower/OpenMP/invalid-reduction-modifier.f90
Log Message:
-----------
[flang][OpenMP] Add `REQUIRES: asserts` to test that relies on it
This should fix failures in release builds.
Commit: 413aaf11cd74f422f05b990613f822dc10db4391
https://github.com/llvm/llvm-project/commit/413aaf11cd74f422f05b990613f822dc10db4391
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Support IntAP(S) in emitPrimCast
Commit: 28d5f7907e8c3adb6f0e2e16c9673a99f5e07522
https://github.com/llvm/llvm-project/commit/28d5f7907e8c3adb6f0e2e16c9673a99f5e07522
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/IntegralAP.h
Log Message:
-----------
[clang][Interp][NFC] Use a smaller default size for IntegralAP
Since we later possibly initialize the value by using operator-new,
we need the default value to _not_ allocate memory.
Commit: 4527adc500ea0dc4b942a51dc7209da4ea26d9a2
https://github.com/llvm/llvm-project/commit/4527adc500ea0dc4b942a51dc7209da4ea26d9a2
Author: Daniel Kuts <kutz at ispras.ru>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
Log Message:
-----------
Fix null pointer dereference in logging in mlir TransformOps (#92237)
A variable `typeConverterOp` may be nullptr after dynamic cast. There is
a security guard for this, but during logging error message the variable
getting dereferenced.
Found with static analysis.
Commit: b576a6b0452b9bfb634feaa215506d8a1afe857d
https://github.com/llvm/llvm-project/commit/b576a6b0452b9bfb634feaa215506d8a1afe857d
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86LowerTileCopy.cpp
M llvm/test/CodeGen/X86/AMX/amx-tile-basic.ll
Log Message:
-----------
[X86][AMX] Fix a bug after #83628 (#91207)
We need to check if `GR64Cand` a valid register before using it.
Test is not needed since it's covered in llvm-test-suite.
Fixes #90954
Commit: bed5546bb53bdb231b62f569b67f449019426ce8
https://github.com/llvm/llvm-project/commit/bed5546bb53bdb231b62f569b67f449019426ce8
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
Log Message:
-----------
[DebugInfo] Get rid of redundant conditional checks in `/DebugInfo` (#92111)
Resolves #90326
Commit: dcf3102be8458fe7588f9d11315beddfca4323b0
https://github.com/llvm/llvm-project/commit/dcf3102be8458fe7588f9d11315beddfca4323b0
Author: Elvina Yakubova <eyakubova at nvidia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A bolt/docs/CommandLineArgumentReference.md
Log Message:
-----------
[BOLT][NFC] Add documentation on BOLT options (#92117)
Add .md file documentation with all BOLT options to display it more
conveniently.
Commit: 8e00703be9ceb41d9b80c2bc8f024a9610b9aaa1
https://github.com/llvm/llvm-project/commit/8e00703be9ceb41d9b80c2bc8f024a9610b9aaa1
Author: jyu2-git <jennifer.yu at intel.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
A clang/test/OpenMP/target_map_both_pointer_pointee_codegen.cpp
A offload/test/mapping/map_both_pointer_pointee.c
Log Message:
-----------
[Clang][OpenMP] Fix runtime problem when explicit map both pointer and pointee (#92210)
ponter int *p for following map, test currently crash.
map(p, p[:100]) or map(p, p[1])
Currly IR looks like
// &p, &p, sizeof(int), TARGET_PARAM | TO | FROM
// &p, p[0], 100sizeof(float) TO | FROM
Worrking IR is
// map(p, p[0:100]) to map(p[0:100])
// &p, &p[0], 100*sizeof(float), TARGET_PARAM | TO | FROM | PTR_AND_OBJ
The change is add new argument AreBothBasePtrAndPteeMapped in
generateInfoForComponentList
Use that to skip map for map(p), when processing map(p[:100]) generate
map with right flag.
Commit: ff313ee70a4f27e3555ee4baef53b9b51c5aa27e
https://github.com/llvm/llvm-project/commit/ff313ee70a4f27e3555ee4baef53b9b51c5aa27e
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-regression.ll
Log Message:
-----------
[RISCV] Remove hasSideEffects=1 for vsetvli pseudos (#91319)
In a similar vein to #90049, we currently model all of the effects of a
vsetvli pseudo:
* VL and VTYPE are marked as defs
* VL preserving x0,x0 vsetvlis doesn't get emitted until
RISCVInsertVSETVLI, and when they are they have implicit uses on VL
* Regular vector pseudos are fully modelled too: Before
RISCVInsertVSETVLI they can be moved between vsetvli pseudos because we
will eventually insert vsetvlis to correct VL and VTYPE. Afterwards,
they will have implicit uses on VL and VTYPE.
Since we model everything we can remove hasSideEffects=1. This gives us
some improvements like sinking in vsetvli-insert-crossbb.ll.
We need to update RISCVDeadRegisterDefinitions to keep handling vsetvli
pseudos since it only operates on instructions with unmodelled side
effects.
Commit: 74218a9c8fc4b0bdb4b2a4839455cf2f211a2a30
https://github.com/llvm/llvm-project/commit/74218a9c8fc4b0bdb4b2a4839455cf2f211a2a30
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Implement __builtin_convertvector
Commit: 3a8d176af519e4385652e762c615ace9b80ef045
https://github.com/llvm/llvm-project/commit/3a8d176af519e4385652e762c615ace9b80ef045
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/utils/filecheck_lint/filecheck_lint.py
Log Message:
-----------
[utils][filecheck-lint] Add shebang (#92243)
Commit: ba3447601c435bb2b24ad9e3c8d146c578f00568
https://github.com/llvm/llvm-project/commit/ba3447601c435bb2b24ad9e3c8d146c578f00568
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-constraints.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-constraints.cpp
Log Message:
-----------
[clang-tidy] Fix crash in modernize-use-constraints (#92019)
Improved modernize-use-constraints check by fixing a crash that occurred
in some scenarios and excluded system headers from analysis.
Problem were with DependentNameTypeLoc having null type location as
getQualifierLoc().getTypeLoc().
Fixes #91872
Commit: 54c6ee922abbaea7d2f138a209f320c414c1657b
https://github.com/llvm/llvm-project/commit/54c6ee922abbaea7d2f138a209f320c414c1657b
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/special-member-functions.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-relaxed.cpp
Log Message:
-----------
[clang-tidy] Add AllowImplicitlyDeletedCopyOrMove option to cppcoreguidelines-special-member-functions (#71683)
Improved cppcoreguidelines-special-member-functions check with a new
option AllowImplicitlyDeletedCopyOrMove, which removes the requirement
for explicit copy or move special member functions when they are already
implicitly deleted.
Closes #62392
Commit: 9bbefb7f600019c9d7025281132dd160729bfff2
https://github.com/llvm/llvm-project/commit/9bbefb7f600019c9d7025281132dd160729bfff2
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/Parse/Parser.cpp
A clang/test/PCH/optnone.cpp
Log Message:
-----------
[clang] Store FPOptions earlier when parsing function (#92146)
After https://github.com/llvm/llvm-project/pull/85605 ([clang] Set
correct FPOptions if attribute 'optnone' presents) the current FP
options in Sema are saved during parsing function because Sema can
modify them if optnone is present. However they were saved too late, it
caused fails in some cases when precompiled headers are used. This patch
moves the storing earlier.
Commit: 03c53c69a367008da689f0d2940e2197eb4a955c
https://github.com/llvm/llvm-project/commit/03c53c69a367008da689f0d2940e2197eb4a955c
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
Log Message:
-----------
[MC] Remove UseAssemblerInfoForParsing
Commit 6c0665e22174d474050e85ca367424f6e02476be
(https://reviews.llvm.org/D45164) enabled certain constant expression
evaluation for `MCObjectStreamer` at parse time (e.g. `.if` directives,
see llvm/test/MC/AsmParser/assembler-expressions.s).
`getUseAssemblerInfoForParsing` was added to make `clang -c` handling
inline assembly similar to `MCAsmStreamer` (e.g. `llvm-mc -filetype=asm`),
where such expression folding (related to
`AttemptToFoldSymbolOffsetDifference`) is unavailable.
I believe this is overly conservative. We can make some parse-time
expression folding work for `clang -c` even if `clang -S` would still
report an error, a MCAsmStreamer issue (we cannot print `.if`
directives) that should not restrict the functionality of
MCObjectStreamer.
```
% cat b.cc
asm(R"(
.pushsection .text,"ax"
.globl _start; _start: ret
.if . -_start == 1
ret
.endif
.popsection
)");
% gcc -S b.cc && gcc -c b.cc
% clang -S -fno-integrated-as b.cc # succeeded
% clang -c b.cc # succeeded with this patch
% clang -S b.cc # still failed
<inline asm>:4:5: error: expected absolute expression
4 | .if . -_start == 1
| ^
1 error generated.
```
Close #62520
Link: https://discourse.llvm.org/t/rfc-clang-assembly-object-equivalence-for-files-with-inline-assembly/78841
Pull Request: https://github.com/llvm/llvm-project/pull/91082
Commit: 141391ad2f22885342935442642c6c892f43e1ed
https://github.com/llvm/llvm-project/commit/141391ad2f22885342935442642c6c892f43e1ed
Author: Nuri Amari <nuri.amari99 at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lld/test/MachO/objc.s
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
Log Message:
-----------
[lld] Fix -ObjC load behavior with LTO (#92162)
When -ObjC is passed, the linker must force load any object files that
contain special sections that store Objective-C / Swift information that
is used at runtime.
This should work regadless if input files are bitcode or native, but it
was not working with bitcode. This is because the sections that identify
an object file that should be loaded were inconsistent when dealing with
a native file vs bitcode file. In particular, bitcode files were not
searched for `__TEXT,__swift` prefixed sections, while native files
were.
This means LLD wasn't loading certain bitcode files and forcing the user
to introduce --force-load to their linker invocation for that archive.
Co-authored-by: Nuri Amari <nuriamari at fb.com>
Commit: f0e79db215ada7316b4d4046490ab715194a519a
https://github.com/llvm/llvm-project/commit/f0e79db215ada7316b4d4046490ab715194a519a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
Log Message:
-----------
[RISCV] Fix 80 columns in RISCVMatInt.cpp. NFC
Commit: 29c2475f215110d9e6b3955d5eb2832b3f719c2f
https://github.com/llvm/llvm-project/commit/29c2475f215110d9e6b3955d5eb2832b3f719c2f
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/SerializeToHsaco.cpp
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
Log Message:
-----------
[mlir] Fix the build after 03c53c69a367008da689f0d2940e2197eb4a955c
Commit: 3f954f575156bce8ac81d6b4d94de443786befed
https://github.com/llvm/llvm-project/commit/3f954f575156bce8ac81d6b4d94de443786befed
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Support/MemoryBuffer.cpp
Log Message:
-----------
Correct mismatched allocation/deallocation calls
This amends dceaa0f4491ebe30c0b0f1bc7fa5ec365b60ced6 because ASAN
caught an issue where the allocation and deallocation were not properly
paired: https://lab.llvm.org/buildbot/#/builders/239/builds/7001
Use malloc and free throughout this file to ensure that all kinds of
memory buffers use the proper pairing.
Commit: 332de4b2677ce7a95cc2df30d761fbb55376fe07
https://github.com/llvm/llvm-project/commit/332de4b2677ce7a95cc2df30d761fbb55376fe07
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M offload/CMakeLists.txt
M openmp/CMakeLists.txt
Log Message:
-----------
[Offload] Correctly reject building on unsupported architectures (#92276)
Summary:
Previously we had this `LIBOMPTARGET_ENABLED` variable which controlled
including `libomptarget`. This is now redundant since it's controlled by
`LLVM_ENABLE_RUNTIMES`. However, this had the extra effect of not
building it when given unsupported targets. THis was lost during the
move to `offload`. This patch moves this logic back and makes the
`offload` target just quit without doing anything if used on an
unsupported architecture.
https://github.com/llvm/llvm-project/issues/91881
https://github.com/llvm/llvm-project/issues/91819
---------
Co-authored-by: Sylvestre Ledru <sylvestre at debian.org>
Commit: be10746f3a4381456eb5082a968766201c17ab5d
https://github.com/llvm/llvm-project/commit/be10746f3a4381456eb5082a968766201c17ab5d
Author: John Ericson <John.Ericson at Obsidian.Systems>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/OpenBSD.cpp
Log Message:
-----------
[clang] Don't assume location of compiler-rt for OpenBSD (#92183)
If the `/usr/lib/...` path where compiler-rt is conventionally installed
on OpenBSD does not exist, fall back to the regular logic to find it.
This is a minimal change to allow OpenBSD cross compilation from a
toolchain that doesn't adopt all of OpenBSD's monorepo's conventions.
Commit: e2d74a25eb562b117974add098ba2b9dd4cfc7f5
https://github.com/llvm/llvm-project/commit/e2d74a25eb562b117974add098ba2b9dd4cfc7f5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/cmp16.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs-x32.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
M llvm/test/CodeGen/X86/memcmp-optsize.ll
M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
M llvm/test/CodeGen/X86/memcmp-pgso.ll
M llvm/test/CodeGen/X86/memcmp-x32.ll
M llvm/test/CodeGen/X86/memcmp.ll
Log Message:
-----------
[X86] EmitCmp - always use cmpw with foldable loads (#92251)
By default, EmitCmp avoids cmpw with i16 immediates due to 66/67h length-changing prefixes causing stalls, instead extending the value to i32 and using a cmpl with a i32 immediate, unless it has the TuningFastImm16 flag or we're building for optsize/minsize.
However, if we're loading the value for comparison, the performance costs of the decode stalls are likely to be exceeded by the impact of the load latency of the folded load, the shorter encoding and not needing an extra register to store the ext-load.
This matches the behaviour of gcc and msvc.
Fixes #90355
Commit: 34f33babc28d240d4ceee69f9afe7d6f5e8ac29b
https://github.com/llvm/llvm-project/commit/34f33babc28d240d4ceee69f9afe7d6f5e8ac29b
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/TestGdbRemoteCompletion.py
Log Message:
-----------
[lldb] Fixed the TestGdbRemoteCompletion test (#92268)
Do not try to run lldb-server on localhost in case of the remote target.
Commit: fc1df55bcf9b6cc2dec157bcd188b471bc91b945
https://github.com/llvm/llvm-project/commit/fc1df55bcf9b6cc2dec157bcd188b471bc91b945
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
Log Message:
-----------
[lldb][Windows] Fixed the test gdb_remote_client/TestGDBRemotePlatformFile (#92088)
The tests `test_file_permissions` and `test_file_permissions_fallback`
are disabled for Windows target. These tests use MockGDBServerResponder
and do not depend on the real target. These tests failed in case of
Windows host and Linux target. Disable them for Windows host too.
Commit: 2ec85713bd910c5b22ce090798ca00f742d5eb14
https://github.com/llvm/llvm-project/commit/2ec85713bd910c5b22ce090798ca00f742d5eb14
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M openmp/CMakeLists.txt
Log Message:
-----------
[OpenMP] Add back in `ENABLE_LIBOMPTARGET' definition
Summary:
Even though we moved `libomptarget` this is still present in `omp.h` and
can't be removed.
Commit: 4525f442fadb7cc44cc2eaede2c8ac6ba15bdf78
https://github.com/llvm/llvm-project/commit/4525f442fadb7cc44cc2eaede2c8ac6ba15bdf78
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP] Don't pass clauses to op-generating functions anymore (#90108)
Remove parameter `const List<Clause> &clauses` from functions that take
construct queue. The clauses should now be accessed from the construct
queue.
Commit: eb822dc25853299ea81166f9bb8a43436ab8b0c8
https://github.com/llvm/llvm-project/commit/eb822dc25853299ea81166f9bb8a43436ab8b0c8
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/test/API/functionalities/completion/TestCompletion.py
Log Message:
-----------
[lldb] Fixed the TestCompletion test running on a remote target (#92281)
Install the image to the remote target if necessary.
Commit: 7645269710493c188d1d270b9e4e085b3e92b9b0
https://github.com/llvm/llvm-project/commit/7645269710493c188d1d270b9e4e085b3e92b9b0
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/test/API/functionalities/postmortem/netbsd-core/TestNetBSDCore.py
Log Message:
-----------
[lldb] Fixed the TestNetBSDCore test (#92285)
TestNetBSDCore.py contains 3 classes with the same test names
test_aarch64 and test_amd64. It causes conflicts because the same build
dir. Add suffixes to avoid conflicts.
Commit: d92c67784f21063d6334a009dbf4f9e0f8217b41
https://github.com/llvm/llvm-project/commit/d92c67784f21063d6334a009dbf4f9e0f8217b41
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py
Log Message:
-----------
[lldb][Windows] Fixed the TestIOHandlerResizeNoEditline test (#92286)
This test caused python crash on Windows x86_64 host with the exit code
0xC0000409 (STATUS_STACK_BUFFER_OVERRUN). Close the input stream before
exit to avoid this crash.
Commit: 217668f641e82f901645f428ae0d07a3c01e9a8a
https://github.com/llvm/llvm-project/commit/217668f641e82f901645f428ae0d07a3c01e9a8a
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/Support/Error.h
M llvm/lib/Bitstream/Reader/BitstreamReader.cpp
M llvm/lib/Object/COFFObjectFile.cpp
M llvm/lib/Object/WindowsResource.cpp
Log Message:
-----------
[nfc] Allow forwarding `Error` returns from `Expected` callers (#92208)
On a few compilers (clang 11/12 for example [1]), the following does not
result in a copy elision, and since `Error`'s copy dtor is elided,
results in a compile error:
```
Expect<Something> foobar() {
...
if (Error E = aCallReturningError())
return E;
...
}
```
Moving `E` would, conversely, result in the pessimizing-move warning on
more recent clangs ("moving a local object in a return statement
prevents copy elision")
We just need to make the `Expected` ctor taking an `Error` take it as a
r-value reference.
[1] https://lab.llvm.org/buildbot/#/builders/54/builds/10505
Commit: 0647d1035cb208195e002b38089b82004b6f7b92
https://github.com/llvm/llvm-project/commit/0647d1035cb208195e002b38089b82004b6f7b92
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
Log Message:
-----------
[RISCV] Remove unneeded casts from int64_t to uint64_t in RISCVMatInt.cpp. NFC
Most of these were to avoid undefined behavior if a shift left
changed the sign of the result. I don't think its possible to change
the sign of the result here. We're shifting left by 12 after an arithmetic
right shift by more than 12. The bits we are shifting out with the left
shift are guaranteed to be sign bits.
Also use SignExtend64<32> to force upper bits to all 1s instead of an
Or. We know the value isUInt<32> && !isInt<32> which means bit 31 is set.
Commit: ec36145f58d2cf93d86bc4e3be617ad7d7d8ace7
https://github.com/llvm/llvm-project/commit/ec36145f58d2cf93d86bc4e3be617ad7d7d8ace7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
Log Message:
-----------
[LAA] Add tests with invariant dependences before strided ones.
Add extra test coverage for loops with strided and invariant accesses to
the same object.
Commit: c19f2c773b0e23fd623502888894add822079f63
https://github.com/llvm/llvm-project/commit/c19f2c773b0e23fd623502888894add822079f63
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A llvm/include/llvm/ProfileData/PGOCtxProfReader.h
A llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/CMakeLists.txt
A llvm/lib/ProfileData/PGOCtxProfReader.cpp
A llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/unittests/ProfileData/CMakeLists.txt
A llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
Reapply "[ctx_profile] Profile reader and writer" (#92199)
This reverts commit 03c7458a3603396d2d0e1dee43399d3d1664a264.
One of the problems was addressed in #92208
The other problem: needed to add `BitstreamReader` to the list of
link deps of `LLVMProfileData`
Commit: df5804aec48f99704ef26c740e19deaa4072fe27
https://github.com/llvm/llvm-project/commit/df5804aec48f99704ef26c740e19deaa4072fe27
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn
Log Message:
-----------
[gn build] Port c19f2c773b0e
Commit: 468357114c64633651ebcc5ef17161990da25a78
https://github.com/llvm/llvm-project/commit/468357114c64633651ebcc5ef17161990da25a78
Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
R flang/include/flang/Optimizer/CodeGen/CGOps.h
M flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/CodeGen/CGOps.cpp
A flang/lib/Optimizer/CodeGen/CGOps.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/test/Fir/declare-codegen.fir
M flang/test/Fir/dummy-scope-codegen.fir
R flang/test/Transforms/debug-local-var-2.f90
R flang/test/Transforms/debug-local-var.f90
Log Message:
-----------
Revert "[flang] Initial debug info support for local variables. (#909… (#92302)
…05)"
This reverts commit 61da6366d043792d7db280ce9edd2db62516e0e8.
Update #90905 was causing many tests to fail.
See comments in #90905.
Commit: 411bf385ba27f15145c635c7d8ff2701fe8de5b9
https://github.com/llvm/llvm-project/commit/411bf385ba27f15145c635c7d8ff2701fe8de5b9
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/tools/lldb-dap/README.md
Log Message:
-----------
[lldb-dap] Include npm install in the extension installation steps (#92028)
Otherwise the build step fails due to missing dependencies.
Commit: 2c54bf497f7d7aecd24f4b849ee08e37a3519611
https://github.com/llvm/llvm-project/commit/2c54bf497f7d7aecd24f4b849ee08e37a3519611
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
R llvm/include/llvm/ProfileData/PGOCtxProfReader.h
R llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/CMakeLists.txt
R llvm/lib/ProfileData/PGOCtxProfReader.cpp
R llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/unittests/ProfileData/CMakeLists.txt
R llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
Revert "Reapply "[ctx_profile] Profile reader and writer" (#92199)"
This reverts commit c19f2c773b0e23fd623502888894add822079f63.
Broke the gcc-7 bot.
Commit: 9ae2177843f681c70ad89506155a2cb83eeebfd4
https://github.com/llvm/llvm-project/commit/9ae2177843f681c70ad89506155a2cb83eeebfd4
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
Log Message:
-----------
[RISCV] Handle undef AVLs in RISCVInsertVSETVLI
Before #91440 a VSETVLIInfo would have had an IMPLICIT_DEF defining
instruction, but now we look up a VNInfo which doesn't exist, which
triggers an assertion failure. Mark these undef AVLs as AVLIsIgnored.
Commit: 378c9e952a3d198873677fb2d2afb33695185b72
https://github.com/llvm/llvm-project/commit/378c9e952a3d198873677fb2d2afb33695185b72
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn
Log Message:
-----------
[gn build] Port 2c54bf497f7d
Commit: d542eb7aa830e94490b943a3ea0937506fece15b
https://github.com/llvm/llvm-project/commit/d542eb7aa830e94490b943a3ea0937506fece15b
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/test/CXX/drs/cwg11xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg25xx.cpp
A clang/test/CXX/drs/cwg2630.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg9xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add tests for CWG issues regarding completeness of types (#92113)
This patch covers the following Core issues:
[CWG930](https://cplusplus.github.io/CWG/issues/930.html) "`alignof`
with incomplete array type"
[CWG1110](https://cplusplus.github.io/CWG/issues/1110.html) "Incomplete
return type should be allowed in `decltype` operand"
[CWG1340](https://cplusplus.github.io/CWG/issues/1340.html) "Complete
type in member pointer expressions"
[CWG1352](https://cplusplus.github.io/CWG/issues/1352.html)
"Inconsistent class scope and completeness rules"
[CWG1458](https://cplusplus.github.io/CWG/issues/1458.html) "Address of
incomplete type vs `operator&()`"
[CWG1824](https://cplusplus.github.io/CWG/issues/1824.html)
"Completeness of return type vs point of instantiation"
[CWG1832](https://cplusplus.github.io/CWG/issues/1832.html) "Casting to
incomplete enumeration"
[CWG2304](https://cplusplus.github.io/CWG/issues/2304.html) "Incomplete
type vs overload resolution"
[CWG2310](https://cplusplus.github.io/CWG/issues/2310.html) "Type
completeness and derived-to-base pointer conversions"
[CWG2430](https://cplusplus.github.io/CWG/issues/2430.html)
"Completeness of return and parameter types of member functions"
[CWG2512](https://cplusplus.github.io/CWG/issues/2512.html) "`typeid`
and incomplete class types"
[CWG2630](https://cplusplus.github.io/CWG/issues/2630.html) "Syntactic
specification of class completeness"
[CWG2718](https://cplusplus.github.io/CWG/issues/2718.html) "Type
completeness for derived-to-base conversions"
[CWG2857](https://cplusplus.github.io/CWG/issues/2857.html)
"Argument-dependent lookup with incomplete class types"
Current wording for CWG1110 came from
[P0135R1](https://wg21.link/p0135R1) "Wording for guaranteed copy
elision through simplified value categories".
As a drive-by fix, I fixed incorrect status of CWG1815, test for which
was added in #87933. CC @yronglin
Commit: 64b3cdc0220174c1af236a42b227a5226f0f12c5
https://github.com/llvm/llvm-project/commit/64b3cdc0220174c1af236a42b227a5226f0f12c5
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
Log Message:
-----------
[libc] Fix GPU handling for unsupported backends (#92271)
Summary:
If the user does not have the selected backend enabled, we should still
be able to build the LLVM-IR an ddistribute it. This patch makes logic
to suppress tests if the backend can't build it, as well as removing a
flag for the building that's only present int he NVPTX backend.
Commit: 4ab2ac22d0a481460536f673377b644702cb3372
https://github.com/llvm/llvm-project/commit/4ab2ac22d0a481460536f673377b644702cb3372
Author: Patrick O'Neill <patrick at rivosinc.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/RISCV/pr92193.ll
Log Message:
-----------
[DAGCombiner] Mark vectors as not AllAddOne/AllSubOne on type mismatch (#92195)
Fixes #92193.
Commit: fc8775e2142c6bd7876831c27c3fbef0d64860bc
https://github.com/llvm/llvm-project/commit/fc8775e2142c6bd7876831c27c3fbef0d64860bc
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
A llvm/include/llvm/ProfileData/PGOCtxProfReader.h
A llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/CMakeLists.txt
A llvm/lib/ProfileData/PGOCtxProfReader.cpp
A llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/unittests/ProfileData/CMakeLists.txt
A llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
"Reapply "[ctx_profile] Profile reader and writer" (#92199)"
This reverts commit 2c54bf497f7d7aecd24f4b849ee08e37a3519611.
Fixed gcc-7 issue.
Commit: 2fb92520cba15afff6f25a1f0b959ef39912fa0a
https://github.com/llvm/llvm-project/commit/2fb92520cba15afff6f25a1f0b959ef39912fa0a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ProfileData/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn
Log Message:
-----------
[gn build] Port fc8775e2142c
Commit: 24c39261e62d9f99bab91edf67bb9607a681b038
https://github.com/llvm/llvm-project/commit/24c39261e62d9f99bab91edf67bb9607a681b038
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][test] Add tests for parsing profiles using RISCVISAInfo::parseArchString
Commit: 891d687137ad9bb3b4efae116f9539addb5be0ea
https://github.com/llvm/llvm-project/commit/891d687137ad9bb3b4efae116f9539addb5be0ea
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/test/Driver/riscv-profiles.c
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Gate unratified profiles behind -menable-experimental-extensions (#92167)
As discussed in the last sync-up call, because these profiles are not
yet finalised they shouldn't be exposed to users unless they opt-in to
them (much like experimental extensions). We may later want to add a
more specific flag, but reusing `-menable-experimental-extensions`
solves the immediate problem.
This is implemented using the new support for marking profiles s
experimental added in #91993 to move the unratified profiles to
RISCVExperimentalProfile and making the necessary changes to logic in
RISCVISAInfo to handle this.
Commit: 80d9ae9cbf692a73404995a88665af7166c7e8ad
https://github.com/llvm/llvm-project/commit/80d9ae9cbf692a73404995a88665af7166c7e8ad
Author: Samira Bazuzi <bazuzi at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
Log Message:
-----------
[clang][dataflow] Fully support Environment construction for Stmt analysis. (#91616)
Assume in fewer places that the analysis is of a `FunctionDecl`, and
initialize the `Environment` properly for `Stmt`s.
Moves constructors for `Environment` to header to make it more obvious
that there are only minor differences between them and very little
initialization in the constructors.
Tested with check-clang-tooling.
Commit: ee765b0c94df7e636d9739216b1646d3a2d3b5db
https://github.com/llvm/llvm-project/commit/ee765b0c94df7e636d9739216b1646d3a2d3b5db
Author: Tim Besard <tim.besard at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Transforms/Internalize/lists.ll
Log Message:
-----------
[NewPM] Add pass options for `InternalizePass` to preserve GVs. (#91334)
This PR adds a string interface to `InternalizePass`' `MustPreserveGV`
option, which is a callback function to indicate if a GV is not to be
internalized. This is for use in LLVM.jl, the Julia wrapper for LLVM,
which uses the C API and is thus required to use the PassBuilder string
API for building NewPM pipelines.
Commit: ec1f28dc97ce22ba5b3e6f95ff84414dfbda46b0
https://github.com/llvm/llvm-project/commit/ec1f28dc97ce22ba5b3e6f95ff84414dfbda46b0
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/waitcnt-preexisting.mir
Log Message:
-----------
AMDGPU/gfx12: avoid crashing on legacy waitcnt intrinsics (#92306)
They *are* still accepted by the HW but have a conservative effect.
Leave them untouched since handling them would complicate the logic a
bit, and developers who code to such a low level really need to revisit
what they're doing anyway.
Commit: 81d20d861e48f5202c9f79b47dee244674fb9121
https://github.com/llvm/llvm-project/commit/81d20d861e48f5202c9f79b47dee244674fb9121
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/src/LegacyAPI.cpp
M offload/src/OpenMP/API.cpp
M offload/src/OpenMP/Mapping.cpp
M offload/src/omptarget.cpp
Log Message:
-----------
[Offload][NFC] Fix warning messages in runtime
Summary:
These are lots of random warnings due to inconsistent initialization or
signedness.
Commit: 83f065d582977aca5c037c27a7290f30850bdd35
https://github.com/llvm/llvm-project/commit/83f065d582977aca5c037c27a7290f30850bdd35
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] static_assert SupportedProfiles and SupportedExperimentalProfiles are sorted
Just as we do for the arrays of extension names.
Commit: e1ed138a67a92ef1ff0214ca198094be13045090
https://github.com/llvm/llvm-project/commit/e1ed138a67a92ef1ff0214ca198094be13045090
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port #92199
Commit: 8530b1c464ae9af4a5c8be145a8db043798634f6
https://github.com/llvm/llvm-project/commit/8530b1c464ae9af4a5c8be145a8db043798634f6
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/docs/use/variable.rst
M lldb/source/Core/FormatEntity.cpp
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/Makefile
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/TestCustomSummaryLLVMFormat.py
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/main.c
Log Message:
-----------
[lldb] Support custom LLVM formatting for variables (#91868)
Re-apply https://github.com/llvm/llvm-project/pull/81196, with a fix that handles the
absence of llvm formatting:
https://github.com/llvm/llvm-project/pull/91868/commits/3ba650e91eded3543764f37921dcce3b
b47d425f
Commit: 1daa7fd3fadd17e61d9dfa56f84228617c5514d9
https://github.com/llvm/llvm-project/commit/1daa7fd3fadd17e61d9dfa56f84228617c5514d9
Author: Amara Emerson <amara at apple.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/test/CodeGen/AArch64/sme-support-routines-calling-convention.ll
Log Message:
-----------
[AArch64][SME] Remove Darwin compile error for ABI support routine calls.
These are allowed for Darwin and use the same ABI.
Commit: 537a94b2ef67cd96a4b3a9b5612ea726a91c602b
https://github.com/llvm/llvm-project/commit/537a94b2ef67cd96a4b3a9b5612ea726a91c602b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Transforms/Internalize/lists.ll
Log Message:
-----------
Revert "[NewPM] Add pass options for `InternalizePass` to preserve GVs." (#92321)
Reverts llvm/llvm-project#91334
This broke the gcc7 build.
I suspect the issue is a mismatch on user-defined move constructor on
the return: `return PreservedGVs;` does not match the return type of the
function.
Commit: f97f039e0bb7bb60c9cc437f678059c5ee19c8da
https://github.com/llvm/llvm-project/commit/f97f039e0bb7bb60c9cc437f678059c5ee19c8da
Author: klensy <klensy at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lld/test/MachO/install-name.s
M lld/test/MachO/objc-methname.s
Log Message:
-----------
[lld,test] Fix few FileCheck annotation typos (#92238)
Commit: 00179e92c147e16de1f7c653f88c8805aef820c1
https://github.com/llvm/llvm-project/commit/00179e92c147e16de1f7c653f88c8805aef820c1
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add new dependencies (#92323)
This also fixes building ... on Linux. Seems like target_compatible_with
isn't enough but you also need a manual tag.
Commit: 050593fc4f9a7f2b9450ee093c4638b8539315b7
https://github.com/llvm/llvm-project/commit/050593fc4f9a7f2b9450ee093c4638b8539315b7
Author: Andrey Ali Khan Bolshakov <bolsh.andrey at yandex.ru>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/coroutine.cpp
Log Message:
-----------
[Coverage] Handle `CoroutineSuspendExpr` correctly (#88898)
This avoids visiting `co_await` or `co_yield` operand 5 times (it is
repeated under transformed awaiter subexpression, and under
`await_ready`, `await_suspend`, and `await_resume` generated call
subexpressions).
Commit: 5ff6c6542ac451daaed6c417e481e313165d3454
https://github.com/llvm/llvm-project/commit/5ff6c6542ac451daaed6c417e481e313165d3454
Author: Andrey Ali Khan Bolshakov <bolsh.andrey at yandex.ru>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
A clang/test/CoverageMapping/decomposition.cpp
Log Message:
-----------
[Coverage] Handle array decomposition correctly (#88881)
`ArrayInitLoopExpr` AST node has two occurences of its as-written
initializing expression in its subexpressions through a non-unique
`OpaqueValueExpr`. It causes double-visiting of the initializing
expression if not handled explicitly, as discussed in #85837.
Commit: aa889d7783af050ce5d19af67c7225ee119d625e
https://github.com/llvm/llvm-project/commit/aa889d7783af050ce5d19af67c7225ee119d625e
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lld/test/ELF/arm-exidx-shared.s
M lld/test/ELF/mips-tls-hilo.s
M lld/test/ELF/ppc32-reloc-rel.s
M lld/test/ELF/ppc64-pcrel-call-to-extern.s
M lld/test/ELF/ppc64-toc-relax-ifunc.s
M lld/test/ELF/riscv-gp.s
Log Message:
-----------
[ELF,test] Fix FileCheck prefixes
Most violations are stale and should be removed while a few can be
adjusted.
Reported at #92238
Commit: 0585eed9409c1362f7deaabc42c1d3c3f55c4b6c
https://github.com/llvm/llvm-project/commit/0585eed9409c1362f7deaabc42c1d3c3f55c4b6c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Support publishing to the VSCode market place (#92320)
Update the publisher and add a publish script that we can use from
Github actions.
Commit: e00a3ccf43563209b71c5b68f56d83f4052dca63
https://github.com/llvm/llvm-project/commit/e00a3ccf43563209b71c5b68f56d83f4052dca63
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/include/flang/Frontend/FrontendActions.h
M flang/include/flang/Frontend/FrontendOptions.h
M flang/include/flang/Semantics/unparse-with-symbols.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/unparse-with-symbols.cpp
A flang/test/Driver/unparse-with-modules.f90
Log Message:
-----------
[flang] New -fdebug-unparse-with-modules option (#91660)
This option is a compilation action that parses a source file and
performs semantic analysis on it, like the existing -fdebug-unparse
option does. Its output, however, is preceded by the effective contents
of all of the non-intrinsic modules on which it depends but does not
define, transitively preceded by the closure of all of those modules'
dependencies.
The output from this option is therefore the analyzed parse tree for a
source file encapsulated with all of its non-intrinsic module
dependencies. This output may be useful for extracting code from large
applications for use as an attachment to a bug report, or as input to a
test case reduction tool for problem isolation.
Commit: 667d12f86e626173726e87e101626a9060b8d967
https://github.com/llvm/llvm-project/commit/667d12f86e626173726e87e101626a9060b8d967
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeduction.cpp
A clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.partial/p3.cpp
Log Message:
-----------
[Clang][Sema] Do not mark template parameters in the exception specification as used during partial ordering (#91534)
We do not deduce template arguments from the exception specification
when determining the primary template of a function template
specialization or when taking the address of a function template.
Therefore, this patch changes `isAtLeastAsSpecializedAs` such that we do
not mark template parameters in the exception specification as 'used'
during partial ordering (per [temp.deduct.partial]
p12) to prevent the following from being ambiguous:
```
template<typename T, typename U>
void f(U) noexcept(noexcept(T())); // #1
template<typename T>
void f(T*) noexcept; // #2
template<>
void f<int>(int*) noexcept; // currently ambiguous, selects #2 with this patch applied
```
Although there is no corresponding wording in the standard (see core issue filed here
https://github.com/cplusplus/CWG/issues/537), this seems
to be the intended behavior given the definition of _deduction
substitution loci_ in [temp.deduct.general] p7 (and EDG does the same thing).
Commit: 325d1d0b73aa6bff0ce4174b45a7601f6b32a793
https://github.com/llvm/llvm-project/commit/325d1d0b73aa6bff0ce4174b45a7601f6b32a793
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/lib/Semantics/check-purity.cpp
A flang/test/Semantics/pure02.f90
Log Message:
-----------
[flang] Fix purity checking for internal subprograms (#91759)
ELEMENTAL internal subprograms are pure unless explicitly IMPURE.
Commit: c227bf1b217598066acd32de8c9a75c2e0928f89
https://github.com/llvm/llvm-project/commit/c227bf1b217598066acd32de8c9a75c2e0928f89
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/frelaxed-template-template-args.cpp
Log Message:
-----------
[clang] Create new warning group for deprecation of '-fno-relaxed-template-template-args' (#92324)
This allows the warning to be disabled in isolation, as it helps when
treating them as errors.
Commit: 7605ad8a2f95e3b37de83e7fb3d320efc74e0ccc
https://github.com/llvm/llvm-project/commit/7605ad8a2f95e3b37de83e7fb3d320efc74e0ccc
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/entry01.f90
M flang/test/Semantics/resolve102.f90
Log Message:
-----------
[flang] Always check procedure characterizability (#92008)
When a procedure is defined with a subprogram but never referenced in a
compilation unit, it may not be characterized until lowering, and any
errors in characterization then may crash the compiler. So always ensure
that procedure definitions are characterizable in declaration checking.
Fixes https://github.com/llvm/llvm-project/issues/91845.
Commit: 463f58a564a8d136b3e5d56d23bb86b99ab75245
https://github.com/llvm/llvm-project/commit/463f58a564a8d136b3e5d56d23bb86b99ab75245
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
A flang/test/Semantics/bind-c15.f90
Log Message:
-----------
[flang] Further work on relaxing BIND(C) enforcement (#92029)
When a BIND(C) interface or subprogram has a dummy argument whose
derived type is not BIND(C) but meets the constraints and requirements
of a BIND(C) type, accept it with a warning.
Commit: 5bbb63bd6d6d3929de643fcd88babbda20c97b69
https://github.com/llvm/llvm-project/commit/5bbb63bd6d6d3929de643fcd88babbda20c97b69
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/executable-parsers.cpp
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/resolve-directives.h
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Parser/cuf-sanity-common
M flang/test/Parser/cuf-sanity-unparse.CUF
A flang/test/Semantics/reduce.cuf
Log Message:
-----------
[flang] Parse REDUCE clauses in !$CUF KERNEL DO (#92154)
A !$CUF KERNEL DO directive is allowed to have advisory REDUCE clauses
similar to those in OpenACC and DO CONCURRENT. Parse and represent them.
Semantic validation will follow.
Commit: 3ddfb6807e905868a3a9df71fa5ea87309181270
https://github.com/llvm/llvm-project/commit/3ddfb6807e905868a3a9df71fa5ea87309181270
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M flang/lib/Evaluate/fold.cpp
Log Message:
-----------
[flang] Prevent crash from unfoldable TRANSFER() (#92282)
When the MOLD= argument's type is polymorphic, the type of the result
cannot be known at compilation time, so the call cannot be folded even
when the SOURCE= is constant.
Fixes https://github.com/llvm/llvm-project/issues/92264.
Commit: c87b1ca4edefe3c267a20f28eaf79f6b83d36c66
https://github.com/llvm/llvm-project/commit/c87b1ca4edefe3c267a20f28eaf79f6b83d36c66
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/test/tools/llvm-profdata/trace-limit.proftext
Log Message:
-----------
[InstrProf] Fix bug when clearing traces with samples (#92310)
The `--temporal-profile-max-trace-length=0` flag in the `llvm-profdata
merge` command is used to remove traces from a profile. There was a bug
where traces would not be cleared if the profile was already sampled.
This patch fixes that.
Commit: c00e012bcf5da384a3e7339dc2e046779b339063
https://github.com/llvm/llvm-project/commit/c00e012bcf5da384a3e7339dc2e046779b339063
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
Log Message:
-----------
[ctx_profile] Follow the pattern elsewhere for choosing the block IDs
This was an oversight in #91859. Using the subblock ID mechanism
other places that use the bitstream APIs (e.g. `BitstreamRemarkSerializer`) use.
Commit: 772b1b0cb26c66804d0a7e416dc7a5742b7f8db2
https://github.com/llvm/llvm-project/commit/772b1b0cb26c66804d0a7e416dc7a5742b7f8db2
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
Log Message:
-----------
[scudo] Move the chunk update into functions (#83493)
The code paths for mte enabled and disabled were interleaving and which
increases the difficulty of reading each path in both source level and
assembly level. In this change, we move the parts that they have
different logic into functions and minor refactors on the code
structure.
Commit: c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba
https://github.com/llvm/llvm-project/commit/c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/macro-rept.s
Log Message:
-----------
[MCAsmParser] .rept/.irp/.irpc: remove excess tail EOL in expansion
```
.irp foo,1
nop
.endr
nop
```
expands to an excess EOL between two nop lines. Remove the excess EOL.
Commit: 26fabdded34f8cea490060a70188a07ad6b76b8b
https://github.com/llvm/llvm-project/commit/26fabdded34f8cea490060a70188a07ad6b76b8b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/MemProf.cpp
M llvm/unittests/ProfileData/MemProfTest.cpp
Log Message:
-----------
[memprof] Pass FrameIdConverter and CallStackIdConverter by reference (#92327)
CallStackIdConverter sets LastUnmappedId when a mapping failure
occurs. Now, since toMemProfRecord takes an instance of
CallStackIdConverter by value, namely std::function, the caller of
toMemProfRecord never receives the mapping failure that occurs inside
toMemProfRecord. The same problem applies to FrameIdConverter.
The patch fixes the problem by passing FrameIdConverter and
CallStackIdConverter by reference, namely llvm::function_ref.
While I am it, this patch deletes the copy constructor and copy
assignment operator to avoid accidental copies.
Commit: fa750f09be6966de7423ddce1af7d1eaf817182c
https://github.com/llvm/llvm-project/commit/fa750f09be6966de7423ddce1af7d1eaf817182c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
Log Message:
-----------
Revert "[MC] Remove UseAssemblerInfoForParsing"
This reverts commit 03c53c69a367008da689f0d2940e2197eb4a955c.
This causes very large compile-time regressions in some cases,
e.g. sqlite3 at O0 regresses by 5%.
Commit: a9763deb2f3f20d789b947ec69360c258377db6a
https://github.com/llvm/llvm-project/commit/a9763deb2f3f20d789b947ec69360c258377db6a
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
A llvm/test/DebugInfo/AArch64/merge-locations-legalizer.mir
Log Message:
-----------
Merge sourcelocation in CSEMIRBuilder::getDominatingInstrForID. (#90922)
Make sure to merge the sourcelocation of the Dominating Instruction that
is hoisted in a basic block in the CSEMIRBuilder in the legalizer pass.
If this is not done, we can have a incorrect line table entry that makes
the instruction pointer jump around.
For example the line table without this patch looks like:
```
Address Line Column File ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- ------- -------------
0x0000000000000000 0 0 1 0 0 0 is_stmt
0x0000000000000010 11 14 1 0 0 0 is_stmt prologue_end
0x0000000000000028 12 1 1 0 0 0 is_stmt
0x000000000000002c 12 15 1 0 0 0
0x000000000000004c 12 13 1 0 0 0
0x000000000000005c 13 1 1 0 0 0 is_stmt
0x0000000000000064 12 13 1 0 0 0 is_stmt
0x000000000000007c 13 7 1 0 0 0 is_stmt
0x00000000000000c8 13 1 1 0 0 0
0x00000000000000e8 13 1 1 0 0 0 epilogue_begin
0x00000000000000f8 13 1 1 0 0 0 end_sequence
```
The line table entry for 0x000000000000005c should be 0
After this patch, the line table looks like:
```
Address Line Column File ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- ------- -------------
0x0000000000000000 0 0 1 0 0 0 is_stmt
0x0000000000000010 11 14 1 0 0 0 is_stmt prologue_end
0x0000000000000028 12 1 1 0 0 0 is_stmt
0x000000000000002c 12 15 1 0 0 0
0x000000000000004c 12 13 1 0 0 0
0x000000000000005c 0 0 1 0 0 0
0x0000000000000064 12 13 1 0 0 0
0x000000000000007c 13 7 1 0 0 0 is_stmt
0x00000000000000c8 13 1 1 0 0 0
0x00000000000000e8 13 1 1 0 0 0 epilogue_begin
0x00000000000000f8 13 1 1 0 0 0 end_sequence
```
Commit: 72200fcc346bee1830d9e640e42d717a55acd74c
https://github.com/llvm/llvm-project/commit/72200fcc346bee1830d9e640e42d717a55acd74c
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[analyzer] Check C++ base or member initializer in WebKit checkers. (#92220)
Co-authored-by: Ryosuke Niwa <rniwa at apple.com>
Commit: f0b3654701bde1cf7821d60698b42383edaff9f3
https://github.com/llvm/llvm-project/commit/f0b3654701bde1cf7821d60698b42383edaff9f3
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Transforms/LoopUnroll/X86/znver3.ll
Log Message:
-----------
[LoopUnroll] Clamp PartialThreshold for large LoopMicroOpBufferSize (#67657)
The znver3/znver4 scheduler models are outliers, specifying very large
LoopMicroOpBufferSizes at 512, while typical values for other subtargets
are on the order of ~50. Even if this information is
micro-architecturally correct (*), this does not mean that we want to
runtime unroll all loops to a size that completely fills the loop
buffer. Unless this is the single hot loop in the entire application,
the massive code size increase will bust the micro-op and instruction
caches.
Protect against this by clamping to the default PartialThreshold of 150,
which is the same as the default full-unroll threshold and half the
aggressive full-unroll threshold. Allowing more partial unrolling than
full unrolling certainly does not make sense.
(*) I strongly doubt that this is actually correct -- I believe this may
derive from an incorrect reading of Agner Fog's micro-architecture
guide. The number 4096 that was originally used here is the size of the
general micro-op cache, not that of a loop buffer. A separate loop
buffer is not listed for the Zen microarchitecture. Comparing this to
the listing for Skylake, it has a 1536 micro-op buffer, but only a 64
micro-op loopback buffer, with a note that it's rarely fully utilized.
Our scheduling model specifies LoopMicroOpBufferSize of 50 in that case.
Commit: f60c699d37c41c46dd0be4ec98e5b4d74e73b2b7
https://github.com/llvm/llvm-project/commit/f60c699d37c41c46dd0be4ec98e5b4d74e73b2b7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
[OpenMP] Fix intermediate header locations for OpenMP
Summary:
A previous patch moved the code here and accidentally overrwrote the
include path that the LSP interface used. This caused incorrect errors
when using clangd with the offload project. This patch removes the
unnecessary header and makes sure we include the correct folder.
Commit: 1595988ee6f9732e7ea79928af8a470ad5ef7dbe
https://github.com/llvm/llvm-project/commit/1595988ee6f9732e7ea79928af8a470ad5ef7dbe
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-lambda.cpp
A clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/CXX/over/over.built/p10.cpp
M clang/test/CXX/over/over.built/p11.cpp
A clang/test/CXX/over/over.oper/over.oper.general/p1.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
M clang/test/Frontend/noderef_templates.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaTemplate/class-template-spec.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
Reapply "[Clang][Sema] Earlier type checking for builtin unary operators (#90500)" (#92283)
This patch reapplies #90500, addressing a bug which caused binary
operators with dependent operands to be incorrectly rebuilt by
`TreeTransform`.
Commit: 3a4c1b9b4428b08d4475decf74c11e0d328c5842
https://github.com/llvm/llvm-project/commit/3a4c1b9b4428b08d4475decf74c11e0d328c5842
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/pr91418.cppm
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
Log Message:
-----------
[Serialization] Read the initializer for interesting static variables before consuming it (#92218)
Close https://github.com/llvm/llvm-project/issues/91418
Since we load the variable's initializers lazily, it'd be problematic if
the initializers dependent on each other.
For example,
```
SomeType a = ...;
SomeType b = a;
```
Previously, when we load variable `b`, we need to load the initializer,
then we need to load `a`. We can only mark the variable `b` as loaded
after we load `a`. Then `a` is always initialized before `b`. However,
it is not true after we implement lazy loading for initializers.
So here we try to load the initializers of static variables to make sure
they are passed to code generator by order. If we read any thing
interesting, we would consume that before emitting the current
declaration.
Commit: 1dd0d3cf40f21b842dbee107b3d203db9fbaa4ae
https://github.com/llvm/llvm-project/commit/1dd0d3cf40f21b842dbee107b3d203db9fbaa4ae
Author: Dhruv Chawla <dhruvc at nvidia.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/test/CodeGen/AArch64/aarch64-mulv.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/ptradd.ll
M llvm/test/CodeGen/AArch64/reduce-and.ll
M llvm/test/CodeGen/AArch64/reduce-or.ll
M llvm/test/CodeGen/AArch64/reduce-xor.ll
Log Message:
-----------
[AArch64][GISel] Fold COPY(y:gpr, DUP(x:fpr, i)) -> UMOV(y:gpr, x:fpr, i) (#89017)
This patch adds a peephole to AArch64PostSelectOptimize for codegen
that is caused by RegBankSelect limiting G_EXTRACT_VECTOR_ELT
only to FPR registers in both the input and output registers. This can
cause a generation of COPY from FPR to GPR when, for example, the
output register of the G_EXTRACT_VECTOR_ELT is used in a branch
condition.
This was noticed when looking at codegen differences between SDAG and GI
for the s1279 kernel in the TSVC benchmark.
Commit: 31c903890a905d203de3303eaaa63063754ffbca
https://github.com/llvm/llvm-project/commit/31c903890a905d203de3303eaaa63063754ffbca
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Add additional inbounds preservation tests (NFC)
Adding these for NVPTX because for AMDGPU the problematic -1 case
does not get reordered in the first place.
Commit: b4d1a606c7492d827aff6ff0c1c109adff1253b9
https://github.com/llvm/llvm-project/commit/b4d1a606c7492d827aff6ff0c1c109adff1253b9
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Check correct index for non-negativity
We were checking the index of GEP twice, instead of checking both
GEP and PtrGEP.
Commit: 83e61d03deaaa8f4dd8395cfa753af7b38f74b24
https://github.com/llvm/llvm-project/commit/83e61d03deaaa8f4dd8395cfa753af7b38f74b24
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Add tests for multiple indices (NFC)
Commit: e91ea1b5d88805ebf7657da57ca6a7577374e4ad
https://github.com/llvm/llvm-project/commit/e91ea1b5d88805ebf7657da57ca6a7577374e4ad
Author: Jim M. R. Teichgräber <a at teichgraeber.digital>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/test/C/C2x/n2900_n3011.c
M clang/test/C/C2x/n2900_n3011_2.c
M clang/test/Sema/compound-literal.c
Log Message:
-----------
[Clang] Disallow VLA type compound literals (#91891)
C99-C23 6.5.2.5 says: The type name shall specify an object type or an
array of unknown size, but not a variable length array type.
Fixes #89835.
Commit: 90fbc5bbcdc7d35d57157e4cc0459470d473f2ae
https://github.com/llvm/llvm-project/commit/90fbc5bbcdc7d35d57157e4cc0459470d473f2ae
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
Log Message:
-----------
[MCAsmParser] Simplify. NFC
Commit: ce961c5607dd5c2d181117938720e410b406a49f
https://github.com/llvm/llvm-project/commit/ce961c5607dd5c2d181117938720e410b406a49f
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/test/API/functionalities/avoids-fd-leak/TestFdLeak.py
Log Message:
-----------
[lldb] Fixed the TestFdLeak test (#92273)
Use `os.devnull` instead of `/dev/null`.
Commit: b11a6607cb6522c58dfbd5f54239e7daa281368e
https://github.com/llvm/llvm-project/commit/b11a6607cb6522c58dfbd5f54239e7daa281368e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
[clang-format][NFC] Reformat with 18.1.5
Commit: 526553b25131a69d9d6426e17c7b69c2ba27144f
https://github.com/llvm/llvm-project/commit/526553b25131a69d9d6426e17c7b69c2ba27144f
Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Fir/loop01.fir
M flang/test/Lower/array-substring.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Add nsw flag to do-variable increment with a new option (#91579)
This patch adds nsw flag to the increment of do-variables when a new
option is enabled.
NOTE 11.10 in the Fortran 2018 standard says they never overflow.
See also the discussion in #74709 and the following discourse post.
https://discourse.llvm.org/t/rfc-add-nsw-flags-to-arithmetic-integer-operations-using-the-option-fno-wrapv/77584/5
Commit: 3cc445a6608dc0e88f7d5f16501ef827199cf0c4
https://github.com/llvm/llvm-project/commit/3cc445a6608dc0e88f7d5f16501ef827199cf0c4
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
Log Message:
-----------
[MCAsmParser] Simplify expandMacro
The error checking is only for .macro directives. Move it to the .macro
parser to remove one parameter.
Commit: 245b7b65cb341ac5499fabf62f28fdbbc39bc7d7
https://github.com/llvm/llvm-project/commit/245b7b65cb341ac5499fabf62f28fdbbc39bc7d7
Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
A etime-function.mlir
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/time-intrinsic.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/runtime/time-intrinsic.cpp
M flang/runtime/tools.h
A flang/test/Lower/Intrinsics/etime-function.f90
A flang/test/Lower/Intrinsics/etime.f90
A flang/test/Semantics/etime.f90
Log Message:
-----------
[flang] Add ETIME runtime and lowering intrinsics implementation (#90578)
This patch add support of intrinsics GNU extension ETIME
https://github.com/llvm/llvm-project/issues/84205. Some usage info and
example has been added to `flang/docs/Intrinsics.md`. The patch contains
both the lowering and the runtime code and works on both Windows and
Linux.
| System | Implmentation |
|-----------|--------------------|
| Windows| GetProcessTimes |
| Linux |times |
Commit: f2d74002fdad2171b62392eaedf38aac7e4fb50d
https://github.com/llvm/llvm-project/commit/f2d74002fdad2171b62392eaedf38aac7e4fb50d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
Log Message:
-----------
[LegalizeVectorOps][X86] Add ISD::ABDS/ABSDU to the list of opcodes handled by LegalizeVectorOps. (#92332)
The expand code is present, but we were missing the type query code
so the nodes would be ignored until LegalizeDAG.
Commit: 487b43cdc9fff9e370b8ea948c0cc19ca817aa86
https://github.com/llvm/llvm-project/commit/487b43cdc9fff9e370b8ea948c0cc19ca817aa86
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-cost.ll
Log Message:
-----------
[RISCV] Pass subvector type to isLegalInterleavedAccessType in getInterleavedMemoryOpCost. (#91825)
isLegalInterleavedAccessType expects the subvector type, but
getInterleavedMemoryOpCost is called with the full vector type. So we
need to divide by Factor.
Commit: 6bf185920bd6831efc151d7d4158d6390006c50b
https://github.com/llvm/llvm-project/commit/6bf185920bd6831efc151d7d4158d6390006c50b
Author: Lang Hames <lhames at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC] Support visionOS in LC_BUILD_VERSIONs for JITDylibs.
rdar://127846581
Commit: 566fbb450092bf8c9f966a6ab1b0381626e3e535
https://github.com/llvm/llvm-project/commit/566fbb450092bf8c9f966a6ab1b0381626e3e535
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[RISCV] Defer creating RISCVInsertVSETVLI to avoid leak with -stop-after (#92303)
As noted in
https://github.com/llvm/llvm-project/pull/91440#discussion_r1601976425,
if the pass pipeline stops early because of -stop-after any allocated
passes added with insertPass will not be freed if they haven't already
been added.
This was showing up as a failure on the address sanitizer buildbots. We
can fix it by instead passing the pass ID instead so that allocation is
deferred.
Commit: 70a926cfb1d4af326be5afe6419991aeff8f44b2
https://github.com/llvm/llvm-project/commit/70a926cfb1d4af326be5afe6419991aeff8f44b2
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/test/SemaTemplate/cwg2398.cpp
Log Message:
-----------
[clang] NFC: Add a few more interesting test cases for CWG2398
Commit: 5bd8091f4bde53de48329e14d5b955314e6518f4
https://github.com/llvm/llvm-project/commit/5bd8091f4bde53de48329e14d5b955314e6518f4
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
R mlir/docs/Dialects/Polynomial.md
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
Log Message:
-----------
[mlir] fix polynomial docs for MLIR website (#92348)
I built it and confirmed this fixes the issue locally.
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: afce597baa9c6cf46feb30aba97cf832bff32673
https://github.com/llvm/llvm-project/commit/afce597baa9c6cf46feb30aba97cf832bff32673
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/IRDL/IR/CMakeLists.txt
Log Message:
-----------
[mlir] fix IRDL dialect docs (#92349)
Currently the irdl dialect page has no content beyond the header.
By referring to the Ops.td in the CMake config, it pulls in all the
types, attributes, etc., so that the doc generation can include them all
in the page.
Rendered locally to confirm it fixes the issue
![image](https://github.com/llvm/llvm-project/assets/2467754/8758f324-6bc3-4f0e-8fa9-8962cdb0177f)
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 3c2638dae58466f7eb4384bb7f26c9af904bf94c
https://github.com/llvm/llvm-project/commit/3c2638dae58466f7eb4384bb7f26c9af904bf94c
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
R clang/test/Modules/pr91418.cppm
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
Log Message:
-----------
Revert "[Serialization] Read the initializer for interesting static variables before consuming it (#92218)"
This reverts commit 3a4c1b9b4428b08d4475decf74c11e0d328c5842.
This breaks a bot on clang-s390x-linux
Commit: 5c35b63da3c2e3c773580f748129fdec76354ede
https://github.com/llvm/llvm-project/commit/5c35b63da3c2e3c773580f748129fdec76354ede
Author: William G Hatch <william at hatch.uno>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/lib/CAPI/Dialect/LLVM.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/test/CAPI/llvm.c
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
Log Message:
-----------
[MLIR][LLVM] add dwarfAddressSpace to DIDerivedType (#92043)
This field is present in LLVM, but was missing from the MLIR wrapper
type. This addition allows MLIR languages to add proper DWARF info for
GPU programs.
Commit: 6706aebefac3c89d8df55bade022f3aeb55cfeb9
https://github.com/llvm/llvm-project/commit/6706aebefac3c89d8df55bade022f3aeb55cfeb9
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-15 (Wed, 15 May 2024)
Changed paths:
R etime-function.mlir
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/time-intrinsic.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/runtime/time-intrinsic.cpp
M flang/runtime/tools.h
R flang/test/Lower/Intrinsics/etime-function.f90
R flang/test/Lower/Intrinsics/etime.f90
R flang/test/Semantics/etime.f90
Log Message:
-----------
Revert "[flang] Add ETIME runtime and lowering intrinsics implementation" (#92354)
Reverts llvm/llvm-project#90578
This broke the premerge linux buildbot.
Commit: 45cc6bdea97be10793e4cd5f0ef11abd9d19adea
https://github.com/llvm/llvm-project/commit/45cc6bdea97be10793e4cd5f0ef11abd9d19adea
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M .github/CODEOWNERS
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/test/AST/Interp/builtin-functions.cpp
Log Message:
-----------
[clang][Interp] Implement __builtin_shufflevector
Commit: e27f9bb31984927d10995e3d7e5a8fcde60cf5d4
https://github.com/llvm/llvm-project/commit/e27f9bb31984927d10995e3d7e5a8fcde60cf5d4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github] Add keith back to bazel codeowners
Wrongly removed in 45cc6bdea97be10793e4cd5f0ef11abd9d19adea.
Commit: 7c956293d856224dd6a1b633820ef53009f7ef1c
https://github.com/llvm/llvm-project/commit/7c956293d856224dd6a1b633820ef53009f7ef1c
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/MC/MCAsmMacro.h
M llvm/include/llvm/MC/MCContext.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/macro-at-pseudo-variable.s
Log Message:
-----------
MCAsmParser: Support \+
In .macro, \+ expands to the per-macro invocation count.
https://sourceware.org/pipermail/binutils/2024-May/134009.html
\+ counts from 0 for .irp/.irpc/.rept .
Note: We currently prints \q for `.print "\q"` while gas doesn't. This
patch does not change this behavior.
Commit: 89ee3ae2bd1d5705a3e775e3f30bf0ec6d8d863a
https://github.com/llvm/llvm-project/commit/89ee3ae2bd1d5705a3e775e3f30bf0ec6d8d863a
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[Flang][OpenMP] Fix update operation not found issue (#92165)
If there is only one non-terminator operation in the update region then
the update operation can be found and we can try to generate an
atomicrmw instruction. Otherwise use the cmpxchg loop.
Fixes #91929
Commit: ca1f0d41b8c5f42ca6cdcbdf9732bf4df2fcc80f
https://github.com/llvm/llvm-project/commit/ca1f0d41b8c5f42ca6cdcbdf9732bf4df2fcc80f
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/test/ELF/aarch64-reloc-pauth.s
Log Message:
-----------
[lld][AArch64][ELF][PAC] Support `.relr.auth.dyn` section (#87635)
Support `R_AARCH64_AUTH_RELATIVE` relocation compression as described in
https://github.com/ARM-software/abi-aa/blob/main/pauthabielf64/pauthabielf64.rst#relocation-compression
Commit: ce1ce5d30c7696fddcb0c040909a9b786fe7cb06
https://github.com/llvm/llvm-project/commit/ce1ce5d30c7696fddcb0c040909a9b786fe7cb06
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/pow-1.ll
Log Message:
-----------
InstCombine: Try to use exp10 intrinsic instead of libcall (#92287)
Addresses old TODO about the exp10 intrinsic not existing.
Commit: b5107bdda332234d632c9749e01d60dd0f01bf39
https://github.com/llvm/llvm-project/commit/b5107bdda332234d632c9749e01d60dd0f01bf39
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
M mlir/test/Conversion/ArmSMEToLLVM/unsupported.mlir
Log Message:
-----------
[mlir][ArmSME] Verify ops on tile types post LLVM conversion (#92076)
Unsupported ops on tile types can become dead after
`-convert-arm-sme-to-llvm` resulting in incorrect results. Verify such
operations don't exist post-conversion and fail if they do.
Based on discussion from
https://discourse.llvm.org/t/on-improving-arm-sme-lowering-resilience-in-mlir/78543
Commit: 8389177710c2cb7a7e0cf5c6c9b34aabb8048f39
https://github.com/llvm/llvm-project/commit/8389177710c2cb7a7e0cf5c6c9b34aabb8048f39
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Log Message:
-----------
SimplifyLibCalls: Use IRBuilder helpers for creating intrinsics (#92288)
Commit: de483ad513895c0adf7f21c7001c30f031998ea3
https://github.com/llvm/llvm-project/commit/de483ad513895c0adf7f21c7001c30f031998ea3
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
[ADT] Deprecate StringRef::equals (#92351)
This patch deprecates StringRef::equals. Note that I've migrated all
known users to operator==(StringRef, StringRef).
Commit: 8f711aa32488beb3382de101a290e11b41ceb876
https://github.com/llvm/llvm-project/commit/8f711aa32488beb3382de101a290e11b41ceb876
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][test] `__cpp_lib_within_lifetime` -> `__cpp_lib_is_within_lifetime` (#91896)
The feature test macro was renamed when
[P2641R4](https://wg21.link/P2641R4) was adopted into the standard:
https://github.com/cplusplus/draft/commit/0facada4cadd97e1ba15bfaea76a804f1dc5c309
https://wg21.link/version.syn#lib:__cpp_lib_is_constant_evaluated
Commit: dcd32bd65f16e80db2485e6e02b62d6a91c3cddf
https://github.com/llvm/llvm-project/commit/dcd32bd65f16e80db2485e6e02b62d6a91c3cddf
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Fold pack-unpack with unbalanced outer_dims_perm attr (#92234)
Extends pack/unpack perm attribute checker to account for cases when the
optional outer_dims_perm attribute might be missing in one operation and
the other one has explicit identity permutation. This enables
canonicalizer to fold more unpack(pack(x)) variants.
Commit: cd5ee2715e89ad31982f91cc85fc3939977f2f4e
https://github.com/llvm/llvm-project/commit/cd5ee2715e89ad31982f91cc85fc3939977f2f4e
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
A flang/include/flang/Optimizer/CodeGen/CGOps.h
M flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/CodeGen/CGOps.cpp
R flang/lib/Optimizer/CodeGen/CGOps.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/test/Fir/declare-codegen.fir
M flang/test/Fir/dummy-scope-codegen.fir
A flang/test/Transforms/debug-local-var-2.f90
A flang/test/Transforms/debug-local-var.f90
Log Message:
-----------
[reland][flang] Initial debug info support for local variables (#92304)
This is same as #90905 with an added fix. The issue was that we
generated variable info even when user asked for line-tables-only. This
caused llvm dwarf generation code to fail an assertion as it expected an
empty variable list.
Fixed by not generating debug info for variables when user wants only
line table. I also updated a test check for this case.
Commit: 0ea178b085ba386d9d7bfea5afa072aa37f633fd
https://github.com/llvm/llvm-project/commit/0ea178b085ba386d9d7bfea5afa072aa37f633fd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/exp2-1.ll
M llvm/test/Transforms/InstCombine/exp2-to-ldexp.ll
M llvm/test/Transforms/InstCombine/pow_fp_int.ll
Log Message:
-----------
SimplifyLibCalls: Emit vector ldexp intrinsics in exp2->ldexp combine (#92219)
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 710f4bd054a857dd25012c9fef0cb66104f17ec0
https://github.com/llvm/llvm-project/commit/710f4bd054a857dd25012c9fef0cb66104f17ec0
Author: Alex Zinenko <ftynse at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.h
Log Message:
-----------
[mlir] add missing include to MemRefTransformOps.h
The ODS-generated code has the following:
```
::mlir::TypedValue<::mlir::transform::OperationType> getAlloca() {
return ::llvm::cast<::mlir::TypedValue<::mlir::transform::OperationType>>(
*getODSOperands(0).begin());
}
```
that may require the compiler seing the definition of `OperationType` so
include the corresponding header.
Commit: 51403ada789e63e98e0dd5ac0ceba351465490d1
https://github.com/llvm/llvm-project/commit/51403ada789e63e98e0dd5ac0ceba351465490d1
Author: Alex Zinenko <ftynse at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/docs/Dialects/Transform.md
Log Message:
-----------
[mlir] fix orphaned IRDLExtensionOps documentation
.md files should be included into other .md files so they don't show up in the
top-level menu.
Commit: 72a895336b1e4df1ec2f485f8786ead6c356edb8
https://github.com/llvm/llvm-project/commit/72a895336b1e4df1ec2f485f8786ead6c356edb8
Author: Tomas Matheson <Tomas.Matheson at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[AArch64][TargetParser] move ArchInfo into tablegen [NFC] (#92037)
This moves the architecture version, profile and extension information
into tablegen, and generates the TargetParser ArchInfo objects from
this data.
There are two lists of "dependencies" defined for each architecture: the
SubtargetFeature::Implies which controls which features are
automatically enabled in the backend when the corresponding architecture
SubtargetFeature is enabled; and the list of Extensions which are
enabled by default for this architecture. As far as I can tell, the idea
here is that the SubtargetFeature models the mandatory dependencies (although
they can still be disabled if desired) while the default extensions models
the typical use case for that architecture.
Commit: ca02f36bacaec58071a26ff65329fbab5526d1d7
https://github.com/llvm/llvm-project/commit/ca02f36bacaec58071a26ff65329fbab5526d1d7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/vector-transferop-opt.mlir
Log Message:
-----------
[mlir][vector] Teach `TransferOptimization` to forward masked stores (#87794)
This only handles one case (that's fairly common in practice*), storing
a masked constant splat, then reloading again with the same mask and a
padding value that matches the splat.
* For SVE/SME (without peeling) this occurs when you have a
`linalg.fill` preceding a `linalg.matmul`.
Commit: 30410018d32b2cc19552c6d6a3b7b6de84d99382
https://github.com/llvm/llvm-project/commit/30410018d32b2cc19552c6d6a3b7b6de84d99382
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
A llvm/test/CodeGen/LoongArch/target-abi.ll
Log Message:
-----------
[LoongArch] Enable all -target-abi options
This is a pre-commit for modifying `computeTargetABI` logic.
This patch will provide warning prompts when using those ABIs that have
not yet been standardized.
Reviewed By: xen0n, SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/92222
Commit: 70608c24fae8943cb93276db4d0358722705507b
https://github.com/llvm/llvm-project/commit/70608c24fae8943cb93276db4d0358722705507b
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchSubtarget.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
M llvm/test/CodeGen/LoongArch/e_flags.ll
M llvm/test/CodeGen/LoongArch/target-abi-from-triple-edge-cases.ll
Log Message:
-----------
[LoongArch] Refactor LoongArchABI::computeTargetABI
The previous logic did not consider whether the architectural features
meet the requirements of the ABI, resulting in the generation of
incorrect object files in some cases. For example:
```
llc -mtriple=loongarch64 -filetype=obj test/CodeGen/LoongArch/ir-instruction/fadd.ll -o t.o
llvm-readelf -h t.o
```
The object file indicates the ABI as lp64d, however, the generated code
is lp64s.
The new logic introduces the `feature-implied` ABI. When both target-abi
and triple-implied ABI are invalid, the feature-implied ABI is used.
Reviewed By: SixWeining, xen0n
Pull Request: https://github.com/llvm/llvm-project/pull/92223
Commit: 53bdcee9d7a921a0ea5e0c8fa3f889f16f1d268f
https://github.com/llvm/llvm-project/commit/53bdcee9d7a921a0ea5e0c8fa3f889f16f1d268f
Author: Oleg Shyshkov <shyshkov at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix bazel build.
Commit: cfcbe3ae55144635cac4ab00c017e3e93dad1c4b
https://github.com/llvm/llvm-project/commit/cfcbe3ae55144635cac4ab00c017e3e93dad1c4b
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lld/test/ELF/emulation-loongarch.s
Log Message:
-----------
[lld][test] Fix test failure after #92223
https://lab.llvm.org/buildbot/#/builders/272/builds/16745
Commit: 90d2f8c630e1ddddd034e4a0e575929c08dd26bf
https://github.com/llvm/llvm-project/commit/90d2f8c630e1ddddd034e4a0e575929c08dd26bf
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/Utils/MemRefUtils.h
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Vector/vector-transferop-opt.mlir
Log Message:
-----------
[mlir][vector] Teach `TransferOptimization` to look through trivial aliases (#87805)
This allows `TransferOptimization` to eliminate and forward stores that
are to trivial aliases (rather than just to identical memref values).
A trivial aliases is (currently) defined as:
1. A `memref.cast`
2. A `memref.subview` with a zero offset and unit strides
3. A chain of 1 and 2
Commit: 1795fa58bac5092f758bf27e1b27a2b333307bab
https://github.com/llvm/llvm-project/commit/1795fa58bac5092f758bf27e1b27a2b333307bab
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[NFC] Update example in comment
Commit: 5ffd154cf61390c1ed32a1b0eb134929f78c0fbe
https://github.com/llvm/llvm-project/commit/5ffd154cf61390c1ed32a1b0eb134929f78c0fbe
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
Log Message:
-----------
[analyzer] Clean up list of taint propagation functions (#91635)
This commit refactors GenericTaintChecker and performs various
improvements in the list of taint propagation functions:
1. The matching mode (usually `CDM::CLibrary` or
`CDM::CLibraryMaybeHardened`) was specified to avoid matching e.g. C++
methods or functions from a user-defined namespace that happen to share
the name of a well-known library function.
2. With these matching modes, a `CallDescription` can automatically
match builtin variants of the functions, so entries that explicitly
specified a builtin function were removed. This eliminated
inconsistencies where the "normal" and the builtin variant of the same
function was handled differently (e.g. `__builtin_strlcat` was covered,
while plain `strlcat` wasn't; while `__builtin_memcpy` and `memcpy` were
both on the list with different propagation rules).
3. The modeling of the functions `strlcat` and `strncat` was updated to
propagate taint from the first argument (index 0), because a tainted
string should remain tainted even if we append something else to it.
Note that this was already applied to `strcat` and `wcsncat` by commit
6ceb1c0ef9f544be0eed65e46cc7d99941a001bf.
4. Some functions were updated to propagate taint from a size/length
argument to the result: e.g. `memcmp(p, q, get_tainted_int())` will now
return a tainted value (because the attacker can manipulate it). This
principle was already present in some propagation rules (e.g.
`__builtin_memcpy` was handled this way), and even after this commit
there are still some functions where it isn't applied. (I only aimed for
consistency within the same function family.)
5. Functions that have hardened `__FOO_chk()` variants are matched in
`CDM:CLibraryMaybeHardened` to ensure consistent handling of the
"normal" and the hardened variant. I added special handling for the
hardened variants of "sprintf" and "snprintf" because there the extra
parameters are inserted into the middle of the parameter list.
6. Modeling of `sscanf_s` was added, to complete the group of `fscanf`,
`fscanf_s` and `sscanf`.
7. The `Source()` specifications for `gets`, `gets_s` and `wgetch` were
ill-formed: they were specifying variadic arguments starting at argument
index `ReturnValueIndex`. (That is, in addition to the return value they
were propagating taint to all arguments.)
8. Functions that were related to each other were grouped together. (I
know that this makes the diff harder to read, but I felt that the full
list is unreadable without some reorganization.)
9. I spotted and removed some redundant curly braces. Perhaps would be
good to switch to a cleaner layout with less nested braces...
10. I updated some obsolete comments and added two TODOs for issues that
should be fixed in followup commits.
Commit: 83974a4b92d1fd33b8e21d7a868862893d9430e9
https://github.com/llvm/llvm-project/commit/83974a4b92d1fd33b8e21d7a868862893d9430e9
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Transforms/LoopUnroll/X86/znver3.ll
Log Message:
-----------
Revert "[LoopUnroll] Clamp PartialThreshold for large LoopMicroOpBufferSize (#67657)"
This reverts commit f0b3654701bde1cf7821d60698b42383edaff9f3.
This commit triggers UB by reading an uninitialized variable.
`UP.PartialThreshold` is used uninitialized in `getUnrollingPreferences()` when
it is called from `LoopVectorizationPlanner::executePlan()`. In this case the
`UP` variable is created on the stack and its fields are not initialized.
```
==8802==WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0x557c0b081b99 in llvm::BasicTTIImplBase<llvm::X86TTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) llvm-project/llvm/include/llvm/CodeGen/BasicTTIImpl.h
#1 0x557c0b07a40c in llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) llvm-project/llvm/include/llvm/Analysis/TargetTransformInfo.h:2277:17
#2 0x557c0f5d69ee in llvm::TargetTransformInfo::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&, llvm::OptimizationRemarkEmitter*) const llvm-project/llvm/lib/Analysis/TargetTransformInfo.cpp:387:19
#3 0x557c0e6b96a0 in llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*, bool, llvm::DenseMap<llvm::SCEV const*, llvm::Value*, llvm::DenseMapInfo<llvm::SCEV const*, void>, llvm::detail::DenseMapPair<llvm::SCEV const*, llvm::Value*>> const*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7624:7
#4 0x557c0e6e4b63 in llvm::LoopVectorizePass::processLoop(llvm::Loop*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10253:13
#5 0x557c0e6f2429 in llvm::LoopVectorizePass::runImpl(llvm::Function&, llvm::ScalarEvolution&, llvm::LoopInfo&, llvm::TargetTransformInfo&, llvm::DominatorTree&, llvm::BlockFrequencyInfo*, llvm::TargetLibraryInfo*, llvm::DemandedBits&, llvm::AssumptionCache&, llvm::LoopAccessInfoManager&, llvm::OptimizationRemarkEmitter&, llvm::ProfileSummaryInfo*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10344:30
#6 0x557c0e6f2f97 in llvm::LoopVectorizePass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10383:9
[...]
Uninitialized value was created by an allocation of 'UP' in the stack frame
#0 0x557c0e6b961e in llvm::LoopVectorizationPlanner::executePlan(llvm::ElementCount, unsigned int, llvm::VPlan&, llvm::InnerLoopVectorizer&, llvm::DominatorTree*, bool, llvm::DenseMap<llvm::SCEV const*, llvm::Value*, llvm::DenseMapInfo<llvm::SCEV const*, void>, llvm::detail::DenseMapPair<llvm::SCEV const*, llvm::Value*>> const*) llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7623:3
```
Commit: ba2e4fe4e7f79e49fcac54ea20f5b899dc687cfc
https://github.com/llvm/llvm-project/commit/ba2e4fe4e7f79e49fcac54ea20f5b899dc687cfc
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/test/AST/ast-dump-expr.cpp
Log Message:
-----------
[clang] Fix CXXNewExpr end source location for 'new struct S' (#92266)
Currently, `new struct S` fails to set any valid end source location
because the token corresponding to `S` is consumed in
`ParseClassSpecifier` and is not accessible in the
`ParseDeclarationSpecifiers` that normally sets the end source location.
Fixes #35300
Commit: 239f8b9eb0725b4c6ff8342717b6abbfc9a7915a
https://github.com/llvm/llvm-project/commit/239f8b9eb0725b4c6ff8342717b6abbfc9a7915a
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/AST/RecursiveASTVisitor.h
A clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp
Log Message:
-----------
[AST] RecursiveASTVisitor: Don't traverse the alias deduction guides in the default mode. (#91454)
By default (`shouldVisitImplicitCode()` returns `false`), RAV should not
traverse AST nodes that are not spelled in the source code. Deduction
guides for alias templates are always synthesized, so they should not be
traversed.
This is usually done by checking the implicit bit of the Decl. However,
this doesn't work deduction guides that are synthesized from explicit
user-defined deduction guides, as we must maintain the explicit bit to
ensure correct overload resolution.
Commit: a9605730a481707623358d3b12220f05cfdc50a8
https://github.com/llvm/llvm-project/commit/a9605730a481707623358d3b12220f05cfdc50a8
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Sema/Sema.h
M clang/lib/Basic/TypeTraits.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[clang] CTAD: implement the missing IsDeducible constraint for alias templates (#89358)
Fixes https://github.com/llvm/llvm-project/issues/85192
Fixes https://github.com/llvm/llvm-project/issues/84492
This patch implements the "IsDeducible" constraint where the template
arguments of the alias template can be deduced from the returned type of
the synthesized deduction guide, per C++ [over.match.class.deduct]p4. In
the implementation, we perform the deduction directly, which is more
efficient than the way specified in the standard.
Also update relevant CTAD tests which were incorrectly compiled due to
the missing constraint.
Commit: 46bc54f4e688870da8356a9b85257ffb12d47e1f
https://github.com/llvm/llvm-project/commit/46bc54f4e688870da8356a9b85257ffb12d47e1f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Fix assertion failure when `computeKnownFPClass` returns fcNone (#92355)
Fixes
https://github.com/llvm/llvm-project/pull/92084#issuecomment-2114083188.
Commit: 0bc1ec5cda8d68a681534bda9fd121b7f58fb495
https://github.com/llvm/llvm-project/commit/0bc1ec5cda8d68a681534bda9fd121b7f58fb495
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Log Message:
-----------
[GlobalISel] Reduce KnownBits usage in matcher combines (#92381)
Two icmp/and combines forced computation of KnownBits on all operands
everytime. We can avoid computing KnownBits on the LHS by exploiting a
couple of properties:
- Constants are always on the RHS for those instructions. If we have no
KnownBits on the RHS, we can bail out early and avoid computing LHS
knownbits.
- For icmp uge/ult 0, we don't need to know the KBs of the LHS to infer
the result
This allows to save some KnownBits calls, which are very expensive,
without affecting codegen.
Commit: 7d81062352f75cf328d91d4900af52c1842b950e
https://github.com/llvm/llvm-project/commit/7d81062352f75cf328d91d4900af52c1842b950e
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/docs/GlobalISel/MIRPatterns.rst
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-permutations.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/patfrag-errors.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
M llvm/test/TableGen/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitterHwModes.td
M llvm/utils/TableGen/Common/CMakeLists.txt
M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp
M llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.h
R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.cpp
R llvm/utils/TableGen/Common/GlobalISel/MatchDataInfo.h
M llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp
M llvm/utils/TableGen/Common/GlobalISel/Patterns.h
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[GlobalISel] Refactor Combiner MatchData & Apply C++ Code Handling (#92239)
Combiners that use C++ code in their "apply" pattern only use that. They
never mix it with MIR patterns as that has little added value.
This patch restricts C++ apply code so that if C++ is used, we cannot
use MIR patterns or builtins with it. Adding this restriction allows us
to merge calls to match and apply C++ code together, which in turns
makes it so we can just have MatchData variables on the stack.
So before, we would have
```
GIM_CheckCxxInsnPredicate // match
GIM_CheckCxxInsnPredicate // apply
GIR_Done
```
Alongside a massive C++ struct holding the MatchData of all rules
possible (which was a big space/perf issue).
Now we just have
```
GIR_DoneWithCustomAction
```
And the function being ran just does
```
unsigned SomeMatchData;
if (match(SomeMatchData))
apply(SomeMatchData)
```
This approach solves multiple issues in one:
- MatchData handling is greatly simplified and more efficient, "don't
pay for what you don't use"
- We reduce the size of the match table
- Calling C++ code has a certain overhead (we need a switch), and this
overhead is only paid once now.
Handling of C++ code inside PatFrags is unchanged though, that still
emits a `GIM_CheckCxxInsnPredicate`. This is completely fine as they
can't use MatchDatas.
Commit: cf92e51f5b66afc315f2b43c238291ca87a5602e
https://github.com/llvm/llvm-project/commit/cf92e51f5b66afc315f2b43c238291ca87a5602e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
Log Message:
-----------
[gn build] Port 7d81062352f7
Commit: 311339e25cd4d431902f93b1cbc6b67ac3fd2abf
https://github.com/llvm/llvm-project/commit/311339e25cd4d431902f93b1cbc6b67ac3fd2abf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-cost.ll
Log Message:
-----------
[DAG] SimplifyDemandedBits - ISD::AND - only request DemandedElts when looking for a splat constant
Limit the isConstOrConstSplat call to the vector elements we care about
Noticed while investigating regressions in #92096
Commit: fdaad738753cde2bba6480c2ee5d1e9fb45064b9
https://github.com/llvm/llvm-project/commit/fdaad738753cde2bba6480c2ee5d1e9fb45064b9
Author: XChy <xxs_chy at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
A llvm/test/Transforms/Reg2Mem/callbr-crash.ll
Log Message:
-----------
[Reg2Mem] Handle CallBr instructions (#90953)
Fixes #90900
Commit: 911207338add39b8439a09fd7f9d97bbe4a335bd
https://github.com/llvm/llvm-project/commit/911207338add39b8439a09fd7f9d97bbe4a335bd
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/test/Bindings/llvm-c/debug_info.ll
A llvm/test/Bindings/llvm-c/debug_info_new_format.ll
M llvm/tools/llvm-c-test/debuginfo.c
M llvm/tools/llvm-c-test/main.c
Log Message:
-----------
[RemoveDIs][NFC] Fix rotten green C API test (#92362)
`llvm_test_dibuilder(/*NewDebugInfoMode=*/true)` isn't currently executed in
`return llvm_test_dibuilder(false) && llvm_test_dibuilder(true);`
because `llvm_test_dibuilder` returns 0 for success.
Split the llvm-c-test flag `--test-dibuilder` into two, one for the old and
one for the new debug info format. Add another lit test for the new format.
Now that the test actually runs, it crashes using the new format with
`llvm/lib/IR/LLVMContextImpl.cpp:53:llvm::LLVMContextImpl::~LLVMContextImpl(): Assertion 'TrailingDbgRecords.empty() && "DbgRecords in blocks not cleaned"' failed. Aborted`.
Insert terminators into the blocks so that we don't leave the debug records
trailing, unattached to any instructions, which fixes that.
Commit: 03d8e613911bdef52fec23924a4e5b4235997bb8
https://github.com/llvm/llvm-project/commit/03d8e613911bdef52fec23924a4e5b4235997bb8
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
Log Message:
-----------
[Transforms] Fix -Wsign-compare in DemoteRegToStack.cpp (NFC)
llvm-project/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp:54:23:
error: comparison of integers of different signs: 'int' and 'unsigned int' [-Werror,-Wsign-compare]
for (int i = 0; i < CBI->getNumSuccessors(); i++) {
~ ^ ~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Commit: 99de3a685170c24208b00ef83fe0416373387acc
https://github.com/llvm/llvm-project/commit/99de3a685170c24208b00ef83fe0416373387acc
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/docs/VectorizationPlan.rst
M llvm/docs/conf.py
A llvm/docs/vplan-scope.png
A llvm/docs/vplan-transform-pipeline.png
Log Message:
-----------
[VPlan] Document current status. (#85689)
Update VectorizationPlan.rst to include a section about the current
status of VPlan and its use in LoopVectorize, based on "VPlan: Status
Update and Future Roadmap", LLVM Developers’ Meeting 2023,
https://www.youtube.com/watch?v=SzGP4PgMuLE
PR: https://github.com/llvm/llvm-project/pull/85689
Commit: 7ce8d2e5fb9cc5f6f9de214584170a8cf01b98de
https://github.com/llvm/llvm-project/commit/7ce8d2e5fb9cc5f6f9de214584170a8cf01b98de
Author: David Truby <david.truby at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.cpp
A clang/test/Driver/flang/msvc-link.f90
Log Message:
-----------
[clang][flang][windows] Prefer user-provided library paths (-L) (#90758)
Currently the paths to compiler-rt and the Flang runtimes from the LLVM
build/install directory are preferred over any user-provided library
paths. This means a user can't override compiler-rt or the Flang
runtimes with custom versions.
This patch changes the link order to prefer library paths specified with
-L over the LLVM paths. This matches the behaviour of clang and flang on
Linux.
Commit: 7a66e4209b0b4cc0dc871a54c4f07a4b0054b5f7
https://github.com/llvm/llvm-project/commit/7a66e4209b0b4cc0dc871a54c4f07a4b0054b5f7
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/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
Log Message:
-----------
[flang][OpenMP] Remove unnecessary `Fortran::` qualification, NFC (#92298)
The `Fortran::` namespace is redundant for all parts of the code in this
PR, except for names of functions in their definitions.
Commit: 2bc9af96567eeda1effdf0cb7662511d896fb386
https://github.com/llvm/llvm-project/commit/2bc9af96567eeda1effdf0cb7662511d896fb386
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py
Log Message:
-----------
[lldb][Windows] Disable the TestGdbRemoteLibrariesSvr4Support test for Windows host (#92341)
Windows does not allow quotes in file names. So it is impossible to
build `libsvr4lib_b".so` on Windows.
Commit: 588ce34ba626a369a416b883342af48c69e70925
https://github.com/llvm/llvm-project/commit/588ce34ba626a369a416b883342af48c69e70925
Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
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
Log Message:
-----------
[libc++][z/OS] Fixup two linear_congruential_engine tests (#92261)
Commit: e948da1021b207dbcee9ed484ccb3409c2295561
https://github.com/llvm/llvm-project/commit/e948da1021b207dbcee9ed484ccb3409c2295561
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
Log Message:
-----------
[Transforms] Fix -Wunused-variable in DemoteRegToStack.cpp (NFC)
llvm-project/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp:58:21:
error: unused variable 'BB' [-Werror,-Wunused-variable]
BasicBlock *BB = SplitCriticalEdge(II, i);
^
1 error generated.
Commit: 80fac30a09ce0fbd2047cc210ec0a42cfa95b79d
https://github.com/llvm/llvm-project/commit/80fac30a09ce0fbd2047cc210ec0a42cfa95b79d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/rot32.ll
Log Message:
-----------
[X86] rot32.ll - remove old shld check prefixes
This was missed in 8dbd745b09c9f65fefc2ffac14e8f7f288766861
Commit: 44eded31e0bd5739391298497affe3412e4091aa
https://github.com/llvm/llvm-project/commit/44eded31e0bd5739391298497affe3412e4091aa
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[lldb] Move TestBase.runCmd() to the Base class (#92252)
runCmd() is called from Base.getCPUInfo() but implemented only in
TestBase(Base). Usually it works if TestBase is used. But call
getCPUInfo() from a class based on Base will cause something like
```
File "E:\projects\llvm-nino\lldb\llvm-project\lldb\packages\Python\lldbsuite\test\lldbtest.py", line 1256, in getCPUInfo
self.runCmd('platform get-file "/proc/cpuinfo" ' + cpuinfo_path)
AttributeError: 'TestGdbRemoteExpeditedRegisters' object has no attribute 'runCmd'
```
BTW, TestBase.setUp() called runCmd() before applying
LLDB_MAX_LAUNCH_COUNT and LLDB_TIME_WAIT_NEXT_LAUNCH.
This patch fixes the test TestGdbRemoteExpeditedRegisters in case of
Windows host and Linux target.
Commit: f7392f40f3f6d5d4fc4ec11a982cf5379ab3c5d1
https://github.com/llvm/llvm-project/commit/f7392f40f3f6d5d4fc4ec11a982cf5379ab3c5d1
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll
Log Message:
-----------
[AArch64] Add intrinsics for bfloat16 min/max/minnm/maxnm (#90105)
According to specifications in
[ARM-software/acle/pull/309](https://github.com/ARM-software/acle/pull/309)
Add following intrinsics:
```
// svmax single,multi
svbfloat16x2_t svmax_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmax_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmax_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmax_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```
```
// svmin single,multi
svbfloat16x2_t svmin_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmin_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmin_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmin_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```
```
// svmaxnm single,multi
svbfloat16x2_t svmaxnm_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svmaxnm_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svmaxnm_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svmaxnm_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```
```
// svminnm single,multi
svbfloat16x2_t svminnm_single_bf16_x2(svbfloat16x2_t zdn, svbfloat16_t zm)
svbfloat16x4_t svminnm_single_bf16_x4(svbfloat16x4_t zdn, svbfloat16_t zm)
svbfloat16x2_t svminnm_bf16_x2(svbfloat16x2_t zdn, svbfloat16x2_t zm)
svbfloat16x4_t svminnm_bf16_x4(svbfloat16x4_t zdn, svbfloat16x4_t zm)
```
- Variations other than bfloat16 are already supported.
Commit: af57ad6536c7df19e6df7217d9d976067fdaf882
https://github.com/llvm/llvm-project/commit/af57ad6536c7df19e6df7217d9d976067fdaf882
Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M libcxx/include/__algorithm/simd_utils.h
Log Message:
-----------
[libc++][z/OS] Correct a definition of __native_vector_size (#91995)
Fix `std/ranges/range.adaptors/range.lazy.split/general.pass.cpp` which
started failing on z/OS after this
[commit](https://github.com/llvm/llvm-project/commit/985c1a44f8d49e0af).
This test case is passing on other platforms such as AIX. This is
because the `__ALTIVEC__` macro is defined and `__mismatch` under
`_LIBCPP_VECTORIZE_ALGORITHMS` guard is compiled out. However, on z/OS
`_LIBCPP_VECTORIZE_ALGORITHMS` is defined. Analyzing the algorithm of
`__mismatch` shows that the culprit is the definition of
`__native_vector_size` which was defined wrongly as 1. This PR corrects
the definition of `__native_vector_size` and fixes the affected test.
Commit: 4a5dffc67499640c71357d8f3f49edc97af5482f
https://github.com/llvm/llvm-project/commit/4a5dffc67499640c71357d8f3f49edc97af5482f
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/arm64ec-symbols.ll
Log Message:
-----------
[CodeGen][ARM64EC][NFC] Add ARM64EC alias symbols test. (#92100)
Commit: 54e52aa5ebe68de122a3fe6064e0abef97f6b8e0
https://github.com/llvm/llvm-project/commit/54e52aa5ebe68de122a3fe6064e0abef97f6b8e0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ScheduleZnver3.td
M llvm/lib/Target/X86/X86ScheduleZnver4.td
M llvm/test/Transforms/LoopUnroll/X86/znver3.ll
Log Message:
-----------
[X86] Reduce znver3/4 LoopMicroOpBufferSize to practical loop unrolling values (#91340)
The znver3/4 scheduler models have previously associated the LoopMicroOpBufferSize with the maximum size of their op caches, and when this led to quadratic complexity issues this were reduced to a value of 512 uops, based mainly on compilation time and not its effectiveness on runtime performance.
>From a runtime performance POV, a large LoopMicroOpBufferSize leads to a higher number of loop unrolls, meaning the cpu has to rely on the frontend decode rate (4 ins/cy max) for much longer to fill the op cache before looping begins and we make use of the faster op cache rate (8/9 ops/cy).
This patch proposes we instead cap the size of the LoopMicroOpBufferSize based off the maximum rate from the op cache (znver3 = 8op/cy, znver4 = 9op/cy) and the branch misprediction penalty from the opcache (~12cy) as a estimate of the useful number of ops we can unroll a loop by before mispredictions are likely to cause stalls. This isn't a perfect metric, but does try to be closer to the spirit of how we use LoopMicroOpBufferSize in the compiler vs the size of a similar naming buffer in the cpu.
Commit: 93c02b7dc3bd07d3d62b56cb3299288901205f3a
https://github.com/llvm/llvm-project/commit/93c02b7dc3bd07d3d62b56cb3299288901205f3a
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/arm64ec-symbols.ll
Log Message:
-----------
[CodeGen][ARM64EC] Use MCSymbolRefExpr::VK_None for function aliases. (#92100)
Commit: c675a58edec6d1a876a0d0e7d261f74764855b38
https://github.com/llvm/llvm-project/commit/c675a58edec6d1a876a0d0e7d261f74764855b38
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen][SubtargetEmitter] Early exit from loop in FindWriteResources and FindReadAdvance (#92202)
This gives us a 30% speed improvement in our downstream.
Commit: 6c7ec6e1e6646fb334064bda6f301fdb52390d9b
https://github.com/llvm/llvm-project/commit/6c7ec6e1e6646fb334064bda6f301fdb52390d9b
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/test/Dialect/ArmSME/tile-allocation-spills-with-mixed-tile-types.mlir
Log Message:
-----------
[mlir][ArmSME] Remove empty line in test (NFC) (#92404)
Commit: 74a87548e5b62881108e6cd1fd63b45580fc3097
https://github.com/llvm/llvm-project/commit/74a87548e5b62881108e6cd1fd63b45580fc3097
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.h
M flang/test/Fir/omp-reduction-embox-codegen.fir
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M 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-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.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-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-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.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-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
A flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
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/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-parallel-reduction-cleanup.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir
Log Message:
-----------
[flang][MLIR][OpenMP] make reduction by-ref toggled per variable (#92244)
Fixes #88935
Toggling reduction by-ref broke when multiple reduction clauses were
used. Decisions made for the by-ref status for later clauses could then
invalidate decisions for earlier clauses. For example,
```
reduction(+:scalar,scalar2) reduction(+:array)
```
The first clause would choose by value reduction and generate by-value
reduction regions, but then after this the second clause would force
by-ref to support the array argument. But by the time the second clause
is processed, the first clause has already had the wrong kind of
reduction regions generated.
This is solved by toggling whether a variable should be reduced by
reference per variable. In the above example, this allows only `array`
to be reduced by ref.
Commit: d94582eea410a04f9f84e39a54276a8418aa2dbb
https://github.com/llvm/llvm-project/commit/d94582eea410a04f9f84e39a54276a8418aa2dbb
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
A flang/test/Semantics/OpenMP/atomic-update-overloaded-ops.f90
Log Message:
-----------
[flang][OpenMP] Add test for checking overloaded operator in atomic update (#88471)
Atomic update expression does not allow overloaded user-defined
operators. This PR adds a test case for the same; the semantic check is
already existent.
Commit: f579dcf816b5626724e9eae5feea594008b5c863
https://github.com/llvm/llvm-project/commit/f579dcf816b5626724e9eae5feea594008b5c863
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb] Fixed an invalid error message in the DAP disconnect response (#92345)
The `disconnect` response contains the `error` message with invalid
characters (a junk data). To reproduce this issue it is enough to run
the `TestDAP_commands` test on Windows host and Linux target. The test
will fail to run ELF file on Windows and dap_server will be disconnected
unexpectedly.
Note dap_server hangs if read_packet() cannot decode JSON with invalid
characters. read_packet() must return None in this case instead of an
exception. But dap_server does not require any fix after this patch.
Commit: d665d51c9296fc0b57945bb67e06040e26cd03c5
https://github.com/llvm/llvm-project/commit/d665d51c9296fc0b57945bb67e06040e26cd03c5
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
Log Message:
-----------
[lldb] Fixed the DAP tests in case of a remote target (#92398)
These tests failed in case of Windows host and Linux target, because
dap_server tried to run ELF file on Windows.
Commit: d1f96d4cfe25770827b5f819b6a9de6fef142c9c
https://github.com/llvm/llvm-project/commit/d1f96d4cfe25770827b5f819b6a9de6fef142c9c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[clang][NFC] Claim support for P3106R1 since Clang 17
Test for this paper were added in https://github.com/llvm/llvm-project/pull/91435
Commit: 5ac34358181b21135851979c1c949632be5a9d32
https://github.com/llvm/llvm-project/commit/5ac34358181b21135851979c1c949632be5a9d32
Author: Dana Jansens <danakj at chromium.org>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
Log Message:
-----------
Respect the [[clang::unsafe_buffer_usage]] attribute for constructors (#91777)
The -Wunsafe-buffer-usage warning should fire on any call to a function
annotated with [[clang::unsafe_buffer_usage]], however it omitted calls
to constructors, since the expression is a CXXConstructExpr which does
not subclass CallExpr. Thus the matcher on callExpr() does not find
these expressions.
Add a new WarningGadget that matches cxxConstructExpr that are calling a
CXXConstructDecl annotated by [[clang::unsafe_buffer_usage]] and fires
the warning. The new UnsafeBufferUsageCtorAttrGadget gadget explicitly
avoids matching against the std::span(ptr, size) constructor because
that is handled by SpanTwoParamConstructorGadget and we never want two
gadgets to match the same thing (and this is guarded by asserts).
The gadgets themselves do not report the warnings, instead each gadget's
Stmt is passed to the UnsafeBufferUsageHandler (implemented by
UnsafeBufferUsageReporter). The Reporter is previously hardcoded that a
CXXConstructExpr statement must be a match for std::span(ptr, size), but
that is no longer the case. We want the Reporter to generate different
warnings (in the -Wunsafe-buffer-usage-in-container subgroup) for the
span contructor. And we will want it to report more warnings for other
std-container-specific gadgets in the future. To handle this we allow
the gadget to control if the warning is general (it calls
handleUnsafeBufferUsage()) or is a std-container-specific warning (it
calls handleUnsafeOperationInContainer()).
Then the WarningGadget grows a virtual method to dispatch to the
appropriate path in the UnsafeBufferUsageHandler. By doing so, we no
longer need getBaseStmt in the Gadget interface. The only use of it for
FixableGadgets was to get the SourceLocation, so we make an explicit
virtual method for that on Gadget. Then the handleUnsafeOperation()
dispatcher can be a virtual method that is only in WarningGadget.
The SpanTwoParamConstructorGadget gadget dispatches to
handleUnsafeOperationInContainer() while the other WarningGadgets all
dispatch to the original handleUnsafeBufferUsage().
Tests are added for annotated constructors, conversion operattors, call
operators, fold expressions, and regular methods.
Issue #80482
Commit: ee407e17a3a4986bab49272665abc9973d78691d
https://github.com/llvm/llvm-project/commit/ee407e17a3a4986bab49272665abc9973d78691d
Author: Renaud Kauffmann <50748669+Renaud-K at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
M flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
A flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir
Log Message:
-----------
[flang] AliasAnalysis: More formally define and distinguish between data and non-data (#91020)
This PR is an implementation for changes proposed in
https://discourse.llvm.org/t/rfc-distinguish-between-data-and-non-data-in-fir-alias-analysis/78759
Test updates were made when the query was on the wrong reference. So, it
is my hope that this will clear ambiguity on the nature of the queries
from here on.
There are also some TODOs that were addressed.
It also partly implements what
https://github.com/llvm/llvm-project/pull/87723 is attempting to
accomplish. At least, on a point-to-point query between references, the
distinction is made. To apply it to TBAA, would be another PR.
Note that, the changes were minimal in the TBAA code to retain the
current results.
Commit: cdb41e416adcd49a783f0d3d28d1e3fafb6f5429
https://github.com/llvm/llvm-project/commit/cdb41e416adcd49a783f0d3d28d1e3fafb6f5429
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
M llvm/test/Transforms/PlaceSafepoints/libcall.ll
Log Message:
-----------
PlaceSafepoints: Fix using default constructed TargetLibraryInfo (#92411)
Commit: 309a881dccb82bf1f101cf138bee3e7400968ed8
https://github.com/llvm/llvm-project/commit/309a881dccb82bf1f101cf138bee3e7400968ed8
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/docs/VectorizationPlan.rst
M llvm/docs/conf.py
Log Message:
-----------
[VPlan] Address remaining comments for #85689.
Address comments missed when landing
https://github.com/llvm/llvm-project/pull/85689.
Commit: 117d755b1b84c7d379ea5c3d93f8c2ab9bfcde82
https://github.com/llvm/llvm-project/commit/117d755b1b84c7d379ea5c3d93f8c2ab9bfcde82
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
M llvm/test/CodeGen/PowerPC/pr44183.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll
M llvm/test/CodeGen/X86/vector_splat-const-shift-of-constmasked.ll
Log Message:
-----------
[DAG] SimplifyDemandedBits - use ComputeKnownBits instead of getValidShiftAmountConstant to check for constant shift amounts. (#92412)
This allows us to handle cases where the constant has already been type legalized behind a bitcast
Despite calling ComputeKnownBits I'm not seeing any notable change in compile time.
Commit: 3abd3d6e597cba5161f37fa0478382fc93a8c9fd
https://github.com/llvm/llvm-project/commit/3abd3d6e597cba5161f37fa0478382fc93a8c9fd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/src/device.cpp
Log Message:
-----------
[Libomptarget] Remove requires information from plugin (#80345)
Summary:
Currently this is only used for the zero-copy handling. However, this
can easily be moved into `libomptarget` so that we do not need to bother
setting the requires flags in the plugin. The advantage here is that we
no longer need to do this for every device redundently. Additionally,
these requires flags are specifically OpenMP related, so they should
live in `libomptarget`.
Commit: b28766eb3f20354d1d7a34ea83b9d915c3715032
https://github.com/llvm/llvm-project/commit/b28766eb3f20354d1d7a34ea83b9d915c3715032
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
Log Message:
-----------
[Arm64EC] Correctly handle sret in entry thunks. (#92326)
I accidentally left out the code to transfer sret attributes to entry
thunks, so values weren't being passed in the right registers, and the
sret pointer wasn't returned in the correct register.
Fixes #90229
Commit: b82fd5d75cff87f7480a24d4a16ea8400cc35c86
https://github.com/llvm/llvm-project/commit/b82fd5d75cff87f7480a24d4a16ea8400cc35c86
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
Log Message:
-----------
[GlobalISel] Initialize variables in IndexedLoadStoreMatchInfo
Commit: e8692b88bec1d43325804d75166d9483d6c17fc7
https://github.com/llvm/llvm-project/commit/e8692b88bec1d43325804d75166d9483d6c17fc7
Author: Tim Besard <tim.besard at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Transforms/Internalize/lists.ll
Log Message:
-----------
[NewPM] Add pass options for InternalizePass to preserve GVs (reland) (#92383)
Reland of https://github.com/llvm/llvm-project/pull/91334, which broke
the gcc7 buildbot and was reverted in
https://github.com/llvm/llvm-project/pull/92321.
Work around the failure by being explicit about returning an `Expected`.
cc @joker-eph
Commit: ce67fcf15f4ffac00a715cf724bc72e37f063064
https://github.com/llvm/llvm-project/commit/ce67fcf15f4ffac00a715cf724bc72e37f063064
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/task_ast_print.cpp
Log Message:
-----------
Avoid unevaluated implicit private (#92055)
For every variable used under `#pragma omp task` directive
(`DeclRefExpr`) an ImplicitPrivateVariable is created in the AST, if
`private` or `shared` clauses are not present. If the variable has the
property of `non_odr_use_unevaluated` e.g. for statements which use
`sizeof( i )` `i` will have `non_odr_use_unevaluated` . In such cases
CodeGen was asserting by avoiding emitting of LLVM IR for such
variables. To prevent this assertion this checkin avoids adding the
ImplicitPrivateVariable for variables with `non_odr_use_unevaluated`.
---------
Authored-by: Sunil Kuravinakop <kuravina at pe28vega.us.cray.com>
Commit: 033fa81480a7e8d0a6cf2f72b52232275145d105
https://github.com/llvm/llvm-project/commit/033fa81480a7e8d0a6cf2f72b52232275145d105
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
R offload/include/Shared/PluginAPI.h
R offload/include/Shared/PluginAPI.inc
Log Message:
-----------
[Offload][NFC] Remove unused files following static plugins
Summary:
Forgot to remove these when I landed the initial patch, they are no
longer used.
Commit: 224116ab9f4d97acb0cca76dc63c1d3d4a253078
https://github.com/llvm/llvm-project/commit/224116ab9f4d97acb0cca76dc63c1d3d4a253078
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/eval-crashes.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
Revert "[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (#87933)"
This reverts commit 17daa204feadf9c28fc13b7daa69c3cbe865b238.
Multiple examples on the PR
https://github.com/llvm/llvm-project/pull/87933
show regressions, so reverting until they can be fixed in the followup.
Commit: bd6c358d01f6ebc3851996e2c29c47b08e992525
https://github.com/llvm/llvm-project/commit/bd6c358d01f6ebc3851996e2c29c47b08e992525
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Update repository in package.json
Use https://github.com/llvm/vscode-lldb instead of the monorepo, for
consistency with the other two extensions (mlir, clangd).
Commit: f03430f5e37e8eb64878dc538b05210adea2d80f
https://github.com/llvm/llvm-project/commit/f03430f5e37e8eb64878dc538b05210adea2d80f
Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/__iterator/common_iterator.h
M libcxx/test/std/iterators/predef.iterators/iterators.common/arrow.pass.cpp
Log Message:
-----------
[libc++] LWG3672: `common_iterator::operator->()` should return by value (#87899)
## Abstract
This pull request implements LWG3672: `common_iterator::operator->()`
should return by value. The current implementation specifies that this
function should return the underlying pointer by reference (`T*
const&`), but it would be more intuitive to return it by value (`T*`).
## Reference
- [Draft C++ Standard:
[common.iter.access]](https://eel.is/c++draft/common.iter.access)
- [LWG3672](https://cplusplus.github.io/LWG/issue3672)
Commit: c7ae8c6639370ccbc583dca019bbb78761ce423d
https://github.com/llvm/llvm-project/commit/c7ae8c6639370ccbc583dca019bbb78761ce423d
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
Log Message:
-----------
[lldb] Fixed the DAP tests in case of a remote target (#92416)
These tests are based on dap_server which runs locally. These tests
failed in case of Windows host and Linux target.
Commit: 0dc80e4b2640f80a5b421e6e636d2a7243150917
https://github.com/llvm/llvm-project/commit/0dc80e4b2640f80a5b421e6e636d2a7243150917
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[memprof] Group MemProf data structures into a struct (NFC) (#92360)
This patch groups the three Memprof data structures into a struct
named IndexedMemProfData and teaches InstrProfWriter to use it. This
way, we can pass IndexedMemProfData to writeMemProf and its helpers
instead of individual data structures.
As a follow-up, we can use the new struct in MemProfReader also. That
in turn allows loadInput in llvm-profdata to move the MemProf data
into the writer context, saving a few seconds for a large MemProf
profile.
Commit: 525bd66fc29fd056ef18118dfff3c9cc05fdd5e3
https://github.com/llvm/llvm-project/commit/525bd66fc29fd056ef18118dfff3c9cc05fdd5e3
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/docs/index.rst
A lldb/docs/resources/lldbdap.md
M lldb/tools/lldb-dap/README.md
Log Message:
-----------
[lldb-dap] Separate user and developer documentation (#92428)
The README.md is what users see when they look for the extension in the
Marketplace [1]. Right now, it's a mix of developer documentation (for
us) and user documentation. This commit moves the developer docs into
`docs` and the lldb website and refocuses the README on using the
extension.
[1] https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.lldb-dap
Commit: 80a0a067fb8cc3122f53083fd2fe20f9d5dfc5bf
https://github.com/llvm/llvm-project/commit/80a0a067fb8cc3122f53083fd2fe20f9d5dfc5bf
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add tests for computing knownbits from `(icmp upred (add/sub nuw X, Y), C)`; NFC
Commit: 05347f8c2fde0cde2fd12f1ec3611eeaf666ece0
https://github.com/llvm/llvm-project/commit/05347f8c2fde0cde2fd12f1ec3611eeaf666ece0
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Compute knownbits from `(icmp upred (add/sub nuw X, Y), C)`
`(icmp ule/ult (add nuw X, Y), C)` implies both `(icmp ule/ult X, C)` and
`(icmp ule/ult Y, C)`. We can use this to deduce leading zeros in `X`/`Y`.
`(icmp uge/ugt (sub nuw X, Y), C)` implies `(icmp uge/uge X, C)` . We
can use this to deduce leading ones in `X`.
Proofs: https://alive2.llvm.org/ce/z/sc5k22
Closes #87180
Commit: ebbf484e1c62a312d88c7f6482af11a58d40f52d
https://github.com/llvm/llvm-project/commit/ebbf484e1c62a312d88c7f6482af11a58d40f52d
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/icmp-trunc.ll
Log Message:
-----------
[InstCombine] Add tests for folding `(icmp pred (trunc nuw/nsw X), C)`; NFC
Commit: 23f1047daac9702876ca99b53e8fe649fca569fa
https://github.com/llvm/llvm-project/commit/23f1047daac9702876ca99b53e8fe649fca569fa
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-trunc.ll
Log Message:
-----------
[InstCombine] Fold `(icmp pred (trunc nuw/nsw X), C)` -> `(icmp pred X, (zext/sext C))`
This is valid as long as the sign of the wrap flag doesn't differ from
the sign of the `pred`.
Proofs: https://alive2.llvm.org/ce/z/35NsrR
NB: The online Alive2 hasn't been updated with `trunc nuw/nsw`
support, so the proofs must be reproduced locally.
Closes #87935
Commit: da928c6d6e0e2f619fdaef71cea8747d9aef188d
https://github.com/llvm/llvm-project/commit/da928c6d6e0e2f619fdaef71cea8747d9aef188d
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTContext.cpp
A clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p2.cpp
Log Message:
-----------
[Clang][Sema] ASTContext::getUnconstrainedType propagates dependence (#92425)
When the argument passed to `ASTContext::getUnconstrainedType` is an
unconstrained `AutoType`, will return the argument unchanged. However,
when called with a constrained `AutoType`, an unconstrained,
non-dependent `AutoType` will be returned even if the argument was
dependent. Consider the following:
```
template<typename T>
concept C = sizeof(T) == sizeof(int);
template<auto N>
struct A;
template<C auto N>
struct A<N>; // error: class template partial specialization is not more specialized than the primary template
```
When comparing the template parameters for equivalence,
`ASTContext::getUnconstrainedType` is used to remove the constraints per
[temp.over.link] p6 sentence 2. For the template
parameter `N` of the class template, it returns a dependent `AutoType`.
For the template parameter `N` of the class template partial
specialization, it returns a non-dependent `AutoType`. We subsequently
compare the adjusted types and find they are not equivalent, thus we
consider the partial specialization to not be more specialized than the
primary template per [temp.func.order] p6.2.2.
This patch changes `ASTContext::getUnconstrainedType` such that the
dependence of a constrained `AutoType` will propagate to the returned
unconstrained `AutoType`. This causes the above example to be correctly
accepted, fixing #77377.
Commit: 9a7f54ba4878c4e66c99430b52d8c014ab7b2a03
https://github.com/llvm/llvm-project/commit/9a7f54ba4878c4e66c99430b52d8c014ab7b2a03
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/tools/clang-fuzzer/dictionary/dictionary.c
Log Message:
-----------
[clang-fuzzer-dictionary] Skip EmptySpellingName after #89358
The dictionary entry `=""` is invalid.
Commit: a383b3cca3383128123b33bc73ffc0199ec573e4
https://github.com/llvm/llvm-project/commit/a383b3cca3383128123b33bc73ffc0199ec573e4
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] CTAD alias: Emit a more descriptive diagnostic message when is_deducible constraint is evaluated to false. (#92389)
Fixes https://github.com/llvm/llvm-project/issues/92225
Commit: 476f7f65f9f17fab7e78f395b83dcb7b0bbd5215
https://github.com/llvm/llvm-project/commit/476f7f65f9f17fab7e78f395b83dcb7b0bbd5215
Author: weltschildkroete <65237298+weltschildkroete at users.noreply.github.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/auto-cxx0x.cpp
Log Message:
-----------
[clang][Sema] Emit more specific diagnostic for auto in lambda before C++14 (#46059) (#68540)
Namely, we specify that `auto` in a lambda parameter is a C++14
extension in the error message, which now reads:
`'auto' not allowed in lambda parameter before C++14`
This does not change the behavior for `decltype(auto)` and `__auto_type`
though.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 174cdeced0fe0da07a03d0d118bd70b93badfbb1
https://github.com/llvm/llvm-project/commit/174cdeced0fe0da07a03d0d118bd70b93badfbb1
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[nfc] Clarify when the various PGO instrumentation passes run (#92330)
The code seems easier to read if it's centered on what the user wants rather than combinations of whatever internal variables.
Commit: b5f6cc9eb4f661816ef264ad41cb703004380636
https://github.com/llvm/llvm-project/commit/b5f6cc9eb4f661816ef264ad41cb703004380636
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/unittests/Support/ErrorTest.cpp
Log Message:
-----------
Unittest for Error forwarding, follow-up to PR #92208 (#92314)
Added a unittest demonstrating Error -> Expected<T> forwarding.
Commit: 9144553207052a868efc5a8ce61a0afbb0eaf236
https://github.com/llvm/llvm-project/commit/9144553207052a868efc5a8ce61a0afbb0eaf236
Author: Evgenii Stepanov <eugenis at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
Log Message:
-----------
Revert "[RISCV] Remove unneeded casts from int64_t to uint64_t in RISCVMatInt.cpp. NFC"
LLVM is built with C++17, where left shift of any negative value is still UB.
Detected with UBSan on the buildbot.
This reverts commit 0647d1035cb208195e002b38089b82004b6f7b92.
Commit: f42f57b52dd279e6ae19270d063aeb8d59e3f11c
https://github.com/llvm/llvm-project/commit/f42f57b52dd279e6ae19270d063aeb8d59e3f11c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Libomptarget] Rework Record & Replay to be a plugin member (#88928) (#89097)
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: 9d0a8eda0baca51ce61fd5ce7c59864b2b57dcf8
https://github.com/llvm/llvm-project/commit/9d0a8eda0baca51ce61fd5ce7c59864b2b57dcf8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M libc/src/time/gpu/time_utils.cpp
M libc/src/time/gpu/time_utils.h
Log Message:
-----------
[libc][NFC] Replace address space with constant GPU utility
Summary:
This was written before we had the address space helpers. Using
numerical address spaces is bad so this should be removed.
Commit: 61565abcdc4d864a8c7aa7ad23ed441a3762b77d
https://github.com/llvm/llvm-project/commit/61565abcdc4d864a8c7aa7ad23ed441a3762b77d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M libc/src/time/gpu/time_utils.cpp
M libc/src/time/gpu/time_utils.h
Log Message:
-----------
[libc] Fix constant variable initializer
Commit: 479f4a7b68a8b1eb8da7fc3f28638045eaa7dc25
https://github.com/llvm/llvm-project/commit/479f4a7b68a8b1eb8da7fc3f28638045eaa7dc25
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[memprof] Update comments for writeMemProf and its helpers (#92446)
This patch adds comments for writeMemProf{V0,V1,V2} in a
version-specific manner. The mostly repetitive nature of the comments
is somewhat unfortunate but intentional to make it easy to retire
older versions.
Without this patch, the comment just before writeMemProf documents the
Version1 format, which is very confusing.
Commit: f05c068429a86ef2187eae094354c73e8339baa2
https://github.com/llvm/llvm-project/commit/f05c068429a86ef2187eae094354c73e8339baa2
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[InstrProf] Remove unused argv in llvm-profdata.cpp (#92435)
https://github.com/llvm/llvm-project/pull/71328 refactored
`llvm-profdata.cpp` to use subcommands (which is super nice), but left
many unused `argv` variables. This opts to use `ProgName` where
necessary, and removes `argv` otherwise.
Commit: 1ede503910d3133ea1af8c084fee96ca98c66464
https://github.com/llvm/llvm-project/commit/1ede503910d3133ea1af8c084fee96ca98c66464
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/test/Dialect/Tensor/fold-tensor-subset-ops-into-vector-transfers.mlir
Log Message:
-----------
[MLIR][Vector] Implement TransferReadOfExtractSliceOp as MaskableOpRewritePattern (#91960)
Split of https://github.com/llvm/llvm-project/pull/90835
Adds support for `TransferReadOfExtractSliceOpFolder` when the
`TransferReadOp` is inside a `MaskOp`.
Commit: d311a62e2f1ae34a0329c3812f2969cedac93561
https://github.com/llvm/llvm-project/commit/d311a62e2f1ae34a0329c3812f2969cedac93561
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[ctx_profile] Decouple ctx instrumentation from PGOOpt (#92445)
We currently don't support passing files and don't need frontend involvement either.
Commit: 6d2219acabc1882508d695e23d444d3e1cae4ff3
https://github.com/llvm/llvm-project/commit/6d2219acabc1882508d695e23d444d3e1cae4ff3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/src/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Pass '-Werror=global-constructors' to the libomptarget build (#88531)
Summary:
A runtime library should not have global constructors. Everything is now
expected to go through the init methods. This patch ensures that global
constructors will not accidentally be introduced.
Commit: 47d80ec1802d70082c8fd32b4396c98db2c4dba2
https://github.com/llvm/llvm-project/commit/47d80ec1802d70082c8fd32b4396c98db2c4dba2
Author: Jacob Lalonde <jjjlalonde at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
Log Message:
-----------
[LLDB/Coredump] Only take the Pthread from stack start to the stackpointer + red_zone (#92002)
Currently in Core dumps, the entire pthread is copied, including the
unused space beyond the stack pointer. This causes large amounts of core
dump inflation when the number of threads is high, but the stack usage
is low. Such as when an application is using a thread pool.
This change will optimize for these situations in addition to generally
improving the core dump performance for all of lldb.
Commit: e5e562361555fc96c768b1dd3dd99f403f500838
https://github.com/llvm/llvm-project/commit/e5e562361555fc96c768b1dd3dd99f403f500838
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port #91960 (#92458)
Commit: 997eae3673dcd635b60ac63031f01f5dded92f32
https://github.com/llvm/llvm-project/commit/997eae3673dcd635b60ac63031f01f5dded92f32
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
A llvm/test/CodeGen/X86/big-array-init.ll
Log Message:
-----------
[AsmPrinter] Increase upper bound for size in global structs
This is part of the fixes to address #57353
https://reviews.llvm.org/D133845
Pull Request: https://github.com/llvm/llvm-project/pull/92334
Commit: c86a53d75995d65601d5745b2fceb2d50a970645
https://github.com/llvm/llvm-project/commit/c86a53d75995d65601d5745b2fceb2d50a970645
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaTemplate/cwg2398.cpp
Log Message:
-----------
[clang] Implement provisional wording for CWG2398 regarding packs (#90820)
This solves some ambuguity introduced in P0522 regarding how
template template parameters are partially ordered, and should reduce
the negative impact of enabling `-frelaxed-template-template-args`
by default.
When performing template argument deduction, a template template
parameter
containing no packs should be more specialized than one that does.
Given the following example:
```C++
template<class T2> struct A;
template<template<class ...T3s> class TT1, class T4> struct A<TT1<T4>>; // #1
template<template<class T5 > class TT2, class T6> struct A<TT2<T6>>; // #2
template<class T1> struct B;
template struct A<B<char>>;
```
Prior to P0522, candidate `#2` would be more specialized.
After P0522, neither is more specialized, so this becomes ambiguous.
With this change, `#2` becomes more specialized again,
maintaining compatibility with pre-P0522 implementations.
The problem is that in P0522, candidates are at least as specialized
when matching packs to fixed-size lists both ways, whereas before,
a fixed-size list is more specialized.
This patch keeps the original behavior when checking template arguments
outside deduction, but restores this aspect of pre-P0522 matching
during deduction.
---
Since this changes provisional implementation of CWG2398 which has
not been released yet, and already contains a changelog entry,
we don't provide a changelog entry here.
Commit: c79690040acf5bb3d857558b0878db47f7f23dc3
https://github.com/llvm/llvm-project/commit/c79690040acf5bb3d857558b0878db47f7f23dc3
Author: DianQK <dianqk at dianqk.net>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
A llvm/test/Transforms/GlobalOpt/alias-weak.ll
Log Message:
-----------
[GlobalOpt] Don't replace aliasee with alias that has weak linkage (#91483)
Fixes #91312.
Don't perform the transform if the alias may be replaced at link time.
Commit: e578314c049bb9ae6dc3983db5cf27513e29517b
https://github.com/llvm/llvm-project/commit/e578314c049bb9ae6dc3983db5cf27513e29517b
Author: Ryan Thomas Lynch <rlynch34 at gatech.edu>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/IR/CommonAttrConstraints.td
Log Message:
-----------
[MLIR Attr] add ArrayMaxCount attribute constraint (#92453)
this is the dual of ArrayMinCount. I saw that I needed it but it didn't
exist yet
Commit: 84abe0a6d4face73c15ed6344be74ae231f18718
https://github.com/llvm/llvm-project/commit/84abe0a6d4face73c15ed6344be74ae231f18718
Author: Dan Liew <delcypher at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[Bounds-Safety] Reserve slot in SanitizerHandler enum for Bounds-Safety (#91032)
Due to how `CodeGenFunction::EmitTrapCheck` is implemented
`SanitizerHandler` with numeric value 0x19 needs to be reserved because
`-fbounds-safety` generates trap instructions with that value embedded
in the trap instructions for x86_64 and arm64 just like for UBSan traps.
** x86_64 **
```
ud1l 0x19(%eax), %eax
```
** arm64 **
```
brk #0x5519
```
To avoid upstream Clang and AppleClang diverging their ABIs for
`-fbounds-safety` the slot is being reserved in this patch.
`SanitizerHandler::BoundsSafety` currently has no uses in the code but
uses will be introduced when the CodeGen side of `-fbounds-safety`'s
implementation is upstreamed.
rdar://126884014
Co-authored-by: Dan Liew <dan at su-root.co.uk>
Commit: d6f9278ae9e587d2d23a9940a2364aaafba74735
https://github.com/llvm/llvm-project/commit/d6f9278ae9e587d2d23a9940a2364aaafba74735
Author: James Y Knight <jyknight at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/atomic-non-integer-fp128.ll
M llvm/test/CodeGen/X86/atomic-non-integer.ll
A llvm/test/CodeGen/X86/atomic-unaligned.ll
M llvm/test/CodeGen/X86/atomic-unordered.ll
M llvm/test/CodeGen/X86/atomic128.ll
M llvm/test/CodeGen/X86/cmpxchg-i128-i1.ll
Log Message:
-----------
[X86] Use plain load/store instead of cmpxchg16b for atomics with AVX (#74275)
In late 2021, both Intel and AMD finally documented that every
AVX-capable CPU has always been guaranteed to execute aligned 16-byte
loads/stores atomically, and further, guaranteed that all future CPUs
with AVX will do so as well.
Therefore, we may use normal SSE 128-bit load/store instructions to
implement atomics, if AVX is enabled.
Per AMD64 Architecture Programmer's manual, 7.3.2 Access Atomicity:
> Processors that report [AVX] extend the atomicity for cacheable,
> naturally-aligned single loads or stores from a quadword to a double
> quadword.
Per Intel's SDM:
> Processors that enumerate support for Intel(R) AVX guarantee that the
> 16-byte memory operations performed by the following instructions will
> always be carried out atomically:
> - MOVAPD, MOVAPS, and MOVDQA.
> - VMOVAPD, VMOVAPS, and VMOVDQA when encoded with VEX.128.
> - VMOVAPD, VMOVAPS, VMOVDQA32, and VMOVDQA64 when encoded with
> EVEX.128 and k0 (masking disabled).
This was also confirmed to be true for Zhaoxin CPUs with AVX, in
https://gcc.gnu.org/PR104688
Commit: f88760f3118a106be847a8d5296931a8e44c72f8
https://github.com/llvm/llvm-project/commit/f88760f3118a106be847a8d5296931a8e44c72f8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
Log Message:
-----------
[TableGen] Remove unnecessary StringRef constructor call from LessRecord(). NFC
Record::getName already returns a StringRef. When this code was
originally written getName returned const std::string &.
Commit: 2a4ee605b03bc69c296d0388239d9c837e787995
https://github.com/llvm/llvm-project/commit/2a4ee605b03bc69c296d0388239d9c837e787995
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/TableGen/Record.cpp
Log Message:
-----------
[TableGen] Use LessRecord() for the sort in getAllDerivedDefinitions instead of re-implementing it. NFC
Commit: f210152e5fbcec1c50ff5ccc1f6680ab2c39b46f
https://github.com/llvm/llvm-project/commit/f210152e5fbcec1c50ff5ccc1f6680ab2c39b46f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] constrain `SemaCXX/cxx20-ctad-type-alias.cpp` target triple
The test expectations are otherwise affected by the underlying type of size_t.
Commit: fe4d5f0d0e457a0a7dec2c7dc87996706b30a25e
https://github.com/llvm/llvm-project/commit/fe4d5f0d0e457a0a7dec2c7dc87996706b30a25e
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] NFC: stray space cleanup
Commit: fa9b1be45088dce1e4b602d451f118128b94237b
https://github.com/llvm/llvm-project/commit/fa9b1be45088dce1e4b602d451f118128b94237b
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
A llvm/test/ThinLTO/X86/ref-ifunc.ll
Log Message:
-----------
[ThinLTO]Mark referencers of local ifunc not eligible for import (#92431)
If an ifunc has local linkage, do not add it into ref edges and mark its
referencer (a function or global variable) not eligible for import. An
ifunc doesn't have summary and ThinLTO cannot promote it. Importing the
referencer may cause linkage errors.
To reference a similar fix, https://reviews.llvm.org/D158961 marks
callers of local ifunc not eligible for import to fix
https://github.com/llvm/llvm-project/issues/58740
Commit: 96d2db4ba9016b4512e7cd27d7dfda209d07ce62
https://github.com/llvm/llvm-project/commit/96d2db4ba9016b4512e7cd27d7dfda209d07ce62
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
A llvm/test/CodeGen/LoongArch/libcall-extend.ll
Log Message:
-----------
[LoongArch] Pre-commit test for lib call auguments extension
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/92374
Commit: 5a204a5f0a19417c1c0bd71834dee7ba129e6776
https://github.com/llvm/llvm-project/commit/5a204a5f0a19417c1c0bd71834dee7ba129e6776
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
M llvm/test/CodeGen/LoongArch/libcall-extend.ll
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
Log Message:
-----------
[LoongArch] Use sign extend for i32 arguments in makeLibCall on LA64
The 32 bits arguments and returns on LA64 are always sign extended to
i64. So we should be taking this into account around libcalls.
Reviewed By: heiher, SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/92375
Commit: bf1d4172335689f62e4f7368446f0026c595330b
https://github.com/llvm/llvm-project/commit/bf1d4172335689f62e4f7368446f0026c595330b
Author: wanglei <wanglei at loongson.cn>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
M llvm/test/CodeGen/LoongArch/libcall-extend.ll
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
Log Message:
-----------
[LoongArch] Suppress the unnecessary extensions for arguments in makeLibCall
Reviewed By: SixWeining, heiher
Pull Request: https://github.com/llvm/llvm-project/pull/92376
Commit: 8fe39e64c0ef0a1aefce3c1187c5822343caeedd
https://github.com/llvm/llvm-project/commit/8fe39e64c0ef0a1aefce3c1187c5822343caeedd
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Don't always break before << between string literals (#92214)
Instead, leave the line wrapping as is.
Fixes #43887.
Fixes #44363.
Commit: 88d351e2e62d2ff291f3e6dea6b7e425f683285b
https://github.com/llvm/llvm-project/commit/88d351e2e62d2ff291f3e6dea6b7e425f683285b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a regression in annotating struct braces (#92352)
Fixes #92350.
Commit: ebf283162f5a0e7e9392c3a825e060856eee0991
https://github.com/llvm/llvm-project/commit/ebf283162f5a0e7e9392c3a825e060856eee0991
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/bindings/CMakeLists.txt
M lldb/bindings/headers.swig
M lldb/bindings/interfaces.swig
Log Message:
-----------
[lldb] Include SBLanguages in the SWIG bindings (#92470)
Commit: 552927840319572a649cdec2d8bf2e688a5df490
https://github.com/llvm/llvm-project/commit/552927840319572a649cdec2d8bf2e688a5df490
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/bindings/CMakeLists.txt
M lldb/bindings/headers.swig
M lldb/bindings/interfaces.swig
Log Message:
-----------
Revert "[lldb] Include SBLanguages in the SWIG bindings" (#92490)
Reverts llvm/llvm-project#92470
Commit: 9f15aa009c36d2c108f0f2d09c2e9b283ebc4453
https://github.com/llvm/llvm-project/commit/9f15aa009c36d2c108f0f2d09c2e9b283ebc4453
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFC] Rename DataAggregator::BranchInfo to TakenBranchInfo
Align the name to its counterpart `FTInfo` which avoids name aliasing
with llvm::bolt::BranchInfo and allows to drop namespace specifier.
Test Plan: NFC
Reviewers: maksfb, rafaelauler, ayermolo, dcci
Reviewed By: dcci
Pull Request: https://github.com/llvm/llvm-project/pull/92017
Commit: c33922666ce219fd6cb3341c3394f72050599552
https://github.com/llvm/llvm-project/commit/c33922666ce219fd6cb3341c3394f72050599552
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Target/PathMappingList.cpp
Log Message:
-----------
[lldb] Use operator==(StringRef, StringRef) instead of StringRef::equals (NFC) (#92476)
Note that StringRef::equals has been deprecated in favor of
operator==(StringRef, StringRef).
Commit: 5d8354c009d5625fa140be47de1f91275f4698d3
https://github.com/llvm/llvm-project/commit/5d8354c009d5625fa140be47de1f91275f4698d3
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/lib/Lower/DirectivesCommon.h
M flang/test/Lower/OpenMP/atomic-write.f90
Log Message:
-----------
[Flang][OpenMP]Missing convert to lhsType in atomic write (#92346)
Fixes test.f90 in #83144.
This issue is observed only when a boolean constant is assigned to a
logical variable. In non-openmp flow, a conversion op is inserted before
assigning it to a logical variable. This patch will insert a fir.convert
operation when the types are not the same, before generating the atomic
write operation.
I've proposed another patch(#85059 ) which removes checks at MLIR level
and looks like it's too permissive. I'm planning to abandon this patch
and address it here.
Commit: d395b56a52e9809ec3ea1139f5b30698c9f4e247
https://github.com/llvm/llvm-project/commit/d395b56a52e9809ec3ea1139f5b30698c9f4e247
Author: Pavel Samolysov <samolisov at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/test/ExecutionEngine/JITLink/AArch64/ELF_relocations.s
Log Message:
-----------
[JITLink][AArch64] Implement R_AARCH64_LDR_PREL_LO19 (#82172)
This relocation is used for the 32-bit aligned 21-bit immediate in LDR
Literal instructions.
Commit: aaa8a8000009890b79effb0d0f3c6f989a3d5563
https://github.com/llvm/llvm-project/commit/aaa8a8000009890b79effb0d0f3c6f989a3d5563
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
Log Message:
-----------
[CodeGen] Use operator==(StringRef, StringRef) (NFC)
The LHS and RHS are of SmallString and StringRef, respectively. We
can safely use operator==(StringRef, SringRef) with one implicit
conversion from SmallString to StringRef.
Commit: a26fbf36a78a703be2da0744131a8d6ecbdb7c67
https://github.com/llvm/llvm-project/commit/a26fbf36a78a703be2da0744131a8d6ecbdb7c67
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
Log Message:
-----------
[Sema] Use SmallString::empty (NFC)
Commit: f4066fa2dd21c65bf0e24a479634c9a2d276cf8e
https://github.com/llvm/llvm-project/commit/f4066fa2dd21c65bf0e24a479634c9a2d276cf8e
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Lex/LiteralSupport.h
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/AST/const-fpfeatures.c
M clang/test/AST/const-fpfeatures.cpp
Log Message:
-----------
[clang] Use constant rounding mode for floating literals (#90877)
Conversion of floating-point literal to binary representation must be
made using constant rounding mode, which can be changed using pragma
FENV_ROUND. For example, the literal "0.1F" should be representes by
either 0.099999994 or 0.100000001 depending on the rounding direction.
Commit: 14030d71693b046784ff19cc157074e4db23e74f
https://github.com/llvm/llvm-project/commit/14030d71693b046784ff19cc157074e4db23e74f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPContext.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
Log Message:
-----------
[llvm] Drop explicit conversions of string literals to StringRef (NFC)
We routinely rely on implicit conversions of string literals to
StringRef so that we can use operator==(StringRef, StringRef).
Commit: f71749c5ef8667e3fc23820e8e94864653ea9ac9
https://github.com/llvm/llvm-project/commit/f71749c5ef8667e3fc23820e8e94864653ea9ac9
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-16 (Thu, 16 May 2024)
Changed paths:
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang] Drop explicit conversions of string literals to StringRef (NFC)
We routinely rely on implicit conversions of string literals to
StringRef so that we can use operator==(StringRef, StringRef).
The LHS here are all known to be of StringRef.
Commit: 9bffe790499e99a4110a33988100ba45835e905e
https://github.com/llvm/llvm-project/commit/9bffe790499e99a4110a33988100ba45835e905e
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-17 (Fri, 17 May 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
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
Log Message:
-----------
[GlobalIsel] Speedup select to integer min/max (#92378)
https://github.com/llvm/llvm-project/issues/92309
Commit: bc9823cf60bf91cc8b45248c4205cd2c67b2a3d5
https://github.com/llvm/llvm-project/commit/bc9823cf60bf91cc8b45248c4205cd2c67b2a3d5
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[X86][BF16] Change MVT to EVT in combineFP_EXTEND
Fixes: #92471
Commit: f43deca2538b717f5669ce8116cc4c040bde87c8
https://github.com/llvm/llvm-project/commit/f43deca2538b717f5669ce8116cc4c040bde87c8
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
Fix Tan inaccuracies on extreme complex inputs. (#92443)
Specifically, those with small/large absolute values. This ports
https://github.com/openxla/xla/pull/10525 and was verified with XLA's
test suite.
Commit: 5b7088c3619e95eaa8e154765470ddb4d3859fa4
https://github.com/llvm/llvm-project/commit/5b7088c3619e95eaa8e154765470ddb4d3859fa4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Analysis/TargetLibraryInfo.cpp
Log Message:
-----------
TargetLibraryInfo: Assume no libcalls in the default constructor (#92400)
The only tricky point here is PlaceSafepoints has an awful hack where
it's creating a legacy PassManager inside it's runImpl, which was not
propagating the incoming TLI. This means there's an implicit bug fix,
where PlaceSafepoints would have been treating too many calls as
builtins.
I'm trying to delete the default constructor altogether, but this seems
to be more difficult.
Commit: 37d00635c4ff1b656a49635e826aeff8063dc1e8
https://github.com/llvm/llvm-project/commit/37d00635c4ff1b656a49635e826aeff8063dc1e8
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/phi-insert-point.ll
Log Message:
-----------
[SPIR-V] Ensure that internal intrinsic functions for PHI's operand are inserted at the correct positions (#92316)
This PR is to ensure that internal intrinsic functions for PHI's operand
are inserted at the correct positions and don't break rules of
instruction domination and PHI nodes grouping at top of basic block.
Commit: e0a293d12f3fe1c2a284e2e116cfa77d894da49f
https://github.com/llvm/llvm-project/commit/e0a293d12f3fe1c2a284e2e116cfa77d894da49f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp:964:26:
error: missing 'typename' prior to dependent type name Op::Adaptor;
implicit 'typename' is a C++20 extension
[-Werror,-Wc++20-extensions]
Commit: b27eb0ae8280675fc8fb249d39f1ccafa3ee2187
https://github.com/llvm/llvm-project/commit/b27eb0ae8280675fc8fb249d39f1ccafa3ee2187
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/test/API/functionalities/completion/TestCompletion.py
Log Message:
-----------
[lldb] Avoid modifying the source tree in TestCompletion.py
This was a side-effect of the "optimization" in #92281. Deoptimize the
code slightly.
Commit: c4bac7f7dcd931a5e561604e95656a24c3d1c9d9
https://github.com/llvm/llvm-project/commit/c4bac7f7dcd931a5e561604e95656a24c3d1c9d9
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
A llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll
Log Message:
-----------
[LLVM][AArch64]Use load/store with consecutive registers in SME2 or S… (#77665)
…VE2.1 for spill/fill
When possible the spill/fill register in Frame Lowering uses the ld/st
consecutive pairs available in sme or sve2.1.
Commit: 5a20a07fce88d54cf01cafde489bfc2fc447acc0
https://github.com/llvm/llvm-project/commit/5a20a07fce88d54cf01cafde489bfc2fc447acc0
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64] Fix -Wunused-variable in AArch64FrameLowering.cpp (NFC)
llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:3084:31:
error: unused variable 'Subtarget' [-Werror,-Wunused-variable]
const AArch64Subtarget &Subtarget = MF.getSubtarget<AArch64Subtarget>();
^
llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:3253:31:
error: unused variable 'Subtarget' [-Werror,-Wunused-variable]
const AArch64Subtarget &Subtarget = MF.getSubtarget<AArch64Subtarget>();
^
2 errors generated.
Commit: ee54c86ef70d7809e7d67cd44de2d3153b31c46e
https://github.com/llvm/llvm-project/commit/ee54c86ef70d7809e7d67cd44de2d3153b31c46e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Basic/SourceManager.h
M clang/lib/Basic/SourceManager.cpp
Log Message:
-----------
[clang][NFC] Improve const-correctness in `SourceManager` (#92436)
This patch adds several const-qualified variants of existing member
functions to `SourceManager`.
I started with removing const qualification from
`setNumCreatedFIDsForFileID`, and removing `const_cast` in the body of
this function, as I think it doesn't make sense to const-qualify
setters.
Commit: 33bf08ec36efc2fc2df8217eddd751cef9bc6be6
https://github.com/llvm/llvm-project/commit/33bf08ec36efc2fc2df8217eddd751cef9bc6be6
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
A lldb/test/API/tools/lldb-dap/repl-mode/Makefile
A lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
A lldb/test/API/tools/lldb-dap/repl-mode/main.cpp
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb-dap] Correctly detect alias commands with arguments in repl (#92137)
ResolveCommand will not succeed for an alias command with arguments, and
the code wasn't providing any. Replace that with explicit query(ies) for
the existence of a command with the given name.
Commit: 7a6747939218efbe3b1d2cc0f896dfa97c0ff40f
https://github.com/llvm/llvm-project/commit/7a6747939218efbe3b1d2cc0f896dfa97c0ff40f
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/test/ExtractAPI/class_template.cpp
M clang/test/ExtractAPI/class_template_param_inheritance.cpp
M clang/test/ExtractAPI/class_template_partial_spec.cpp
M clang/test/ExtractAPI/class_template_spec.cpp
M clang/test/ExtractAPI/concept.cpp
M clang/test/ExtractAPI/field_template.cpp
M clang/test/ExtractAPI/global_func_template.cpp
M clang/test/ExtractAPI/global_func_template_spec.cpp
M clang/test/ExtractAPI/global_var_template.cpp
M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
M clang/test/ExtractAPI/global_var_template_spec.cpp
M clang/test/ExtractAPI/method_template.cpp
M clang/test/ExtractAPI/method_template_spec.cpp
A clang/test/ExtractAPI/non_type_template.cpp
Log Message:
-----------
[clang][ExtractAPI] Correctly generate declaration fragments for non-type template parameters (#91958)
Previously we only generated declaration fragments for template type
parameters/arguments, this adds supports for most other possible
template parameters/arguments.
rdar://127732598
Commit: b6fa78d54cf761b232b00222a39fbfe974cb8a16
https://github.com/llvm/llvm-project/commit/b6fa78d54cf761b232b00222a39fbfe974cb8a16
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] refactor sortPtrAccesses (NFC) (#92256)
Use the destructuring syntax in C++ and llvm::enumerate to make
sortPtrAccesses a little more readable.
Commit: 2ed8ff3bf84e682b7c6ae9ad6370db629166653c
https://github.com/llvm/llvm-project/commit/2ed8ff3bf84e682b7c6ae9ad6370db629166653c
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/builtin_alloca.ll
Log Message:
-----------
[SPIR-V] Fix types of internal intrinsic functions and add a test case for __builtin_alloca() (#92265)
This PR generation of argument types of internal intrinsic functions
`spv_const_composite` and `spv_track_constant`, so that composite
constants of ConstantVector type preserve their correct type in
transformation passes and can be successfully used further by LLVM
intrinsic functions.
The added test case serves two purposes: it is to check the above
mentioned fix and to demonstrate that a call to __builtin_alloca() maps
to instructions from SPV_INTEL_variable_length_array when this extension
is available.
Commit: e3e06135eb16a1b9d84796a6cbb14cac1c1cf543
https://github.com/llvm/llvm-project/commit/e3e06135eb16a1b9d84796a6cbb14cac1c1cf543
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
Log Message:
-----------
[SPIR-V] Ensure that we don't have a dangling BlockAddress constants after internal intrinsic 'spv_switch' is processed (#92390)
After internal intrinsic 'spv_switch' is processed we need to delete
G_BLOCK_ADDR instructions that were generated to keep track of the
corresponding basic blocks. If we just delete G_BLOCK_ADDR instructions
with BlockAddress operands, this leaves their BasicBlock counterparts in
a "address taken" status. This would make AsmPrinter to generate a
series of unneeded labels of a `"Address of block that was removed by
CodeGen"` kind. This PR is to ensure that we don't have a dangling
BlockAddress constants by zapping the BlockAddress nodes, and only after
that proceed with erasing G_BLOCK_ADDR instructions.
See also https://github.com/llvm/llvm-project/pull/87823 for more
details.
Commit: 7c16e7d9cd37d7d1162866c5ac29fe4ab2e24a5a
https://github.com/llvm/llvm-project/commit/7c16e7d9cd37d7d1162866c5ac29fe4ab2e24a5a
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-17 (Fri, 17 May 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/AddAliasTags.cpp
Log Message:
-----------
[flang][NFC] Use tablegen to reduce AddAliasTags boilerplate (#92373)
I will make this pass run properly on more top-level operations in a
follow up patch.
Commit: d0e2808f806ece6d2aa8d359a700afab87ded16b
https://github.com/llvm/llvm-project/commit/d0e2808f806ece6d2aa8d359a700afab87ded16b
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
A llvm/test/Transforms/LoopLoadElim/update-debugloc-store-forwarded.ll
Log Message:
-----------
[DebugInfo][LoopLoadElim] Fix missing debug location updates (#91839)
Commit: 698cf0176b3146993134354b02c9a67352d9d27e
https://github.com/llvm/llvm-project/commit/698cf0176b3146993134354b02c9a67352d9d27e
Author: Johannes Reifferscheid <jreiffers at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
A llvm/test/CodeGen/NVPTX/i1-array-global.ll
Log Message:
-----------
Fix i1 array global crash in NVPTXAsmPrinter. (#92506)
See the test file. At head, this crashes with
```
assertion failed at llvm/lib/Support/APInt.cpp:492 in
uint64_t llvm::APInt::extractBitsAsZExtValue(unsigned int, unsigned int) const:
bitPosition < BitWidth && (numBits + bitPosition) <= BitWidth &&
"Illegal bit extraction"
```
Commit: c93b45aaee62700f61ddc366d971bde594459324
https://github.com/llvm/llvm-project/commit/c93b45aaee62700f61ddc366d971bde594459324
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/test/Conversion/ArmSMEToLLVM/tile-spills-and-fills.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
Log Message:
-----------
[mlir][ArmSME] Reword in-memory tile warning (NFC) (#92415)
It did not make sense that this said "all tile operations will go
through memory". Only the operations where the warning is emitted will
go through memory. The message has been updated to reflect that.
Commit: bbe40b9e0a24605e0526475e643312839772294f
https://github.com/llvm/llvm-project/commit/bbe40b9e0a24605e0526475e643312839772294f
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/MC/MCSectionELF.cpp
M llvm/test/MC/ELF/section-numeric-invalid-type.s
Log Message:
-----------
[MCAsmStreamer] Do not crash on switching to sections of unknown types (#92380)
MCObjectStreamer already accepts unknown types.
Commit: 4349ffb3fa268dba180b7c65fdce20a0be60272b
https://github.com/llvm/llvm-project/commit/4349ffb3fa268dba180b7c65fdce20a0be60272b
Author: David Green <david.green at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/selectopt-not.ll
Log Message:
-----------
[SelectOpt] Add tests for not select conditions. NFC
Commit: 37c6b9ff7245a76056ca3363bdef4e593e7e6c9d
https://github.com/llvm/llvm-project/commit/37c6b9ff7245a76056ca3363bdef4e593e7e6c9d
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/AliasSetTracker.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
[NFC][LLVM] Mainly whitespace changes.
Also marks AliasSetTracker::size() as const.
Commit: 58bad2862cf136f9483eb005bbfa6915d459b46d
https://github.com/llvm/llvm-project/commit/58bad2862cf136f9483eb005bbfa6915d459b46d
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
M clang/unittests/StaticAnalyzer/ConflictingEvalCallsTest.cpp
M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
M clang/unittests/StaticAnalyzer/NoStateChangeFuncVisitorTest.cpp
Log Message:
-----------
[analyzer][NFC] Require explicit matching mode for CallDescriptions (#92454)
This commit deletes the "simple" constructor of `CallDescription` which
did not require a `CallDescription::Mode` argument and always used the
"wildcard" mode `CDM::Unspecified`.
A few months ago, this vague matching mode was used by many checkers,
which caused bugs like https://github.com/llvm/llvm-project/issues/81597
and https://github.com/llvm/llvm-project/issues/88181. Since then, my
commits improved the available matching modes and ensured that all
checkers explicitly specify the right matching mode.
After those commits, the only remaining references to the "simple"
constructor were some unit tests; this commit updates them to use an
explicitly specified matching mode (often `CDM::SimpleFunc`).
The mode `CDM::Unspecified` was not deleted in this commit because it's
still a reasonable choice in `GenericTaintChecker` and a few unit tests.
Commit: ddb87e0f96c7d23b9b824fa9e2710c0fe11bb86b
https://github.com/llvm/llvm-project/commit/ddb87e0f96c7d23b9b824fa9e2710c0fe11bb86b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/atomicrmw-ops-i128.ll
Log Message:
-----------
SystemZ: Use REG_SEQUENCE for PAIR128 (#90640)
PAIR128 should probably just be removed entirely
Depends #90638
Commit: 1e7d047c71ce0a8076f774b9106cd7a499a1c542
https://github.com/llvm/llvm-project/commit/1e7d047c71ce0a8076f774b9106cd7a499a1c542
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/outer_loop_test1.ll
Log Message:
-----------
[VPlan] Mark LoopInfo preserved in native-path as well (NFC).
LoopInfo is updated during VPlan execution now, so it will also be
updated correctly in the native path.
Commit: ac092925c3fa61144e606c7a9d0d375b96e1abda
https://github.com/llvm/llvm-project/commit/ac092925c3fa61144e606c7a9d0d375b96e1abda
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
Log Message:
-----------
[SelectionDAG] Widen cttz to cttz_zero_undef (#92514)
Instead of widening e.g. i8 cttz(x) to i16 cttz(x | 0x100), use the more
optimizable form cttz_zero_undef(x | 0x100) since the widened operand is
definitely not zero.
Commit: d1cff36e5e37cd552ec049335feb1dd8f94517ea
https://github.com/llvm/llvm-project/commit/d1cff36e5e37cd552ec049335feb1dd8f94517ea
Author: Andi Drebes <47449897+andidr at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp
Log Message:
-----------
[MLIR][analysis] Lattice: Fix automatic delegation of meet to lattice value classes (#82620)
The class `Lattice` should automatically delegate invocations of the
meet operator to the meet operation of the associated lattice value
class if that class provides a static function called `meet`. This
process fails for two reasons:
1. `Lattice::has_meet` checks for a member function `meet` without
arguments of the lattice value class, although it should check for a
static member function.
2. The function template `Lattice::meet<VT>()` implementing the default
meet operation directly in the lattice is always present and takes
precedence over the delegating function template `Lattice::meet<VT,
std::integral_constant<bool, true>>()`.
This change fixes the automatic delegation of the meet operation of a
lattice to the lattice value class in the presence of a static `meet`
function by conditionally enabling either the delegating function
template or the non-delegating function template and by changing
`Lattice::has_meet` so that it checks for a static `meet` member
function in the lattice value type.
The test from `TestSparseBackwardDataFlowAnalysis.cpp` is changed, such
that the `meet` function is not provided directly in the `WrittenTo`
lattice, but by the `Lattice` base class in order to trigger delegation
to a lattice value class.
Commit: a2590e0c145c56928a8870d9a6ea76ccbf4fcfeb
https://github.com/llvm/llvm-project/commit/a2590e0c145c56928a8870d9a6ea76ccbf4fcfeb
Author: Matthias Springer <me at m-sp.org>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Transforms/OneToNTypeConversion.h
M mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
Log Message:
-----------
[mlir][Transforms] Make 1:N function conversion pattern interface-based (#92395)
This commit turns the 1:N dialect conversion pattern for function
signatures into a pattern for `FunctionOpInterface`. This is similar to
the interface-based pattern that is provided with the 1:1 dialect
conversion (`populateFunctionOpInterfaceTypeConversionPattern`). No
change in functionality apart from supporting all `FunctionOpInterface`
ops and not just `func::FuncOp`.
Commit: 98deedae929fce01f0c40d5a55d00e93fb121981
https://github.com/llvm/llvm-project/commit/98deedae929fce01f0c40d5a55d00e93fb121981
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
Log Message:
-----------
[X86][CodeGen] Use switch-case for transform in X86DAGToDAGISel::PostprocessISelDAG, NFCI
This is to simplify code for #91747
Commit: 0ad275c1588065c9f4ef45a6a88f062182ad446b
https://github.com/llvm/llvm-project/commit/0ad275c1588065c9f4ef45a6a88f062182ad446b
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/vector-logical-reductions.ll
M llvm/test/Transforms/InstCombine/vector-reductions.ll
Log Message:
-----------
[InstCombine] Fold vector.reduce.op(vector.reverse(X)) -> vector.reduce.op(X) (#91743)
For all of the following reductions:
vector.reduce.or
vector.reduce.and
vector.reduce.xor
vector.reduce.add
vector.reduce.mul
vector.reduce.umin
vector.reduce.umax
vector.reduce.smin
vector.reduce.smax
vector.reduce.fmin
vector.reduce.fmax
if the input operand is the result of a vector.reverse then we can
perform a reduction on the vector.reverse input instead since the answer
is the same. If the reassociation is permitted we can also do the same
folds for these:
vector.reduce.fadd
vector.reduce.fmul
Commit: a68d20e986053ec571223a9f3ead3e146a27dc82
https://github.com/llvm/llvm-project/commit/a68d20e986053ec571223a9f3ead3e146a27dc82
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/SemaCXX/cxx-deprecated.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Implement CWG2428 "Deprecating a concept" (#92295)
This patch allows attributes to be attached to C++20 concepts,
implementing
[CWG2428](https://cplusplus.github.io/CWG/issues/2428.html).
Commit: 371eccd5dfed88c8e76449233d8388c12be3464b
https://github.com/llvm/llvm-project/commit/371eccd5dfed88c8e76449233d8388c12be3464b
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang-tools-extra/clang-query/CMakeLists.txt
M clang-tools-extra/clang-query/Query.cpp
M clang-tools-extra/clang-query/Query.h
M clang-tools-extra/clang-query/QueryParser.cpp
M clang-tools-extra/clang-query/QuerySession.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
M clang/docs/tools/clang-formatted-files.txt
R clang/include/clang/Tooling/NodeIntrospection.h
M clang/lib/Tooling/CMakeLists.txt
R clang/lib/Tooling/DumpTool/APIData.h
R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.cpp
R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.h
R clang/lib/Tooling/DumpTool/CMakeLists.txt
R clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
R clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
R clang/lib/Tooling/EmptyNodeIntrospection.inc.in
R clang/lib/Tooling/NodeIntrospection.cpp
M clang/unittests/CMakeLists.txt
R clang/unittests/Introspection/CMakeLists.txt
R clang/unittests/Introspection/IntrospectionTest.cpp
M llvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
R llvm/utils/gn/secondary/clang/lib/Tooling/DumpTool/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
R llvm/utils/gn/secondary/clang/unittests/Introspection/BUILD.gn
Log Message:
-----------
[clang-query] Remove support for srcloc output (#92442)
This functionality was added about three years ago, but has been in a
significantly broken state since it was added. It has begun to cause a
maintenance burden for work in Clang (largely due to the complexity of
having two levels of code generation involved), and the original author
is unable to help maintain it. Because it only worked under limited
circumstances and because of the maintenance burden, it is being
removed. If someone wishes to resurrect the functionality, they should
hopefully be able to do so from this one commit.
Fixes #82591
Commit: f5c8242042c959cbf476778e1d8a874fc8747801
https://github.com/llvm/llvm-project/commit/f5c8242042c959cbf476778e1d8a874fc8747801
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
A llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
M llvm/test/Transforms/InstCombine/pow_fp_int.ll
M llvm/test/Transforms/InstCombine/pow_fp_int16.ll
Log Message:
-----------
SimplifyLibCalls: Prefer to emit intrinsic in pow(2, x) -> ldexp(1, x) (#92363)
Commit: 3a32590f25482e283a79dea1f313a226a6dd392f
https://github.com/llvm/llvm-project/commit/3a32590f25482e283a79dea1f313a226a6dd392f
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
Log Message:
-----------
[AArch64] Avoid using NEON FCVTXN in Streaming-SVE mode. (#91981)
Commit: 932ca85680db5e4579306f37e55746097fb8ec7f
https://github.com/llvm/llvm-project/commit/932ca85680db5e4579306f37e55746097fb8ec7f
Author: Romaric Jodin <89833130+rjodinchr at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CodeGenFunction.cpp
A clang/test/CodeGen/clspv_libclc_builtin.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M libclc/generic/include/clc/clcfunc.h
Log Message:
-----------
libclc: remove __attribute__((assume)) for clspv targets (#92126)
Instead add a proper attribute in clang, and add convert it to function
metadata to keep the information in the IR. The goal is to remove the
dependency on __attribute__((assume)) that should have not be there in
the first place.
Ref https://github.com/llvm/llvm-project/pull/84934
Commit: 9917f3ce641490ff95a11d22e37754a972c05420
https://github.com/llvm/llvm-project/commit/9917f3ce641490ff95a11d22e37754a972c05420
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
M clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
M clang/test/Sema/aarch64-sme2p1-diagnostics.c
Log Message:
-----------
[Clang][AArch64] Require SVE or SSVE for scalable types. (#91356)
Scalable types are only available when:
* The function is compiled with +sve
* The function is compiled with +sme and the function is executed in
Streaming-SVE mode.
Commit: f39af73f3edcc949bf9dc3535effc59afbcdda22
https://github.com/llvm/llvm-project/commit/f39af73f3edcc949bf9dc3535effc59afbcdda22
Author: Youngsuk Kim <youngsuk.kim at hpe.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Sema/bool-compare.c
M clang/test/Sema/parentheses.cpp
M clang/test/SemaCXX/bool-compare.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
M clang/test/SemaTemplate/typo-template-name.cpp
Log Message:
-----------
[clang][Sema] Warn consecutive builtin comparisons in an expression (#92200)
Add warning under `-Wparentheses` for consistency with `gcc 14.1`.
Closes #20456
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: b1161b2a40d89d4146f6b81fda073a37479edf0f
https://github.com/llvm/llvm-project/commit/b1161b2a40d89d4146f6b81fda073a37479edf0f
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/nested-distribute.f90
Log Message:
-----------
[Flang][OpenMP] Fix semantics check for nested DISTRIBUTE (#91592)
Composite OpenMP constructs where DISTRIBUTE is the first leaf
construct, as well as standalone DISTRIBUTE constructs, are allowed
inside of TEAMS regions.
Before this patch, nesting a DISTRIBUTE construct inside of a combined
TARGET TEAMS construct was disallowed, which it shouldn't be. Now both
TEAMS and TARGET TEAMS constructs can be immediate parents of DISTRIBUTE
constructs.
Commit: a43d2f686a46fd9d971aa65fde4563375e16f3de
https://github.com/llvm/llvm-project/commit/a43d2f686a46fd9d971aa65fde4563375e16f3de
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.h
Log Message:
-----------
[Flang][OpenMP] NFC: Fix typo in include guard (#91593)
Commit: 502ccd81c6bcf913d2eddf9ed24496a9a634e808
https://github.com/llvm/llvm-project/commit/502ccd81c6bcf913d2eddf9ed24496a9a634e808
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[MLIR][OpenMP] NFC: Remove redundant check (#91594)
The check removed by this patch in the OpenMP to LLVM IR translation
pass already exists as part of the op verifier for `omp.loop_nest`.
Commit: d3d5a30021b8df26ac4b2b01e659ab8487fb4080
https://github.com/llvm/llvm-project/commit/d3d5a30021b8df26ac4b2b01e659ab8487fb4080
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Remove `const_cast` from `ParseClassSpecifier`
Commit: 89b83d2d3f2ae7b806987143167e8ccb79c6d674
https://github.com/llvm/llvm-project/commit/89b83d2d3f2ae7b806987143167e8ccb79c6d674
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
M .github/workflows/issue-subscriber.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-request-release-note.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-binaries.yml
M .github/workflows/version-check.yml
M llvm/utils/git/requirements.txt
Log Message:
-----------
[git] Add hashes to requirements.txt for extra security (#92305)
https://pip.pypa.io/en/stable/topics/secure-installs/
Commit: 6677aef28583526c65073bd2406ca1246a41c2a8
https://github.com/llvm/llvm-project/commit/6677aef28583526c65073bd2406ca1246a41c2a8
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Sema/SemaTemplate.cpp
Log Message:
-----------
[clang][NFC] Remove const-qualification from `FunctionTemplateSpecializationInfo::TemplateArguments` (#92500)
This patch remove const-qualification from pointee type of
`FunctionTemplateSpecializationInfo::TemplateArguments`, because it's
(eventually) used to initialize `MultiLevelTemplateArgumentList`, which
can actually mutate the arguments via
https://github.com/llvm/llvm-project/blob/f42f57b52dd279e6ae19270d063aeb8d59e3f11c/clang/include/clang/Sema/Template.h#L197-L204
Mutation seems to be required to correctly handle packs:
https://github.com/llvm/llvm-project/blob/9144553207052a868efc5a8ce61a0afbb0eaf236/clang/lib/Sema/SemaTemplateInstantiate.cpp#L1440-L1469
Commit: a0cc1ab97888ea15647d9dfb82d51aed7f9e446e
https://github.com/llvm/llvm-project/commit/a0cc1ab97888ea15647d9dfb82d51aed7f9e446e
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
Log Message:
-----------
[AArch64] Add intrinsics for multi-vector to ZA array vector accumulators (#91606)
[Recommit of e88ba6d975d887ca001cae30bfa0c53d91165148]
According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics
void_svadd_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svadd_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn)
__arm_streaming __arm_inout("za");
void_svsub_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn)
__arm_streaming __arm_inout("za");
as well as the corresponding `bf16` variants.
Commit: fa9881d6a9d0bf3c72754a310c800d424c2db932
https://github.com/llvm/llvm-project/commit/fa9881d6a9d0bf3c72754a310c800d424c2db932
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-bitreverse.ll
Log Message:
-----------
[X86] vector-bitreverse.ll - add AVX512BW+AVX512VL test coverage
Commit: c4017cda006c437c8400e280f8473aa65c302b40
https://github.com/llvm/llvm-project/commit/c4017cda006c437c8400e280f8473aa65c302b40
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/DeviceRTL/CMakeLists.txt
M offload/cmake/Modules/LibomptargetGetDependencies.cmake
M offload/cmake/Modules/LibomptargetUtils.cmake
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/src/CMakeLists.txt
M offload/tools/CMakeLists.txt
M offload/tools/deviceinfo/CMakeLists.txt
M offload/tools/kernelreplay/CMakeLists.txt
Log Message:
-----------
[Offload][NFC] Remove header license in CMake files (#92544)
Summary:
No other project has these in the CMake itself, and they're wildly
inconsistent even within the project. These don't really add anything so
I think they should be removed.
Commit: 8c5e487ee3160cf4d40c0680ed40e4b0a494e956
https://github.com/llvm/llvm-project/commit/8c5e487ee3160cf4d40c0680ed40e4b0a494e956
Author: Chris B <chris.bieneman at me.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/cmake/caches/HLSL.cmake
Log Message:
-----------
[HLSL][CMake] Add clangd and distribution settings (#92011)
This just adds some simple distribution settings and includes clangd in
the build for distribution.
Commit: 30d0850e0f780b17a37522e6503c98ebe197c5fa
https://github.com/llvm/llvm-project/commit/30d0850e0f780b17a37522e6503c98ebe197c5fa
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/lib/Parse/ParseCXXInlineMethods.cpp
Log Message:
-----------
[clang][NFC] Improve const-correctness in `ParseLexedMethodDeclaration`
Commit: 9ba0a7725680fec5e071634f814a9d32ba33e852
https://github.com/llvm/llvm-project/commit/9ba0a7725680fec5e071634f814a9d32ba33e852
Author: maxbartel <bartel at roofline.ai>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
A mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-le-specific.mlir
M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv-unsupported.mlir
Log Message:
-----------
[mlir][spirv] Add support for dense_resource in arith to spirv (#91318)
This adds support for `dense_resource` in arith to spirv.
Note that this inlines the blob into the IR. Another possibility would
be to add proper dense_resource support to spirv, but there is a lot of
special handling going on to convert a `DenseElementsAttr` to the
correct SPIRV type. Some of that even iterates over all the values in
the Attribute. For proper support of a `DenseResourceElementsAttr` this
probably needs a redesign. I would like to hear some opinions on that!
The test is disabled on non little Endian machines. See
https://github.com/llvm/llvm-project/issues/63469 for more information.
Commit: 9b6f0735fbff4e9a51f0c76f5630be649490f6ef
https://github.com/llvm/llvm-project/commit/9b6f0735fbff4e9a51f0c76f5630be649490f6ef
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Support/CommandLine.cpp
Log Message:
-----------
[Support] Drop nop conversions of StringRef to StringRef (NFC)
Both sides here are known to be of StringRef.
Commit: c0cdc1d9569fdb8e3b672befda80cf90db24e814
https://github.com/llvm/llvm-project/commit/c0cdc1d9569fdb8e3b672befda80cf90db24e814
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table.fir
Log Message:
-----------
[flang] Allow flexible producer name in #di_compile_unit (NFC) (#92462)
Commit: 84aee95124549c5d13e22053af254e3fcc02bc84
https://github.com/llvm/llvm-project/commit/84aee95124549c5d13e22053af254e3fcc02bc84
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
Log Message:
-----------
[clang][NFC] Remove `const_cast` from `Preprocessor::addModuleMacro()`
Commit: e919df57770d43217cbd4d05f92de8dc7aac5035
https://github.com/llvm/llvm-project/commit/e919df57770d43217cbd4d05f92de8dc7aac5035
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Transforms/RegionUtils.h
M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
Log Message:
-----------
[MLIR][Transforms] Correct block sorting utils name (NFC) (#92558)
This commit renames the name of the block sorting utility function to
`getBlocksSortedByDominance`. A topological order is not defined on a
general directed graph, so the previous name did not make sense.
Commit: 9e39a0c723ced1aefdb30cece554356644aac148
https://github.com/llvm/llvm-project/commit/9e39a0c723ced1aefdb30cece554356644aac148
Author: Christian Ulmann <christian.ulmann at nextsilicon.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
Log Message:
-----------
[MLIR][ArmSME] Fix for block sorting refactor
This commit fixes a breakage introduced by changing the name of the
block sorting function.
Related PR: https://github.com/llvm/llvm-project/pull/92558
Commit: 621d0f3e86ecc46c2df302041777e42dfc10171e
https://github.com/llvm/llvm-project/commit/621d0f3e86ecc46c2df302041777e42dfc10171e
Author: Mital Ashok <mital at mitalashok.co.uk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang][Sema] Fix last argument not being used when comparing function template specializations when one has an explicit object argument (#92263)
Fixes #92188
Commit: 8aa6511f4209bba33a74c4ef6e208fda5c0f3d27
https://github.com/llvm/llvm-project/commit/8aa6511f4209bba33a74c4ef6e208fda5c0f3d27
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/lib/Sema/Sema.cpp
Log Message:
-----------
[clang][NFC] Remove an unnecessary `const_cast`
Commit: e01ff8238cf62c7149de7b8046bccec9adefbe67
https://github.com/llvm/llvm-project/commit/e01ff8238cf62c7149de7b8046bccec9adefbe67
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
Log Message:
-----------
[mlir][vector] Fix scalability issues in drop innermost unit dims transfer patterns (#92402)
Previously, these rewrites would drop scalable dimensions and treated
`[1]` (scalable one dim) as a unit dimension. This patch propagates
scalable dimensions and ensures `[1]` is not treated as a unit
dimension.
Commit: d38ea8c4c84be9496249098053599c24b87f1376
https://github.com/llvm/llvm-project/commit/d38ea8c4c84be9496249098053599c24b87f1376
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
Log Message:
-----------
[lldb] Fixed the test TestGdbRemoteAttachWait running on a remote target (#92413)
Install `_exe_to_attach` to a remote target if necessary.
Commit: d90159add4140d6f4994f5767fa6ef31cc28897b
https://github.com/llvm/llvm-project/commit/d90159add4140d6f4994f5767fa6ef31cc28897b
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Tools/lsp-server-support/Transport.cpp
Log Message:
-----------
[LSP] Use std::string for storing the Reply method (#92464)
This was using a StringRef, which is very unsafe because the method name
might just get disposed due to the async nature of the response.
This was causing weird characters being printed in the output logs.
Commit: 45daa4fdc68f5faa5bd5c33da052d2415cd88540
https://github.com/llvm/llvm-project/commit/45daa4fdc68f5faa5bd5c33da052d2415cd88540
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
A flang/include/flang/Optimizer/Dialect/CUF/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
A flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/CUFDialect.cpp
A flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M 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-calls.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/CUDA/cuda-mod.cuf
M flang/test/Lower/CUDA/cuda-module-use.cuf
M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
M flang/tools/bbc/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
M flang/unittests/Optimizer/FortranVariableTest.cpp
Log Message:
-----------
[flang][cuda] Move CUDA Fortran operations to a CUF dialect (#92317)
The number of operations dedicated to CUF grew and where all still in
FIR. In order to have a better organization, the CUF operations,
attributes and code is moved into their specific dialect and files. CUF
dialect is tightly coupled with HLFIR/FIR and their types.
The CUF attributes are bundled into their own library since some
HLFIR/FIR operations depend on them and the CUF dialect depends on the
FIR types. Without having the attributes into a separate library there
would be a dependency cycle.
Commit: e3686755eab66604335e246ed7b30033ab71dbbc
https://github.com/llvm/llvm-project/commit/e3686755eab66604335e246ed7b30033ab71dbbc
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
M mlir/unittests/Dialect/CMakeLists.txt
A mlir/unittests/Dialect/Polynomial/CMakeLists.txt
A mlir/unittests/Dialect/Polynomial/PolynomialMathTest.cpp
Log Message:
-----------
[mlir][polynomial] implement add for polynomial data structure (#92169)
A change extracted from https://github.com/llvm/llvm-project/pull/91655,
where I'm still trying to get the attributes working for elementwise
constant folding of polynomial ops. This piece is self-contained.
- use CRTP for base classes
- Add unit test
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 874f511ae779a38bd9ad9d80db63c0a10252e526
https://github.com/llvm/llvm-project/commit/874f511ae779a38bd9ad9d80db63c0a10252e526
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaCodeCompletion.h
M clang/lib/Frontend/ASTUnit.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/ParseInit.cpp
M clang/lib/Parse/ParseObjc.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/Sema.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
Log Message:
-----------
[clang] Introduce `SemaCodeCompletion` (#92311)
This patch continues previous efforts to split `Sema` up, this time
covering code completion.
Context can be found in #84184.
Dropping `Code` prefix from function names in `SemaCodeCompletion` would
make sense, but I think this PR has enough changes already.
As usual, formatting changes are done as a separate commit. Hopefully
this helps with the review.
Commit: d74bc823beabbb7067a4b4ae2d69a36d874f5132
https://github.com/llvm/llvm-project/commit/d74bc823beabbb7067a4b4ae2d69a36d874f5132
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/bindings/CMakeLists.txt
M lldb/bindings/headers.swig
M lldb/bindings/interfaces.swig
M lldb/bindings/lua/CMakeLists.txt
M lldb/bindings/python/CMakeLists.txt
Log Message:
-----------
[lldb] Include SBLanguages in the SWIG bindings (#92470)
Commit: dc8d70acf7afd6d8c9eef7d240fb8c917eddab50
https://github.com/llvm/llvm-project/commit/dc8d70acf7afd6d8c9eef7d240fb8c917eddab50
Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
A etime-function.mlir
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/time-intrinsic.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/runtime/time-intrinsic.cpp
M flang/runtime/tools.h
A flang/test/Lower/Intrinsics/etime-function.f90
A flang/test/Lower/Intrinsics/etime.f90
A flang/test/Semantics/etime.f90
Log Message:
-----------
[reland][flang] Add ETIME runtime and lowering intrinsics implementation (#92571)
This is same as https://github.com/llvm/llvm-project/pull/90578 with an
added fix. This PR updated tests of etime intrinsic due to Lowering
changes for assigning dummy_scope to hlfir.declare. Referring to
https://github.com/llvm/llvm-project/pull/92472 and
https://github.com/llvm/llvm-project/pull/90989
Commit: a4ad05284e97dd188c44252846486cbfb74a884c
https://github.com/llvm/llvm-project/commit/a4ad05284e97dd188c44252846486cbfb74a884c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
Log Message:
-----------
[lldb-dap] Replace `assertEquals` with `assertEqual` (NFC)
Fixes new test that were added or modified after #82073. Also fixes a
formatting issue.
Commit: 932bef23276da05c5eed2ffe7c62b7fc5f39caf1
https://github.com/llvm/llvm-project/commit/932bef23276da05c5eed2ffe7c62b7fc5f39caf1
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
A mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
A mlir/test/Dialect/Polynomial/canonicalization.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Poly canonicalization (#91410)
Adds simple canonicalization rules to the polynomial dialect. Mainly to
get the boilerplate incorporated before more substantial
canonicalization patterns are added.
---------
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: e18c4838811f2a6f9592ddeaed585a3830ebc8aa
https://github.com/llvm/llvm-project/commit/e18c4838811f2a6f9592ddeaed585a3830ebc8aa
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
Log Message:
-----------
[mlir] add arith dialect dep to fix buildbot failure (#92585)
https://lab.llvm.org/buildbot/#/builders/268/builds/14288
```undefined reference to `mlir::detail::TypeIDResolver<mlir::arith::ConstantOp, void>::id'```
Commit: f7516c7f3f00fca7271056cc9abeda2da4687c17
https://github.com/llvm/llvm-project/commit/f7516c7f3f00fca7271056cc9abeda2da4687c17
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/CodeGen/array-init.c
Log Message:
-----------
[CodeGen] Support arrays with initializers of 64-bit size
Based on @OfekShochat's https://reviews.llvm.org/D133648
init.c is the primary test for array initialization, but it uses a
32-bit triple, which would lead to an "array is too large" error. Add
the new test to array-init.c instead.
Fix #57353
Pull Request: https://github.com/llvm/llvm-project/pull/92473
Commit: 487d5af6482ea5f074c12d29d7e376d3fc697706
https://github.com/llvm/llvm-project/commit/487d5af6482ea5f074c12d29d7e376d3fc697706
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/ctx_profile/lit.cfg.py
Log Message:
-----------
[ctx_profile] Integration test (#92456)
Compile with clang a program that's instrumented for contextual profiling and verify a profile can be collected.
Commit: 16bb7e89a995dfe8b14a8ddbce3da79c217e884a
https://github.com/llvm/llvm-project/commit/16bb7e89a995dfe8b14a8ddbce3da79c217e884a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/DeviceRTL/CMakeLists.txt
M offload/plugins-nextgen/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/common/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/src/CMakeLists.txt
M offload/test/mapping/array_section_implicit_capture.c
M offload/test/offloading/default_thread_limit.c
M offload/test/offloading/fortran/basic-target-region-1D-array-section.f90
M offload/test/offloading/fortran/basic-target-region-3D-array-section.f90
M offload/test/offloading/fortran/double-target-call-with-declare-target.f90
M offload/test/offloading/fortran/target-map-allocatable-map-scopes.f90
M offload/test/offloading/fortran/target-map-derived-type-full-1.f90
M offload/test/offloading/fortran/target-map-derived-type-full-2.f90
M offload/test/offloading/fortran/target-map-derived-type-full-implicit-1.f90
M offload/test/offloading/fortran/target-map-derived-type-full-implicit-2.f90
M offload/test/offloading/fortran/target-map-double-large-nested-dtype-multi-member.f90
M offload/test/offloading/fortran/target-map-double-nested-dtype-array-bounds.f90
M offload/test/offloading/fortran/target-map-double-nested-dtype-double-array-bounds.f90
M offload/test/offloading/fortran/target-map-double-nested-dtype-single-member.f90
M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit-update.f90
M offload/test/offloading/fortran/target-map-dtype-arr-bounds-member-enter-exit.f90
M offload/test/offloading/fortran/target-map-dtype-explicit-individual-array-member.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-3D-member-bounds.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member-bounds.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-array-member.f90
M offload/test/offloading/fortran/target-map-dtype-multi-explicit-member.f90
M offload/test/offloading/fortran/target-map-enter-exit-allocatables.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
M offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
M offload/test/offloading/fortran/target-map-enter-exit-array.f90
M offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
M offload/test/offloading/fortran/target-map-individual-dtype-member-map.f90
M offload/test/offloading/fortran/target-map-large-nested-dtype-multi-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-complex-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-derived-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-multi-member.f90
M offload/test/offloading/fortran/target-map-nested-dtype-single-member.f90
M offload/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
M offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
M offload/test/offloading/fortran/target-map-pointer-target-scopes.f90
M offload/test/offloading/fortran/target-map-two-dtype-explicit-member.f90
M offload/test/offloading/fortran/target-map-two-dtype-individual-member-array-1D-bounds.f90
M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-1.f90
M offload/test/offloading/fortran/target-map-two-dtype-mixed-implicit-explicit-capture-2.f90
M offload/test/offloading/fortran/target-map-two-dtype-multi-member-array-1D-bounds.f90
M offload/test/offloading/fortran/target-map-two-nested-dtype-member-array-map.f90
M offload/test/offloading/spmdization.c
M offload/test/offloading/thread_limit.c
Log Message:
-----------
[Offload][NFC] Remove all trailing whitespace from offload/ (#92578)
Summary:
This patch cleans up the training whitespace in a bunch of tests and
CMake files. Most just in preparation for other cleanups.
Commit: 770d92830311b21c82ff12ba85bd131950db23d0
https://github.com/llvm/llvm-project/commit/770d92830311b21c82ff12ba85bd131950db23d0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/DeviceRTL/CMakeLists.txt
R offload/cmake/Modules/LibomptargetUtils.cmake
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/host/CMakeLists.txt
M offload/src/CMakeLists.txt
M offload/test/CMakeLists.txt
M offload/tools/deviceinfo/CMakeLists.txt
M offload/tools/kernelreplay/CMakeLists.txt
M offload/unittests/Plugins/CMakeLists.txt
Log Message:
-----------
[Offload][NFC] Remove 'libomptarget' message helpers (#92581)
Summary:
This isn't `libomptarget` anymore, and these messages were always
unnecessary because no other project uses these prefixed messages. The
effect of this is that no longer will the logs have `LIBOMPTARGET --` in
front of everything. We have a message stating when we start building
the offload project so it'll still be trivial to find.
Commit: 48b23c09c0dd70c4d5645d781caa1e0a7d51e0fc
https://github.com/llvm/llvm-project/commit/48b23c09c0dd70c4d5645d781caa1e0a7d51e0fc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
Log Message:
-----------
AMDGPU: Handle undef correctly in isKnownIntegral (#92566)
Commit: 1e5f29af81a5f6fda308074f6345b9fba4faa71c
https://github.com/llvm/llvm-project/commit/1e5f29af81a5f6fda308074f6345b9fba4faa71c
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/macro-rept.s
Log Message:
-----------
Revert "[MCAsmParser] .rept/.irp/.irpc: remove excess tail EOL in expansion"
This reverts commit c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba.
parseEOL() would remove \n # after .endr, not recognizing the line marker.
```
// reduced from Linux kernel arch/x86/crypto/sha1_avx2_x86_64_asm.S
.rept 1
nop
.endr
# 512 "a.s"
```
Commit: 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
https://github.com/llvm/llvm-project/commit/0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
Author: Dan Liew <delcypher at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Type.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
A clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
A clang/test/AST/attr-counted-by-struct-ptrs.c
A clang/test/Sema/attr-counted-by-late-parsed-off.c
A clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
A clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
A clang/test/Sema/attr-counted-by-struct-ptrs.c
A clang/test/Sema/attr-counted-by-vla-sizeless-types.c
A clang/test/Sema/attr-counted-by-vla.c
R clang/test/Sema/attr-counted-by.c
Log Message:
-----------
[BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (#90786)
Previously the attribute was only allowed on flexible array members.
This patch patch changes this to also allow the attribute on pointer
fields in structs and also allows late parsing of the attribute in some
contexts.
For example this previously wasn't allowed:
```
struct BufferTypeDeclAttributePosition {
size_t count;
char* buffer __counted_by(count); // Now allowed
}
```
Note the attribute is prevented on pointee types where the size isn't
known at compile time. In particular pointee types that are:
* Incomplete (e.g. `void`) and sizeless types
* Function types (e.g. the pointee of a function pointer)
* Struct types with a flexible array member
This patch also introduces late parsing of the attribute when used in
the declaration attribute position. For example
```
struct BufferTypeDeclAttributePosition {
char* buffer __counted_by(count); // Now allowed
size_t count;
}
```
is now allowed but **only** when passing
`-fexperimental-late-parse-attributes`. The motivation for using late
parsing here is to avoid breaking the data layout of structs in existing
code that want to use the `counted_by` attribute. This patch is the
first use of `LateAttrParseExperimentalExt` in `Attr.td` that was
introduced in a previous patch.
Note by allowing the attribute on struct member pointers this now allows
the possiblity of writing the attribute in the type attribute position.
For example:
```
struct BufferTypeAttributePosition {
size_t count;
char *__counted_by(count) buffer; // Now allowed
}
```
However, the attribute in this position is still currently parsed
immediately rather than late parsed. So this will not parse currently:
```
struct BufferTypeAttributePosition {
char *__counted_by(count) buffer; // Fails to parse
size_t count;
}
```
The intention is to lift this restriction in future patches. It has not
been done in this patch to keep this size of this commit small.
There are also several other follow up changes that will need to be
addressed in future patches:
* Make late parsing working with anonymous structs (see
`on_pointer_anon_buf` in `attr-counted-by-late-parsed-struct-ptrs.c`).
* Allow `counted_by` on more subjects (e.g. parameters, returns types)
when `-fbounds-safety` is enabled.
* Make use of the attribute on pointer types in code gen (e.g. for
`_builtin_dynamic_object_size` and UBSan's array-bounds checks).
This work is heavily based on a patch originally written by Yeoul Na.
rdar://125400257
Co-authored-by: Dan Liew <dan at su-root.co.uk>
Commit: 1b58940c88edaad9320bd21eaa7da65f7e791552
https://github.com/llvm/llvm-project/commit/1b58940c88edaad9320bd21eaa7da65f7e791552
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/test/MC/AsmParser/macro-rept.s
Log Message:
-----------
[MCAsmParser,test] Test line marker after .endr \n
Regression test for 1e5f29af81a5f6fda308074f6345b9fba4faa71c
Reduced from Linux kernel arch/x86/crypto/sha1_avx2_x86_64_asm.S
Commit: 76fdc2e52719c7164e3f2cb05158a74df2b3d22e
https://github.com/llvm/llvm-project/commit/76fdc2e52719c7164e3f2cb05158a74df2b3d22e
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][NFC] Rename isUnsupportedBranch to isReversibleBranch (#92447)
`isUnsupportedBranch` is not a very informative name, and doesn't match
its corresponding `reverseBranchCondition`, as I noted in PR #92018.
Here's a renaming to a more mnemonic name.
Commit: 112eadd55f06bee15caadff688ea0b45acbfa804
https://github.com/llvm/llvm-project/commit/112eadd55f06bee15caadff688ea0b45acbfa804
Author: Dan Liew <dan at su-root.co.uk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
Log Message:
-----------
[Bounds-Safety] Fix `pragma-attribute-supported-attributes-list.test`
0ec3b972e58bcbcdc1bebe1696ea37f2931287c3 changed the `counted_by`
attribute to be `LateAttrParseExperimentalExt`. This means the attribute
is no longer supported by `#pragma clang attribute`. However, the
`pragma-attribute-supported-attributes-list.test` wasn't updated
to account for that.
rdar://125400257
Commit: df575be9d864886684e536cd76c5a96bb0d443a6
https://github.com/llvm/llvm-project/commit/df575be9d864886684e536cd76c5a96bb0d443a6
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][NFC] Add `const` qualifier in `Sema::isIncompatibleTypedef`
Commit: af7467ce9f447d6fe977b73db1f03a18d6bbd511
https://github.com/llvm/llvm-project/commit/af7467ce9f447d6fe977b73db1f03a18d6bbd511
Author: John Ericson <John.Ericson at Obsidian.Systems>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M libcxx/src/atomic.cpp
M libcxx/src/chrono.cpp
M libcxxabi/src/cxa_guard_impl.h
Log Message:
-----------
[libcxx][libcxxabi] Fix build for OpenBSD (#92186)
- No indirect syscalls on OpenBSD. Instead there is a `futex` function
which issues a direct syscall.
- Monotonic clock is available despite the full POSIX suite of timers
not being available in its entirety.
See https://lists.boost.org/boost-bugs/2015/07/41690.php and
https://github.com/boostorg/log/commit/c98b1f459add14d5ce3e9e63e2469064601d7f71
for a description of an analogous problem and fix for Boost.
Commit: 1a5bc7c895ddeafa0e1d269da67bbeafcd8bc1a4
https://github.com/llvm/llvm-project/commit/1a5bc7c895ddeafa0e1d269da67bbeafcd8bc1a4
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M compiler-rt/test/tsan/signal_in_mutex_lock.cpp
Log Message:
-----------
Fix flaky test: signal_in_mutex_lock.cpp (#92587)
Fix flaky test: the spawned thread keeps spinning
on `sampler_mutex` which may be released before
the thread is terminated based on termination
ordering.
My understanding of C++ semantics are that the
program here is invalid: the destructors of global
variables are invoked at the time of program
termination, and it is the responsibility of the
program to ensure that invoking those destructors
is safe.
rdar://126768628
Commit: 6d50a79b721760fa5e10b81ebe6d1e37f141f61b
https://github.com/llvm/llvm-project/commit/6d50a79b721760fa5e10b81ebe6d1e37f141f61b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/include/flang/Semantics/semantics.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
A flang/module/cudadevice.f90
A flang/test/Semantics/cuf-device-procedures01.cuf
A flang/test/Semantics/cuf-device-procedures02.cuf
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang][cuda] Implicitly load cudadevice module in device/global subprogram (#92038)
This is a re-worked version of #91668. It adds the `cudadevice` module
and set the `device` attributes on its functions/subroutines so there is
no need for special case in semantic check.
`cudadevice` module is implicitly USE'd in `global`/`device` subprogram.
Commit: bdfb04a63d73c31ee75395064762d0d6ccb45819
https://github.com/llvm/llvm-project/commit/bdfb04a63d73c31ee75395064762d0d6ccb45819
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.2.1
Bump the version to 0.2.1 to test the publishing workflow and update the
extension README and URL.
Commit: e2db08f8f1a7dd37cd18705164f0c1188707e5b6
https://github.com/llvm/llvm-project/commit/e2db08f8f1a7dd37cd18705164f0c1188707e5b6
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
Log Message:
-----------
[test] Use conventional -emit-llvm-only
Similar to a6d7828f4c50c1ec7b0b5f61fe59d7a768175dcc
Commit: 8da3a8f550d0b266411b2dc177dff8591ee86cb2
https://github.com/llvm/llvm-project/commit/8da3a8f550d0b266411b2dc177dff8591ee86cb2
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
A llvm/test/CodeGen/NVPTX/param-overalign.ll
Log Message:
-----------
[NVPTX] fixup support for over-aligned parameters (#92457)
This extends the NVPTX support for over-aligned parameters and return
values in a few related ways:
- Support for `alignstack` attribute, as an alternative to legacy nvvm
`!"align"` metadata entries. While we still maintain the legacy support,
long term it might be nice to auto-upgrade to `alignstack`.
- Check the alignment info when emitting the parameter list to prevent a
mismatch between alignment of caller and callee, which would previously
cause a fatal error for `ptxas`.
- Check the alignment info when emitting loads for parameters,
potentially enabling better vectorization.
Commit: fe2ff54590c313551e7968179b48988ff0916290
https://github.com/llvm/llvm-project/commit/fe2ff54590c313551e7968179b48988ff0916290
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/runtime/CMakeLists.txt
M flang/runtime/descriptor-io.h
A flang/runtime/io-api-common.h
A flang/runtime/io-api-minimal.cpp
M flang/runtime/io-api.cpp
Log Message:
-----------
[flang][runtime] Decouple scalar output APIs from descriptors (#92444)
For testing purposes the implementations of the output APIs like
OutputInteger32 have been simply constructing descriptors and executing
the operation through the general DescriptorIO template. This patch
decouples those APIs from that mechanism so that programs using simple
"PRINT *" statements for output can link to a smaller portion of the I/O
runtime support library. (This is the only form of I/O accepted in GPU
device code by previous CUDA Fortran and Fortran OpenACC compilers.)
Commit: ab7930bd9f088c4fcdfd438b5207a4052c9669b8
https://github.com/llvm/llvm-project/commit/ab7930bd9f088c4fcdfd438b5207a4052c9669b8
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/bind-c03.f90
M flang/test/Semantics/bind-c09.f90
M flang/test/Semantics/bind-c12.f90
M flang/test/Semantics/resolve81.f90
M flang/test/Semantics/resolve82.f90
Log Message:
-----------
[flang] Relax checking of dummy procedures under BIND(C) (#92474)
As was done recently to allow derived types that are not explicitly
BIND(C), but meet the requirements of BIND(C), to be acceptable for use
in contexts nominally requiring BIND(C), this patch allows procedures
that are not explicitly BIND(C) to be used in contexts that nominally
require BIND(C) so long as (1) they meet the requirements of BIND(C),
and (2) don't use dummy arguments whose implementations may vary under
BIND(C), such as VALUE.
Commit: b80e0fbcfb71b24d762d8b48069153b9e16679be
https://github.com/llvm/llvm-project/commit/b80e0fbcfb71b24d762d8b48069153b9e16679be
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.td
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][polynomial] split attributes into its own tablegen (#92613)
Out of tree we have other dialects that use the ring attribute, but we
get compilation errors when generating ops while pulling in all the
Polynomial tablegen ops (there's no `-dialect` flag in `mlir-tblgen` for
op generation like there is for attributes and types).
This PR simply moves the attributes into its own file, so it can be
included separately, and this also requires moving the dialect
declaration into its own file.
Commit: cef6387e52578366c2332275dad88b9953b55336
https://github.com/llvm/llvm-project/commit/cef6387e52578366c2332275dad88b9953b55336
Author: Dan Liew <dan at su-root.co.uk>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-counted-by-vla.c
Log Message:
-----------
[Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members
In 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3 an additional restriction
was added when applying the `counted_by` attribute to flexible array
members in structs. The restriction prevented the element type being
a struct that itself had a flexible array member. E.g.:
```
struct has_unannotated_VLA {
int count;
char buffer[];
};
struct buffer_of_structs_with_unnannotated_vla {
int count;
struct has_unannotated_VLA Arr[] __counted_by(count);
};
```
In this example assuming the size of `Arr` is `sizeof(struct
has_unannotated_VLA)*count` (which is what the attribute says) is wrong
because it doesn't account for the size of
`has_unannotated_VLA::buffer`. This is why this kind of code construct
was treated as an error.
However, it turns out existing Linux kernel code used the attribute
on a flexible array member in this way
(https://github.com/llvm/llvm-project/pull/90786#issuecomment-2118416515).
To unbreak the build this restriction is downgraded to a warning with
the plan to make it an error again once the errornous use of the
attribute in the Linux kernel is resolved.
Commit: 86e511bc145ffe6e08f2f440b329c5ed9cb38532
https://github.com/llvm/llvm-project/commit/86e511bc145ffe6e08f2f440b329c5ed9cb38532
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/runtime/io-api.cpp
Log Message:
-----------
[flang] Fixed https://lab.llvm.org/buildbot/#/builders/270/builds/14406
Commit: 881f20e958e80bd30463fc57d2d3e891bcb8a571
https://github.com/llvm/llvm-project/commit/881f20e958e80bd30463fc57d2d3e891bcb8a571
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
R compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/ctx_profile/lit.cfg.py
Log Message:
-----------
Revert "[ctx_profile] Integration test (#92456)"
This reverts commit 487d5af6482ea5f074c12d29d7e376d3fc697706.
This was causing failures on some buildbots.
https://lab.llvm.org/buildbot/#/builders/247/builds/18559
Commit: b672d9e3d3aa6f9796c09d691ca5c40dc816ab67
https://github.com/llvm/llvm-project/commit/b672d9e3d3aa6f9796c09d691ca5c40dc816ab67
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
A llvm/test/DebugInfo/X86/debug-names-split-dwarf-inlining.ll
Log Message:
-----------
DebugInfo: Don't emit .debug_names entries for split-dwarf-inlining info
Commit: 1e9324a8c734aaa933d2672522cc22d5022c6200
https://github.com/llvm/llvm-project/commit/1e9324a8c734aaa933d2672522cc22d5022c6200
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lldb/include/lldb/API/SBExpressionOptions.h
M lldb/source/API/SBExpressionOptions.cpp
Log Message:
-----------
[lldb] Namespace SBSourceLanguageName (NFC)
Commit: faf39f45e3107d6bcb5f9cef8b5681c116b261d7
https://github.com/llvm/llvm-project/commit/faf39f45e3107d6bcb5f9cef8b5681c116b261d7
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M lld/ELF/InputSection.cpp
R 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:
-----------
Revert "[LoongArch] Use R_LARCH_ALIGN with section symbol (#84741)"
This reverts commit 01f79899ba349a0200586c8d05f5e22cca2ced31.
This unusual special case has been discussed on the binutils mailing
list. The approach will be revisited:
https://sourceware.org/pipermail/binutils/2024-May/134092.html
Pull Request: https://github.com/llvm/llvm-project/pull/92584
Commit: 702198fc9ac5dba392f9d9ba7c56467996343c0a
https://github.com/llvm/llvm-project/commit/702198fc9ac5dba392f9d9ba7c56467996343c0a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Lower/CUDA/cuda-program-global.cuf
Log Message:
-----------
[flang][cuda] Add data attribute to program globals (#92610)
Commit: cfe9deb1353021a1c1fe4731ec3e90f702dbd43d
https://github.com/llvm/llvm-project/commit/cfe9deb1353021a1c1fe4731ec3e90f702dbd43d
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M .github/dependabot.yml
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/ctx_profile/lit.cfg.py
Log Message:
-----------
Reapply "[ctx_profile] Integration test (#92456)"
This reverts commit 881f20e958e80bd30463fc57d2d3e891bcb8a571.
Passing -ldl -lpthread explicitly
Commit: 9e98815ef04f055e84d0b1a5cfb877bb1c9cb22a
https://github.com/llvm/llvm-project/commit/9e98815ef04f055e84d0b1a5cfb877bb1c9cb22a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M .github/dependabot.yml
Log Message:
-----------
[Github] Revert accidental changes to dependabot config
f3524e9aebbfabed0c60d0087b39ce14d8f778da accidentally touched the
dependabot config. This patch reverts that change.
Commit: 219476d20fcdb21644944b0c204b4ac6d6ef3760
https://github.com/llvm/llvm-project/commit/219476d20fcdb21644944b0c204b4ac6d6ef3760
Author: jiajie zhang <56027356+JumpMasterJJ at users.noreply.github.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
R etime-function.mlir
Log Message:
-----------
Fix: remove wrongly pushed etime-function.mlir at toplevel (#92634)
The purpose of this PR is to remove the 'etime-function.mlir' file that
I mistakenly committed in
https://github.com/llvm/llvm-project/pull/92571. This file is not
necessary in source code control, and its presence may cause confusion
or misunderstanding.
Commit: 195ba4572129befa25ca56439515d7cb91587c56
https://github.com/llvm/llvm-project/commit/195ba4572129befa25ca56439515d7cb91587c56
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/macro-arg.s
M llvm/test/MC/AsmParser/macro-irp.s
M llvm/test/MC/AsmParser/macro-rept.s
Log Message:
-----------
[MCAsmParser] .macro/.rept/.irp/.irpc: remove excess \n after expansion
```
.irp foo,1
nop
.endr
nop
```
expands to an excess EOL between two nop lines. Other loop directives
and .macro have the same issue.
`Lex()` at "Jump to the macro instantiation and prime the lexer"
requires that there is one single \n token in CurTok. Therefore, we
cannot consume the trailing \n when parsing the macro(-like) body.
(commit c6e787f771d1f9d6a846b2d9b8db6adcd87e8dba (reverted by
1e5f29af81a5f6fda308074f6345b9fba4faa71c))
Instead, skip the potential \n after jumpToLoc at handleMacroExit.
Commit: bfeebda3b1cc1a05e435e94f54bf2d2a2570b4e2
https://github.com/llvm/llvm-project/commit/bfeebda3b1cc1a05e435e94f54bf2d2a2570b4e2
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M flang/test/Driver/include-omp-header.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
M flang/test/Lower/OpenMP/parallel-sections.f90
M flang/test/Lower/OpenMP/parallel.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/taskgroup.f90
M flang/test/Lower/OpenMP/teams.f90
M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
M flang/test/Parser/OpenMP/allocate-tree.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocate-directive.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate04.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate07.f90
M flang/test/Semantics/OpenMP/allocate08.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators02.f90
M flang/test/Semantics/OpenMP/allocators03.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
M flang/test/Semantics/OpenMP/resolve06.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
M flang/test/Semantics/OpenMP/taskgroup01.f90
M flang/test/Semantics/OpenMP/threadprivate01.f90
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
Log Message:
-----------
[flang][OpenMP] Re-enable tests when building OpenMP as a runtime (#89046)
Commit: 2a97b507dc643b7ee3bc651b3f21b754cfba433c
https://github.com/llvm/llvm-project/commit/2a97b507dc643b7ee3bc651b3f21b754cfba433c
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/Decomposer.cpp
M flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.f90
M flang/test/Lower/OpenMP/lastprivate-iv.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-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.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-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
Log Message:
-----------
[flang][OpenMP] Try to unify induction var privatization for OMP regions. (#91116)
Commit: 7b4dfec8936f54145297fd2f14bf95a2b8c95f5f
https://github.com/llvm/llvm-project/commit/7b4dfec8936f54145297fd2f14bf95a2b8c95f5f
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths:
M llvm/test/MC/AsmParser/macro-irp.s
R llvm/test/MC/AsmParser/macro-rept-err1.s
R llvm/test/MC/AsmParser/macro-rept-err2.s
M llvm/test/MC/AsmParser/macro-rept.s
Log Message:
-----------
[MCAsmParser] Improve .rept/.irp tests
Commit: 2c2e0507e92bdb77a01828f899ff59e44492b537
https://github.com/llvm/llvm-project/commit/2c2e0507e92bdb77a01828f899ff59e44492b537
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
[clang][ThreadSafety] Skip past implicit cast in `translateAttrExpr`
Ignore `ImplicitCastExpr` when building `AttrExp` for capability
attribute diagnostics.
Fixes: https://github.com/llvm/llvm-project/issues/92118.
Commit: f7b0b99c52ee36ed6ca8abcce74a752e483768d6
https://github.com/llvm/llvm-project/commit/f7b0b99c52ee36ed6ca8abcce74a752e483768d6
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[clang][NFC] Further improvements to const-correctness
Commit: 778826f0b8fb9f1a595ce8ab23faad6daa9466f5
https://github.com/llvm/llvm-project/commit/778826f0b8fb9f1a595ce8ab23faad6daa9466f5
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-18 (Sat, 18 May 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-select.mir
Log Message:
-----------
[GlobalIsel] Combine select to integer min max more (#92570)
Commit: 4b62afca64a3f18cd57a3b3247330effd4b38098
https://github.com/llvm/llvm-project/commit/4b62afca64a3f18cd57a3b3247330effd4b38098
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
A llvm/test/CodeGen/X86/apx/ccmp-flags-copy-lowering.mir
Log Message:
-----------
[X86][CodeGen] Support flags copy lowering for CCMP/CTEST (#91849)
```
%1:gr64 = COPY $eflags
OP1 may update eflags
$eflags = COPY %1
OP2 may use eflags
```
To use eflags as input at 4th instruction, we need to use SETcc to
preserve the eflags before 2, and update the source condition of OP2
according to value in GPR %1.
In this patch, we support CCMP/CTEST as OP2.
Commit: 33550b43f49a4e5b20e748936278e55f67e4b929
https://github.com/llvm/llvm-project/commit/33550b43f49a4e5b20e748936278e55f67e4b929
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M mlir/include/mlir/Analysis/CFGLoopInfo.h
M mlir/include/mlir/IR/Block.h
M mlir/lib/Analysis/CFGLoopInfo.cpp
M mlir/lib/IR/AsmPrinter.cpp
Log Message:
-----------
[mlir] Add operator<< for printing `Block` (#92550)
Turns out it was already in Analysis/CFGLoopInfo, so just move it
to IR/AsmPrinter.
Commit: e90126e0dd6f058e1602bb6c769dfa4c52d7ad47
https://github.com/llvm/llvm-project/commit/e90126e0dd6f058e1602bb6c769dfa4c52d7ad47
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
Log Message:
-----------
[flang][cuf] Add attr gen dependency to fix #92635
Commit: 58c778565cd64a69ea86e7e67e6a87fff3b0b224
https://github.com/llvm/llvm-project/commit/58c778565cd64a69ea86e7e67e6a87fff3b0b224
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
Log Message:
-----------
[nfc][ctx_profile] Fix printf - related `-Wformat-pedantic`
Commit: c5b11a710e01304908e3f320e40bc9da9f6a8de4
https://github.com/llvm/llvm-project/commit/c5b11a710e01304908e3f320e40bc9da9f6a8de4
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
A llvm/test/CodeGen/NVPTX/st-param-imm.ll
Log Message:
-----------
[NVPTX] support immediate values in st.param instructions (#91523)
Add support for generating `st.param` instructions with direct use of
immediates. This eliminates the need for a `mov` instruction prior to
the `st.param` resulting in more concise emitted PTX.
Commit: 577785c5ca78a9714584b5c99ec085f8aea0a5c0
https://github.com/llvm/llvm-project/commit/577785c5ca78a9714584b5c99ec085f8aea0a5c0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Remove unused removeLastOperand (NFC).
The last use of the function has been removed a while ago. Remove the
unused function.
Commit: 003cebdaccc4ad3a3b6f9e177ee5049c8b6a9cbb
https://github.com/llvm/llvm-project/commit/003cebdaccc4ad3a3b6f9e177ee5049c8b6a9cbb
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/tools/dsymutil/MachODebugMapParser.cpp
Log Message:
-----------
[dsymutil] Use operator==(StringRef, StringRef) (NFC)
Commit: 8d3e1022c8883f2bfe9faccb82ce807c1cf4272c
https://github.com/llvm/llvm-project/commit/8d3e1022c8883f2bfe9faccb82ce807c1cf4272c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
Log Message:
-----------
[DWARFLinker] Use an implicit conversion of SmallString to StringRef (NFC)
Commit: ba8a2ade84f4c1bfc531fe3673470377c038f31d
https://github.com/llvm/llvm-project/commit/ba8a2ade84f4c1bfc531fe3673470377c038f31d
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
Log Message:
-----------
[DXIL] Use consistent SmallVector parameters
Fixes: 060df78cdbbf70d5a6dfff3af1d435a5a811b886
Commit: 4c98f5b439ddd204d8ff1e423104215ebd0e1720
https://github.com/llvm/llvm-project/commit/4c98f5b439ddd204d8ff1e423104215ebd0e1720
Author: David Green <david.green at arm.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/frem-power2.ll
M llvm/test/CodeGen/ARM/frem-power2.ll
Log Message:
-----------
[DAG] Use copysign in frem power-2 fold. (#91751)
As a small addition to #91148, this uses copysign to produce the correct
sign for zero when converting frem to div/trunc/mul when we do not know
that the input is positive (and we care about sign bits). The copysign
lets us get the sign of zero correct.
In testing, the only case this produced different results than fmod was:
frem -inf, 4.0 -> nan vs -nan
Commit: c3677e45222a9461eed0224b99bd8ea19bc52bf6
https://github.com/llvm/llvm-project/commit/c3677e45222a9461eed0224b99bd8ea19bc52bf6
Author: David Green <david.green at arm.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/select-shuffle.ll
Log Message:
-----------
[VectorCombine] Don't transform single shuffles in shuffleToIdentity
This will help in later patches where the checks for operands being
instructions is removed, and might help not remove unnecessary poison lanes.
Commit: 597ac471cc7da97ccf957362a7e9f7a52d6910ee
https://github.com/llvm/llvm-project/commit/597ac471cc7da97ccf957362a7e9f7a52d6910ee
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/phi-labels.ll.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/phi-labels.test
M llvm/utils/UpdateTestChecks/asm.py
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/UpdateTestChecks/isel.py
M llvm/utils/update_analyze_test_checks.py
M llvm/utils/update_cc_test_checks.py
M llvm/utils/update_llc_test_checks.py
M llvm/utils/update_test_checks.py
Log Message:
-----------
update_test_checks: match IR basic block labels (#88979)
Labels are matched using a regexp of the form '^(pattern):', which
requires the addition of a "suffix" concept to NamelessValue.
Aside from that, the key challenge is that block labels are values, and
we typically capture values including the prefix '%'. However, when
labels appear at the start of a basic block, the prefix '%' is not
included, so we must capture block label values *without* the prefix
'%'.
We don't know ahead of time whether an IR value is a label or not. In
most cases, they are prefixed by the word "label" (their type), but this
isn't the case in phi nodes. We solve this issue by leveraging the
two-phase nature of variable generalization: the first pass finds all
occurences of a variable and determines whether the '%' prefix can be
included or not. The second pass does the actual substitution.
This change also unifies the generalization path for assembly with that
for IR and analysis, in the hope that any future changes avoid diverging
those cases future.
I also considered the alternative of trying to detect the phi node case
using more regular expression special cases but ultimately decided
against that because it seemed more fragile, and perhaps the approach of
keeping a tentative prefix that may later be discarded could also be
eventually applied to some metadata and attribute cases.
Note that an early version of this change was reviewed as
https://reviews.llvm.org/D142452, before version numbers were
introduced. This is a substantially updated version of that change.
Commit: d34be649af1aa849c21a5a0570617c3a89d5f0b8
https://github.com/llvm/llvm-project/commit/d34be649af1aa849c21a5a0570617c3a89d5f0b8
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/lib/LTO/LTO.cpp
Log Message:
-----------
[ThinLTO]Sort imported GUIDs before cache key update (#92622)
Add 'sort' here since it's helpful when container type
changes (for example, https://github.com/llvm/llvm-project/pull/88024
wants to change container type from `unordered_set` to `DenseMap)
@MaskRay points out `std::` doesn't randomize the iteration order of
`unordered_{set,map}`, and the iteration order for single build is
deterministic.
Commit: 7b977e0f644c43232732e149b03d41de321d804e
https://github.com/llvm/llvm-project/commit/7b977e0f644c43232732e149b03d41de321d804e
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-18 (Sat, 18 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[nfc][InstrFDO]Encapsulate header writes in a class member function (#90142)
The smaller class member are more focused and easier to maintain. This
also paves the way for partial header forward compatibility in
https://github.com/llvm/llvm-project/pull/88212
---------
Co-authored-by: Kazu Hirata <kazu at google.com>
Commit: f87ed54e495eba7b9897654de4c17fbf101cb620
https://github.com/llvm/llvm-project/commit/f87ed54e495eba7b9897654de4c17fbf101cb620
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
Log Message:
-----------
Reformat
Commit: 9d15fc0060b584141674dddfedb06b0b58ad7aae
https://github.com/llvm/llvm-project/commit/9d15fc0060b584141674dddfedb06b0b58ad7aae
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/ctx_profile/CMakeLists.txt
Log Message:
-----------
Quick fix for a waning in clang_rt.ctx_profile [-Wgnu-anonymous-struct]
`__sanitizer_siginfo` has been introduced in D142117.
(llvmorg-16-init-17950-ged9ef9b4f248)
It is incompatible to -pedantic.
`clang_rt.ctx_profile` has been introduced in #92456.
Commit: b4ba3fe0068b2391e24ebf9a0ec6f56a8ac224b4
https://github.com/llvm/llvm-project/commit/b4ba3fe0068b2391e24ebf9a0ec6f56a8ac224b4
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.h
Log Message:
-----------
[NewPM][AMDGPU] Add CodeGenPassBuilder (#91040)
In order to test SelectionDAG for target AMDGPU, we need
CodeGenPassBuilder.
Commit: ef890572f379273da09db964b9ea1b67aa324762
https://github.com/llvm/llvm-project/commit/ef890572f379273da09db964b9ea1b67aa324762
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port b4ba3fe0068b
Commit: 9940620f6eab50deeaed0d976b2ea0afd007ba24
https://github.com/llvm/llvm-project/commit/9940620f6eab50deeaed0d976b2ea0afd007ba24
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir
Log Message:
-----------
[GISel][RISCV] Legalize G_CONSTANT_FOLD_BARRIER (#89960)
This patch supports `G_CONSTANT_FOLD_BARRIER` on RISCV to generate the
following inst seq without crash:
```
define i64 @xor_and_i64(i64 %x) {
entry:
%y = and i64 %x, 16383
%z = xor i64 %y, 16368
ret i64 %z
}
```
Commit: 8b8a38a7b426fc724804602d7635134a0c63f08c
https://github.com/llvm/llvm-project/commit/8b8a38a7b426fc724804602d7635134a0c63f08c
Author: David Green <david.green at arm.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Additional extend tests for shuffleToIdentity. NFC
Commit: 689bba1eec31fa236e2febaa4bcf46bc89ba432b
https://github.com/llvm/llvm-project/commit/689bba1eec31fa236e2febaa4bcf46bc89ba432b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[DAG] canCreateUndefOrPoison - merge INSERT_VECTOR_ELT/EXTRACT_VECTOR_ELT cases. NFC.
The only difference is the operand index for the element index variable.
Commit: 7fc524fe080a69e79bd1ce8925e680350b7e9d44
https://github.com/llvm/llvm-project/commit/7fc524fe080a69e79bd1ce8925e680350b7e9d44
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/ctx_profile/lit.cfg.py
Log Message:
-----------
[ctx_profile] Pass lib path into test
Fixes build after cfe9deb1353021a1c1fe4731ec3e90f702dbd43d on
https://lab.llvm.org/buildbot/#/builders/37/builds/34828
Commit: e0217ee7829cf49bc0caa8b814f6acc4c4b0836d
https://github.com/llvm/llvm-project/commit/e0217ee7829cf49bc0caa8b814f6acc4c4b0836d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/CodeGen/X86/pr92569.ll
Log Message:
-----------
[DAG] canCreateUndefOrPoison - only compute extract/index vector elt index knownbits when not poison
We were calling computeKnownBits to determine the bounds of the element index without ensuring that it wasn't poison, meaning if we did freeze the index, isGuaranteedNotToBeUndefOrPoison would then fail as we can't call computeKnownBits through FREEZE for potentially poison values.
Fixes #92569
Commit: 9f5c8de3864b0be27a8b36cd891c5a28a3acfd27
https://github.com/llvm/llvm-project/commit/9f5c8de3864b0be27a8b36cd891c5a28a3acfd27
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitAVG - rewrite "fold (avgfloor x, 0) -> x >> 1" to use SDPatternMatch
No need for this to be vector specific, and its more likely that scalar cases will appear after #92096
Commit: 7273ad123850a7b44c0625d098ebb49153bf855a
https://github.com/llvm/llvm-project/commit/7273ad123850a7b44c0625d098ebb49153bf855a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitABD - rewrite "(abs x, 0)" folds to use SDPatternMatch
No need for this to be vector specific, and its more likely that scalar cases will appear after #92576
Commit: ed9007d0d219726db01f211e9c9ab72fbfe4ecb1
https://github.com/llvm/llvm-project/commit/ed9007d0d219726db01f211e9c9ab72fbfe4ecb1
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-counted-by-vla.c
Log Message:
-----------
Revert "[Bounds-Safety] Temporarily relax a `counted_by` attribute restriction on flexible array members"
Together with 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3
breaks https://lab.llvm.org/buildbot/#/builders/5/builds/43403
Issue #92687
This reverts commit cef6387e52578366c2332275dad88b9953b55336.
Commit: 6447abe067c8088a5cc093fe872719374e174068
https://github.com/llvm/llvm-project/commit/6447abe067c8088a5cc093fe872719374e174068
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Type.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
R clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
R clang/test/AST/attr-counted-by-struct-ptrs.c
R clang/test/Sema/attr-counted-by-late-parsed-off.c
R clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
R clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
R clang/test/Sema/attr-counted-by-struct-ptrs.c
R clang/test/Sema/attr-counted-by-vla-sizeless-types.c
R clang/test/Sema/attr-counted-by-vla.c
A clang/test/Sema/attr-counted-by.c
Log Message:
-----------
Revert "[BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C (#90786)"
Memory leak: https://lab.llvm.org/buildbot/#/builders/5/builds/43403
Issue #92687
This reverts commit 0ec3b972e58bcbcdc1bebe1696ea37f2931287c3.
Commit: c587483da0b50efa04146fde205da1d16731e12e
https://github.com/llvm/llvm-project/commit/c587483da0b50efa04146fde205da1d16731e12e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
Log Message:
-----------
Revert "[Bounds-Safety] Fix `pragma-attribute-supported-attributes-list.test`"
Issue #92687
This reverts commit 112eadd55f06bee15caadff688ea0b45acbfa804.
Commit: 10edb4991c12738e60843d55cd9edbf6d702d9eb
https://github.com/llvm/llvm-project/commit/10edb4991c12738e60843d55cd9edbf6d702d9eb
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTypeCache.h
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/eh.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
M clang/test/CodeGenCXX/typeid-with-address-space.cpp
M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
M clang/test/CodeGenCXX/vtt-address-space.cpp
M clang/test/CodeGenCXX/wasm-eh.cpp
M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
M llvm/include/llvm/IR/Intrinsics.td
M llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
M llvm/test/Transforms/GVNHoist/infinite-loop-indirect.ll
M llvm/test/Transforms/Inline/inline_invoke.ll
M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
M llvm/test/Transforms/LowerTypeTests/cfi-unwind-direct-call.ll
M llvm/test/Transforms/NewGVN/2011-09-07-TypeIdFor.ll
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[Clang][CodeGen] Start migrating away from assuming the Default AS is 0 (#88182)
At the moment, Clang is rather liberal in assuming that 0 (and by extension unqualified) is always a safe default. This does not work for targets that actually use a different value for the default / generic AS (for example, the SPIRV that obtains from HIPSPV or SYCL). This patch is a first, fairly safe step towards trying to clear things up by querying a modules' default AS from the target, rather than assuming it's 0, alongside fixing a few places where things break / we encode the 0 == DefaultAS assumption. A bunch of existing tests are extended to check for non-zero default AS usage.
Commit: 0c7d268ba72767b70c7bf0bc8ae6422c509f94d8
https://github.com/llvm/llvm-project/commit/0c7d268ba72767b70c7bf0bc8ae6422c509f94d8
Author: aengelke <engelke at in.tum.de>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
Log Message:
-----------
[CodeGen][SDAG] Skip preferred extend at O0 (#92643)
This is a pure optimization to avoid redundant extensions, but iterating
over all users is expensive, so don't do this at -O0.
Commit: 9e4ef0dee18c0c99325e8d56f16c149020e89d37
https://github.com/llvm/llvm-project/commit/9e4ef0dee18c0c99325e8d56f16c149020e89d37
Author: aengelke <engelke at in.tum.de>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[CodeGen][SDAG] Track returntwice in lowering info (#92640)
This saves an extra iteration over the all instructions of the function.
Commit: eab92cb7f33be16a6a17549182e9237112b7a183
https://github.com/llvm/llvm-project/commit/eab92cb7f33be16a6a17549182e9237112b7a183
Author: Nhat Nguyen <nhat7203 at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/Support/KnownBits.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/unittests/Support/KnownBitsTest.cpp
Log Message:
-----------
[llvm] Add KnownBits implementations for avgFloor and avgCeil (#86445)
This PR is to address the issue #84640
Commit: c1c1567d60983298a0db0efefd78899985464f19
https://github.com/llvm/llvm-project/commit/c1c1567d60983298a0db0efefd78899985464f19
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
Log Message:
-----------
SimplifyLibCalls: Permit pow(2, x) -> ldexp(1, x) fold for vectors (#92532)
Commit: b050048d35f6580fb427e6de9063444aa85625c6
https://github.com/llvm/llvm-project/commit/b050048d35f6580fb427e6de9063444aa85625c6
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Simplify (X && Y) || (X && !Y) -> X. (#89386)
Simplify a common pattern generated for masks when folding the tail.
PR: https://github.com/llvm/llvm-project/pull/89386
Commit: 643f36184bd3d9a95cbfd608af6f1cccc69e0187
https://github.com/llvm/llvm-project/commit/643f36184bd3d9a95cbfd608af6f1cccc69e0187
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
A clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/HLSL/HLSLDocs.rst
Log Message:
-----------
HLSL availability diagnostics design doc (#92207)
Design document for the HLSL availability diagnostic modes
Fixes microsoft/hlsl-specs#190
---------
Co-authored-by: Xiang Li <python3kgae at outlook.com>
Commit: c34079c9455515fd1eb4feaa7613a57e88b7209d
https://github.com/llvm/llvm-project/commit/c34079c9455515fd1eb4feaa7613a57e88b7209d
Author: Isaac David <61389980+orion160 at users.noreply.github.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/docs/ORCv2.rst
Log Message:
-----------
[DOCS] ORCv2.rst Typo (#89482)
Commit: 3f33c4c14e79e68007cf1460e4a0e606eb199da5
https://github.com/llvm/llvm-project/commit/3f33c4c14e79e68007cf1460e4a0e606eb199da5
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Parser/attr-availability.c
M clang/test/Sema/attr-availability-ios.c
A clang/test/SemaHLSL/Availability/attr-availability-compute.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-errors.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-mesh.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
R clang/test/SemaHLSL/AvailabilityMarkup.hlsl
M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl
Log Message:
-----------
[Clang][HLSL] Add environment parameter to availability attribute (#89809)
Add `environment` parameter to Clang availability attribute. The allowed
values for this parameter are a subset of values allowed in the
`llvm::Triple` environment component. If the `environment` parameters is
present, the declared availability attribute applies only to targets
with the same platform and environment.
This new parameter will be initially used for annotating HLSL functions
for the `shadermodel` platform because in HLSL built-in function
availability can depend not just on the shader model version (mapped to
`llvm::Triple::OSType`) but also on the target shader stage (mapped to
`llvm::Triple::EnvironmentType`). See example in #89802 and
microsoft/hlsl-specs#204 for more details.
The environment parameter is currently supported only for HLSL.
Fixes #89802
Commit: 0cd2bf3521a52f255c2b0d466f2f48f15d4a89a9
https://github.com/llvm/llvm-project/commit/0cd2bf3521a52f255c2b0d466f2f48f15d4a89a9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
M llvm/test/Transforms/Attributor/nofpclass.ll
M llvm/test/Transforms/InstCombine/and-fcmp.ll
M llvm/test/Transforms/InstCombine/or-fcmp.ll
Log Message:
-----------
ValueTracking: Correct undef handling for constant FP vectors (#92557)
Treat undef as unknown, and poison as ignorable.
Commit: 878642954f5178c55b337afe2bff4e6a92a67a5b
https://github.com/llvm/llvm-project/commit/878642954f5178c55b337afe2bff4e6a92a67a5b
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/test/X86/bb-with-two-tail-calls.s
Log Message:
-----------
[BOLT] Fix preserved offset in fixDoubleJumps (#92485)
Commit: fb2c6597e39e9e1a775525ea0236b2f89e46acff
https://github.com/llvm/llvm-project/commit/fb2c6597e39e9e1a775525ea0236b2f89e46acff
Author: Leon Clark <PeddleSpam at users.noreply.github.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
Log Message:
-----------
[AMDGPU] Use LSH for lowering ctlz_zero_undef.i8/i16 (#88512)
Use LSH to lower ctlz_zero_undef instead of subtracting leading zeros
for i8 and i16.
Related to [77615](https://github.com/llvm/llvm-project/pull/77615).
---------
Co-authored-by: Leon Clark <leoclark at amd.com>
Commit: ad625a407622ba5817ef58e30357139a40cf929e
https://github.com/llvm/llvm-project/commit/ad625a407622ba5817ef58e30357139a40cf929e
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/utils/TableGen/ARMTargetDefEmitter.cpp
Log Message:
-----------
[TableGen] Avoid std::string copy. NFC
Fix #92702
Commit: 7892d434741ba0ac755e00ae96ca7cdcfaf82d35
https://github.com/llvm/llvm-project/commit/7892d434741ba0ac755e00ae96ca7cdcfaf82d35
Author: Ryuichi Watanabe <ryucrosskey at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M .github/workflows/llvm-bugs.yml
Log Message:
-----------
Update llvm-bugs.yml (#77243)
Commit: b603237b6c067e82a7c6b73adb7e18c8edfb40dd
https://github.com/llvm/llvm-project/commit/b603237b6c067e82a7c6b73adb7e18c8edfb40dd
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Option/OptTable.cpp
M llvm/lib/ProfileData/InstrProfCorrelator.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Log Message:
-----------
[llvm] Use operator==(StringRef, StringRef) (NFC) (#92705)
Commit: 2d5e488c98225108aebfe4aa4acfe6ec1f234a37
https://github.com/llvm/llvm-project/commit/2d5e488c98225108aebfe4aa4acfe6ec1f234a37
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/unittests/Format/SortIncludesTest.cpp
Log Message:
-----------
[clang-format][NFC] Clean up SortIncludesTest.cpp
Wherever applicable, replace EXPECT_EQ with verifyFormat and std::string
with StringRef. Also, change a raw string literal to a regular one.
Commit: 2f52bbeb6f6f3b7abef19cb5297773d95aa0b434
https://github.com/llvm/llvm-project/commit/2f52bbeb6f6f3b7abef19cb5297773d95aa0b434
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
Log Message:
-----------
[mlir] Use operator==(StringRef, StringRef) (NFC) (#92706)
Commit: 5d3f296733b66281a53dd451a983e69ae0bb482f
https://github.com/llvm/llvm-project/commit/5d3f296733b66281a53dd451a983e69ae0bb482f
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
Log Message:
-----------
[CallPromotionUtils]Implement conditional indirect call promotion with vtable-based comparison (#81378)
* Given the code sequence
```
bb:
%vtable = load ptr, ptr %d, !prof !8
%vfn = getelementptr inbounds ptr, ptr %vtable, i64 1
%1 = load ptr, ptr %vfn
%call = tail call i32 %1(ptr %d), !prof !9
```
The transformation looks like
```
bb:
%vtable = load ptr, ptr %d, align 8
%vfn = getelementptr inbounds i8, ptr %vtable, i64 8 <-- Inst 1
%func-addr = load ptr, ptr %vfn, align 8 <-- Inst 2
# compare loaded pointers with address point of vtables
%1 = icmp eq ptr %vtable, getelementptr inbounds (i8, ptr @_ZTV<VTable>,
i32 16)
br i1 %1, label %if.true.direct_targ, label %if.false.orig_indirect,
!prof !18
if.true.direct_targ: ; preds = %bb
%2 = tail call i32 @<direct-call>(ptr nonnull %d)
br label %if.end.icp
if.false.orig_indirect: ; preds = %bb
%call = tail call i32 %func-addr(ptr nonnull %d)
br label %if.end.icp
if.end.icp: ; preds = %if.false.orig_indirect, %if.true.direct_targ
%4 = phi i32 [ %call, %if.false.orig_indirect ], [ %2,
%if.true.direct_targ ]
```
It's intentional that `Inst 1` and `Inst2` remains in `bb` (not in
`if.false.orig_indirect`). A follow up patch will implement code to sink
them (something like how `instcombine` would
[sink](https://github.com/llvm/llvm-project/blob/2fcfc9754a16805b81e541dc8222a8b5cf17a121/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4293)
instructions along with [debug
intrinsics](https://github.com/llvm/llvm-project/blob/2fcfc9754a16805b81e541dc8222a8b5cf17a121/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp#L4356-L4368)
if possible)
* The parent patch is https://github.com/llvm/llvm-project/pull/81181
Commit: d102ee63e849cdaa586fd1aaae900c1399bf2b76
https://github.com/llvm/llvm-project/commit/d102ee63e849cdaa586fd1aaae900c1399bf2b76
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[clang] Use operator==(StringRef, StringRef) (NFC) (#92708)
Commit: 0bced10f290bb96d675874a89f1b6789a2384e30
https://github.com/llvm/llvm-project/commit/0bced10f290bb96d675874a89f1b6789a2384e30
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
A llvm/test/CodeGen/X86/vec-strict-cmp-512-skx.ll
Log Message:
-----------
[SDAG][X86] Extend SplitVecOp_VSETCC for STRICT_FSETCC. (#92509)
Commit: 89d0937348ebd4b55f17d503910be9300aa44a13
https://github.com/llvm/llvm-project/commit/89d0937348ebd4b55f17d503910be9300aa44a13
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/IR/Mangler.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/TextAPI/Utils.cpp
Log Message:
-----------
[llvm] Use StringRef::contains (NFC) (#92710)
Commit: fc0144a30cf20d6405411da141d11bfde143d3d2
https://github.com/llvm/llvm-project/commit/fc0144a30cf20d6405411da141d11bfde143d3d2
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/pr91418.cppm
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
Log Message:
-----------
[Serialization] Read the initializer for interesting static variables before consuming it (#92353)
Close https://github.com/llvm/llvm-project/issues/91418
Since we load the variable's initializers lazily, it'd be problematic if
the initializers dependent on each other. So here we try to load the
initializers of static variables to make sure they are passed to code
generator by order. If we read any thing interesting, we would consume
that before emitting the current declaration.
Commit: 91423d71938d7a1dba27188e6d854148a750a3dd
https://github.com/llvm/llvm-project/commit/91423d71938d7a1dba27188e6d854148a750a3dd
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M bolt/lib/Profile/YAMLProfileReader.cpp
A bolt/test/X86/yaml-non-simple.test
Log Message:
-----------
[BOLT][NFC] Don't assign YAML profile to functions with no CFG (#92487)
YAML profile for non-simple functions without CFG is
1) useless for optimizations,
2) can't be attached, similar to fdata profile,
3) would be reported as invalid/stale even if the profile is valid.
Don't attempt to attach the profile in this case, aligning the behavior
to DataReader.
Test Plan: added yaml-non-simple.test
Commit: 6bf1601a0d9a01fe663442096466d46800483e0c
https://github.com/llvm/llvm-project/commit/6bf1601a0d9a01fe663442096466d46800483e0c
Author: Monad <yanwqmonad at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/cast_ptr.ll
Log Message:
-----------
[InstCombine] Fold pointer adding in integer to arithmetic add (#91596)
Fold
``` llvm
define i32 @src(i32 %x, i32 %y) {
%base = inttoptr i32 %x to ptr
%ptr = getelementptr inbounds i8, ptr %base, i32 %y
%r = ptrtoint ptr %ptr to i32
ret i32 %r
}
```
where both `%base` and `%ptr` have only one use, to
``` llvm
define i32 @tgt(i32 %x, i32 %y) {
%r = add i32 %x, %y
ret i32 %r
}
```
The `add` can be `nuw` if the GEP is `inbounds` and the offset is
non-negative. The relevant Alive2 proof is
https://alive2.llvm.org/ce/z/nP3RWy.
### Motivation
It seems unnecessary to convert `int` to `ptr` just to get its offset.
In most cases, they generates the same assembly, but sometimes it may
miss some optimizations since the analysis of `GEP` is not as perfect as
that of arithmetic operation. One example is
https://github.com/dtcxzyw/llvm-opt-benchmark/blob/e3c822bf41df3a88ca38eba884a52b0cc7e70bf2/bench/protobuf/optimized/generated_message_reflection.cc.ll#L39860-L39873
``` llvm
%conv.i188 = zext i32 %145 to i64
%add.i189 = add i64 %conv.i188, %125
%146 = load i16, ptr %num_aux_entries10.i, align 2
%conv2.i191 = zext i16 %146 to i64
%mul.i192 = shl nuw nsw i64 %conv2.i191, 3
%add3.i193 = add i64 %add.i189, %mul.i192
%147 = inttoptr i64 %add3.i193 to ptr
%sub.ptr.lhs.cast.i195 = ptrtoint ptr %144 to i64
%sub.ptr.rhs.cast.i196 = ptrtoint ptr %143 to i64
%sub.ptr.sub.i197 = sub i64 %sub.ptr.lhs.cast.i195, %sub.ptr.rhs.cast.i196
%add.ptr = getelementptr inbounds i8, ptr %147, i64 %sub.ptr.sub.i197
%sub.ptr.lhs.cast = ptrtoint ptr %add.ptr to i64
%sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %125
```
where `%conv.i188` first adds `%125` and then subtracts `%125` (the
result is `%sub.ptr.sub`), which can be optimized.
Commit: ebbbc73667a68dcfbe09392a1d34050592b234fd
https://github.com/llvm/llvm-project/commit/ebbbc73667a68dcfbe09392a1d34050592b234fd
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
Log Message:
-----------
[AMDGPU] Use removeFnAttrFromReachable in lower-module-lds pass. (#92686)
Commit: f6527774569790b5a5236f6e84f3f839ce6c2fff
https://github.com/llvm/llvm-project/commit/f6527774569790b5a5236f6e84f3f839ce6c2fff
Author: Austin Kerbow <Austin.Kerbow at amd.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
Log Message:
-----------
[AMDGPU] Fix kernarg preloading crash with some types and alignments (#91625)
Lowering of preloded arguments would fail with half/bfloat if they were
dword aligned in the kernarg segment and not part of a vector. Added
more tests with different alignments and types.
Commit: 8de7890572296830b27b6e6db39b36810bc98c31
https://github.com/llvm/llvm-project/commit/8de7890572296830b27b6e6db39b36810bc98c31
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/funcimport-stats.ll
A llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
M llvm/tools/llvm-link/llvm-link.cpp
Log Message:
-----------
[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option (#88024)
The goal is to populate `declaration` import status if a new flag`-import-declaration` is on.
* For in-process ThinLTO, the `declaration` status is visible to backend
`function-import` pass, so `FunctionImporter::importFunctions` should
read the import status and be no-op for declaration summaries.
Basically, the postlink pipeline is updated to keep its current behavior
(import definitions), but not updated to handle `declaration` summaries.
Two use cases (better call-graph sort and cross-module auto-init)
would use this bit differently.
* For distributed ThinLTO, the `declaration` status is not serialized to
bitcode. As discussed, https://github.com/llvm/llvm-project/pull/87600
will do this.
[1] https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5
[2] https://github.com/llvm/llvm-project/pull/87597#discussion_r1556067195
Commit: d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
https://github.com/llvm/llvm-project/commit/d316a0bd48ceb4a0ee851d729291a2cdcc8818eb
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[NFC] Remove unused ASTWriter::getTypeID
As the title suggests, the `ASTWriter:getTypeID` method is not used.
This patch removes it.
Commit: b6e102e08cd35543175459494211a3a15f793302
https://github.com/llvm/llvm-project/commit/b6e102e08cd35543175459494211a3a15f793302
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll
Log Message:
-----------
[SCEV] Don't use non-deterministic constant folding for trip counts (#90942)
When calculating the exit count exhaustively, if any of the involved
operations is non-deterministic, the exit count we compute at
compile-time and the exit count at run-time may differ. Using these
non-deterministic constant folding results is only correct if we
actually replace all uses of the instruction with the value. SCEV (or
its consumers) generally don't do this.
Handle this by adding a new AllowNonDeterministic flag to the constant
folding API, and disabling it in SCEV. If non-deterministic results are
not allowed, do not fold FP lib calls in general, and FP operations
returning NaNs in particular. This could be made more precise (some FP
libcalls like fabs are fully deterministic), but I don't think this that
precise handling here is worthwhile.
Fixes the interesting part of
https://github.com/llvm/llvm-project/issues/89885.
Commit: 6b0733e3a35350679ea9c6056ecd28652d99017f
https://github.com/llvm/llvm-project/commit/6b0733e3a35350679ea9c6056ecd28652d99017f
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/funcimport-stats.ll
R llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
M llvm/tools/llvm-link/llvm-link.cpp
Log Message:
-----------
Revert "[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option" (#92715)
Reverts llvm/llvm-project#88024
Build bot failures
(https://lab.llvm.org/buildbot/#/builders/259/builds/4727 and
https://lab.llvm.org/buildbot/#/builders/9/builds/43876)
Commit: 32ae9a28a54f59f2b4e2f32323f53fb107ea1f85
https://github.com/llvm/llvm-project/commit/32ae9a28a54f59f2b4e2f32323f53fb107ea1f85
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/ParallelCG.cpp
M llvm/lib/LTO/LTOBackend.cpp
Log Message:
-----------
[llvm] Use SmallString::str (NFC) (#92712)
Commit: 7529fe2e92e79eef22a528a7168e4dd777d6e9bd
https://github.com/llvm/llvm-project/commit/7529fe2e92e79eef22a528a7168e4dd777d6e9bd
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Only set Info.memVT when not later overridden (#92670)
For the amdgcn_*_buffer_load_lds intrinsics this field is later
overriden, so avoid pointlessly calling MVT::getVT in that case.
Importantly, this is also the only case I can find in tree where a
PointerType is passed to MVT::getVT, so this will allow us to forbid
doing so in future, keeping MVT::iPTR as originating solely from
TableGen as was claimed next to its definition in MachineValueType.h
(but lost in the autogeneration conversion).
Commit: 9500a5d02e23f9b43294e5f662ac099f8989c0e4
https://github.com/llvm/llvm-project/commit/9500a5d02e23f9b43294e5f662ac099f8989c0e4
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-19 (Sun, 19 May 2024)
Changed paths:
M clang/tools/driver/cc1as_main.cpp
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/test/MC/AsmParser/assembler-expressions-inlineasm.ll
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
Log Message:
-----------
[MC] Make UseAssemblerInfoForParsing mostly true
Commit 6c0665e22174d474050e85ca367424f6e02476be
(https://reviews.llvm.org/D45164) enabled certain constant expression
evaluation for `MCObjectStreamer` at parse time (e.g. `.if` directives,
see llvm/test/MC/AsmParser/assembler-expressions.s).
`getUseAssemblerInfoForParsing` was added to make `clang -c` handling
inline assembly similar to `MCAsmStreamer` (e.g. `llvm-mc -filetype=asm`),
where such expression folding (related to
`AttemptToFoldSymbolOffsetDifference`) is unavailable.
I believe this is overly conservative. We can make some parse-time
expression folding work for `clang -c` even if `clang -S` would still
report an error, a MCAsmStreamer issue (we cannot print `.if`
directives) that should not restrict the functionality of
MCObjectStreamer.
```
% cat b.cc
asm(R"(
.pushsection .text,"ax"
.globl _start; _start: ret
.if . -_start == 1
ret
.endif
.popsection
)");
% gcc -S b.cc && gcc -c b.cc
% clang -S -fno-integrated-as b.cc # succeeded
% clang -c b.cc # succeeded with this patch
% clang -S b.cc # still failed
<inline asm>:4:5: error: expected absolute expression
4 | .if . -_start == 1
| ^
1 error generated.
```
However, removing `getUseAssemblerInfoForParsing` would make
MCDwarfFrameEmitter::Emit (for .eh_frame FDE) slow (~4% compile time
regression for sqlite3.c amalgamation) due to expensive
`AttemptToFoldSymbolOffsetDifference`. For now, make
`UseAssemblerInfoForParsing` false in MCDwarfFrameEmitter::Emit.
Close #62520
Link: https://discourse.llvm.org/t/rfc-clang-assembly-object-equivalence-for-files-with-inline-assembly/78841
Pull Request: https://github.com/llvm/llvm-project/pull/91082
Commit: eac743d1b01fd44bc742e1ccc2be8360908bdbf8
https://github.com/llvm/llvm-project/commit/eac743d1b01fd44bc742e1ccc2be8360908bdbf8
Author: YunQiang Su <syq at debian.org>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/test/CodeGen/Mips/msa/inline-asm.ll
Log Message:
-----------
MIPS: Support '%w' token in inline asm template for MSA (#91920)
MSA registers share the FPRs as its bottom half. So that we can use MSA
instructions to work with normal float/double:
double a, b, c;
asm volatile ("fmadd.d %w0, %w1, %w2" : "+f"(a) : "f"(b), "f"(c));
GCC has support it for quite long time.
Commit: d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
https://github.com/llvm/llvm-project/commit/d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
Author: YunQiang Su <syq at debian.org>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/test/Driver/mips-as.c
M clang/test/Driver/mips-features.c
Log Message:
-----------
Clang/MIPS: Add +fp64 if MSA and no explicit -mfp option (#91949)
MSA requires -mfp64. If FP64 is supported by CPU (mips32r2+), and no
-mfp32/-mfpxx is explicitly given, let's add +fp64. Otherwise some cmd
like
clang --target=mips -mips32r5 -mmsa
will issue LLVM backend ICE.
Commit: 073488cb1f2ca131253efa3171bd56be34ba9fb3
https://github.com/llvm/llvm-project/commit/073488cb1f2ca131253efa3171bd56be34ba9fb3
Author: YunQiang Su <syq at debian.org>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Basic/Targets/Mips.h
Log Message:
-----------
MIPS/Clang: Use FP32 by default if CPU is mips1 (#92122)
FP32 is the only supported FPMode of mips1.
FPXX requires MIPS2+ and FP64 requires MIPS32r2+.
Commit: dd8cb3d4f120edcf5fc3939594ee086c44010274
https://github.com/llvm/llvm-project/commit/dd8cb3d4f120edcf5fc3939594ee086c44010274
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/test/ELF/mips-eh_frame-pic.s
Log Message:
-----------
[ELF] Support high address DW_EH_sdata4 for ELFCLASS32
When the address pointer encoding in FDEs uses
DW_EH_PE_absptr|DW_EH_PE_sdata4, the address is sign-extended to 64-bit
by `readFdeAddr`. We should truncate the address to 32-bit for
ELFCLASS32. Otherwise, `isInt<32>(pc - va)` could be false, leading to a
spurious error in `getFdeData`.
In LLVM, this appears a MIPS-specific issue.
Fix #88852
Pull Request: https://github.com/llvm/llvm-project/pull/92438
Commit: 2143b7cd7d184b3f3bc4a997ea925ab7574c93f9
https://github.com/llvm/llvm-project/commit/2143b7cd7d184b3f3bc4a997ea925ab7574c93f9
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/pr92233.ll
Log Message:
-----------
[PowerPC]perform bitcast lowering only at 64 bit
Perform bitcast lowering requires 64-bit to be native supported,
However this is not true on 32-bit targets. Explicitly require
64-bit target.
Fixes #92233
Commit: a027bea438e285380450f5b380be072f44ee0312
https://github.com/llvm/llvm-project/commit/a027bea438e285380450f5b380be072f44ee0312
Author: hev <wangrui at loongson.cn>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
Log Message:
-----------
[LoongArch] Select {DIV,MOD}.{W,WU} instruction to eliminate explicit sign extension (#92205)
Commit: 6582efc263c0df921b88b03bbdcd28a89daaa641
https://github.com/llvm/llvm-project/commit/6582efc263c0df921b88b03bbdcd28a89daaa641
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[Clang] Fix __is_array returning true for zero-sized arrays (#86652)
Fixes #54705
Commit: da6a0b7af29a222b2e16a10155b49d4fafe967f3
https://github.com/llvm/llvm-project/commit/da6a0b7af29a222b2e16a10155b49d4fafe967f3
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Headers/opencl-c-base.h
M clang/lib/Headers/opencl-c.h
M clang/lib/Sema/OpenCLBuiltins.td
Log Message:
-----------
[OpenCL] Add cl_khr_kernel_clock builtins (#91950)
Commit: 50b2bd4a25bb3a7a0790cb59e1240099efd7092e
https://github.com/llvm/llvm-project/commit/50b2bd4a25bb3a7a0790cb59e1240099efd7092e
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/test/ExtractAPI/objc_external_category.m
Log Message:
-----------
[clang][ExtractAPI] Remove symbols defined in categories to external types unless requested (#92522)
rdar://128259890
Commit: b60e62896e2665e1a0ac51fc9942c1c4d31c0f53
https://github.com/llvm/llvm-project/commit/b60e62896e2665e1a0ac51fc9942c1c4d31c0f53
Author: Elvis Wang <110374989+ElvisWang123 at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
A llvm/test/Analysis/CostModel/RISCV/cmp-select.ll
Log Message:
-----------
[RISCV][CostModel] Remove cost of icmp inst in icmp+select with SFB. (#91158)
With ShortFowrardBranchOpt(SFB) or ConditionalMoveFusion, scalar
ICmp and scalar Select instructions will lower to SELECT_CC
and lower to PseudoCCMOVGPR which will generate a conditional
branch instruction and a move instruction.
The cost of scalar (ICmp + Select) = (0 + Select instruction cost)
Commit: f5211d79b9edf56c08143491ccde38d480b40ab8
https://github.com/llvm/llvm-project/commit/f5211d79b9edf56c08143491ccde38d480b40ab8
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
A llvm/test/Transforms/GVNSink/sink-ignore-dbg-intrinsics.ll
Log Message:
-----------
[DebugInfo][GVNSink] Fix #77415: GVNSink fails to optimize LLVM IR with debug info (#77602)
This PR fixes issue #77415 and is revised from PR #77419 .
PR #77419 breaks the newly added test in the same PR on windows, because
GVNSink is non-deterministic when sorting `BasicBlock*` pointers. This
is reflected in the failure report.
```
# | C:\src\llvm-project\llvm\test\Transforms\GVNSink\sink-ignore-dbg-intrinsics.ll:28:10: error: CHECK: expected string not found in input
# | ; CHECK: %a.sink = phi i32 [ %a, %if.then ], [ %b, %if.else ]
# | ^
# | <stdin>:24:8: note: scanning from here
# | if.end: ; preds = %if.else, %if.then
# | ^
# | <stdin>:25:2: note: possible intended match here
# | %b.sink = phi i32 [ %b, %if.else ], [ %a, %if.then ]
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\src\llvm-project\llvm\test\Transforms\GVNSink\sink-ignore-dbg-intrinsics.ll
```
According to the report, what the CheckFile wants to match is the
`%a.sink`, however there is `%b.sink`. But this mismatch does not mean
that this commit is wrong, since the occurrence of either `%a.sink` or
`%b.sink` is correct. The root cause of this test failure is the strict
check rule in the regression test committed.
So I refined the regression test with a more general check rule to only
detect whether there is an instruction with suffix `.sink` in the
`if.end` block. Hope this won't fail the test. If this PR still fails to
build, I will close this PR and try to find another right way to fix
this.
Commit: d3d6565c2453be2f580ff12b32cc5d0cb5c6c9d8
https://github.com/llvm/llvm-project/commit/d3d6565c2453be2f580ff12b32cc5d0cb5c6c9d8
Author: hanbeom <kese111 at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
A llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir
Log Message:
-----------
[AArch64] Add PreTest for optimizing `MOV` to `ORR`
Commit: 384bf545a1a7d8dfd16afd20ef07eb845495bac4
https://github.com/llvm/llvm-project/commit/384bf545a1a7d8dfd16afd20ef07eb845495bac4
Author: bd1976bris <bd1976llvm at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/ps4-ps5-visibility-dllstorageclass.c
A clang/test/Driver/ps4-visibility.cl
A clang/test/Driver/ps5-visibility.cl
Log Message:
-----------
[Driver][PS5] Set visibility option defaults (#92091)
Adjust the PS5 driver defaults for the -fvisibility-from-dllstorageclass
sub-options so that only globals with dllimport/dllexport annotations
are adjusted. This allows globals without dllimport/export to retain
the visibility and pre-emptability assigned during IR-Gen. Set
-fvisibility=hidden on PS5 by default to compensate for no longer
overriding the visibility of definitions without dllexport. Note there
is no behavior change for PS4 (the behavior of overriding the
visibility for all globals is retained on PS4).
Commit: ce1a0d8ad380d12dc7ea001cfab3749bb23d445d
https://github.com/llvm/llvm-project/commit/ce1a0d8ad380d12dc7ea001cfab3749bb23d445d
Author: hanbeom <kese111 at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandImm.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir
Log Message:
-----------
[AArch64] Optimize `MOV` to `ORR` when load symmetric constants (#86249)
This change looks for cases of symmetric constant loading.
`symmetric constant load` is when the upper 32 bits and lower 32 bits
of a 64-bit register load the same value.
When it finds this, it replaces it with an instruction that loads only
the lower 32 bits of the constant and stores it in the upper and lower
bits simultaneously.
For example:
renamable $x8 = MOVZXi 49370, 0
renamable $x8 = MOVKXi $x8, 320, 16
renamable $x8 = MOVKXi $x8, 49370, 32
renamable $x8 = MOVKXi $x8, 320, 48
becomes
renamable $x8 = MOVZXi 49370, 0
renamable $x8 = MOVKXi $x8, 320, 16
renamable $x8 = ORRXrs $x8, $x8, 32
Commit: 702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed
https://github.com/llvm/llvm-project/commit/702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
A clang/test/CoverageMapping/mcdc-system-headers.cpp
Log Message:
-----------
[Coverage] Rework !SystemHeadersCoverage (#91446)
- Introduce `LeafExprSet`,
- Suppress traversing LAnd and LOr expr under system headers.
- Handle LAnd and LOr as instrumented leaves to override
`!isInstrumentedCondition(C)`.
- Replace Loc with FileLoc if it is expanded with system headers.
Fixes #78920
Commit: 2217d1706a76d3f298899f824354ca9d96c45813
https://github.com/llvm/llvm-project/commit/2217d1706a76d3f298899f824354ca9d96c45813
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
Log Message:
-----------
[lldb][Windows] Fixed LibcxxChronoTimePointSecondsSummaryProvider() (#92701)
This patch fixes #92574. It is a replacement for #92575.
Commit: 8e8d2595dafa230a3da7f410200d89f05b6e8d87
https://github.com/llvm/llvm-project/commit/8e8d2595dafa230a3da7f410200d89f05b6e8d87
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/test/CodeGen/RISCV/riscv-inline-asm.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGenCXX/atomicinit.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/Profile/c-unreachable-after-switch.c
M compiler-rt/test/profile/Linux/counter_promo_for.c
M compiler-rt/test/profile/Linux/counter_promo_while.c
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Other/constant-fold-gep.ll
M llvm/test/Other/optimize-inrange-gep.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
M llvm/test/Transforms/GVN/PRE/load-pre-licm.ll
M llvm/test/Transforms/GVN/PRE/phi-translate-2.ll
M llvm/test/Transforms/IndVarSimplify/D108043.ll
M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
M llvm/test/Transforms/IndVarSimplify/floating-point-small-iv.ll
M llvm/test/Transforms/IndVarSimplify/lftr-dead-ivs.ll
M llvm/test/Transforms/IndVarSimplify/lftr.ll
M llvm/test/Transforms/InstCombine/addrspacecast.ll
M llvm/test/Transforms/InstCombine/align-addr.ll
M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
M llvm/test/Transforms/InstCombine/constant-fold-gep.ll
M llvm/test/Transforms/InstCombine/fmul.ll
M llvm/test/Transforms/InstCombine/force-opaque-ptr.ll
M llvm/test/Transforms/InstCombine/fortify-folding.ll
M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
M llvm/test/Transforms/InstCombine/loadstore-alignment.ll
M llvm/test/Transforms/InstCombine/memchr-2.ll
M llvm/test/Transforms/InstCombine/memchr-4.ll
M llvm/test/Transforms/InstCombine/memchr-6.ll
M llvm/test/Transforms/InstCombine/memchr-7.ll
M llvm/test/Transforms/InstCombine/memchr-8.ll
M llvm/test/Transforms/InstCombine/memchr-9.ll
M llvm/test/Transforms/InstCombine/memchr.ll
M llvm/test/Transforms/InstCombine/memcmp-8.ll
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
M llvm/test/Transforms/InstCombine/memrchr-3.ll
M llvm/test/Transforms/InstCombine/memrchr-4.ll
M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
M llvm/test/Transforms/InstCombine/objsize.ll
M llvm/test/Transforms/InstCombine/pr25342.ll
M llvm/test/Transforms/InstCombine/pr33453.ll
M llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
M llvm/test/Transforms/InstCombine/pr38984.ll
M llvm/test/Transforms/InstCombine/pr83947.ll
M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
M llvm/test/Transforms/InstCombine/rem.ll
M llvm/test/Transforms/InstCombine/select-and-or.ll
M llvm/test/Transforms/InstCombine/simplify-libcalls-i16.ll
M llvm/test/Transforms/InstCombine/simplify-libcalls.ll
M llvm/test/Transforms/InstCombine/snprintf-2.ll
M llvm/test/Transforms/InstCombine/snprintf-3.ll
M llvm/test/Transforms/InstCombine/snprintf-4.ll
M llvm/test/Transforms/InstCombine/stpcpy-1.ll
M llvm/test/Transforms/InstCombine/stpcpy_chk-1.ll
M llvm/test/Transforms/InstCombine/stpncpy-1.ll
M llvm/test/Transforms/InstCombine/str-int-2.ll
M llvm/test/Transforms/InstCombine/str-int-3.ll
M llvm/test/Transforms/InstCombine/str-int-4.ll
M llvm/test/Transforms/InstCombine/str-int-5.ll
M llvm/test/Transforms/InstCombine/str-int.ll
M llvm/test/Transforms/InstCombine/strcall-bad-sig.ll
M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
M llvm/test/Transforms/InstCombine/strchr-1.ll
M llvm/test/Transforms/InstCombine/strchr-3.ll
M llvm/test/Transforms/InstCombine/strcmp-4.ll
M llvm/test/Transforms/InstCombine/strlcpy-1.ll
M llvm/test/Transforms/InstCombine/strlen-1.ll
M llvm/test/Transforms/InstCombine/strlen-6.ll
M llvm/test/Transforms/InstCombine/strpbrk-1.ll
M llvm/test/Transforms/InstCombine/strrchr-1.ll
M llvm/test/Transforms/InstCombine/strrchr-3.ll
M llvm/test/Transforms/InstCombine/strstr-1.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstCombine/wcslen-1.ll
M llvm/test/Transforms/InstSimplify/ConstProp/gep-alias.ll
M llvm/test/Transforms/InstSimplify/ConstProp/gep-constanfolding-error.ll
M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
M llvm/test/Transforms/InstSimplify/compare.ll
M llvm/test/Transforms/InstSimplify/past-the-end.ll
M llvm/test/Transforms/LoopStrengthReduce/2011-12-19-PostincQuadratic.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/2012-01-13-phielim.ll
M llvm/test/Transforms/LoopVectorize/X86/pr42674.ll
M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
M llvm/test/Transforms/LoopVersioning/add-phi-update-users.ll
M llvm/test/Transforms/LoopVersioning/bound-check-partially-known.ll
M llvm/test/Transforms/NewGVN/loadforward.ll
M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
M llvm/test/Transforms/SCCP/2009-09-24-byval-ptr.ll
M llvm/test/Transforms/SCCP/apint-bigint2.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
Log Message:
-----------
[ConstantFolding] Canonicalize constexpr GEPs to i8 (#89872)
This patch canonicalizes constant expression GEPs to use i8 source
element type, aka ptradd. This is the ConstantFolding equivalent of the
InstCombine canonicalization introduced in #68882.
I believe all our optimizations working on constant expression GEPs
(like GlobalOpt etc) have already been switched to work on offsets, so I
don't expect any significant fallout from this change.
This is part of:
https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699
Commit: 21419071e197ca2f813a983c319a2213844dc72d
https://github.com/llvm/llvm-project/commit/21419071e197ca2f813a983c319a2213844dc72d
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/shufflevector.ll
Log Message:
-----------
InstSimplify: increase shufflevector test coverage (#92407)
Add examples of patterns that can be simplified, but are currently not.
This patch serves as a pre-commit test.
Commit: 605ae4e93be8976095c7eedf5c08bfdb9ff71257
https://github.com/llvm/llvm-project/commit/605ae4e93be8976095c7eedf5c08bfdb9ff71257
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/Passes.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
Log Message:
-----------
[flang][HLFIR] Adapt SimplifyHLFIRIntrinsics to run on all top level ops (#92573)
This means that this pass will also run on hlfir intrinsics which are
not inside of functions.
See RFC:
https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations
Some of the changes are from moving the declaration and definition of
the constructor into tablegen (as requested during code review of
another pass).
Commit: 1ef081b05c562936fc025dde39b444066d9d470f
https://github.com/llvm/llvm-project/commit/1ef081b05c562936fc025dde39b444066d9d470f
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir
Log Message:
-----------
movimm-expand-ldst.mir (d3d6565c2453) requires asserts
Commit: 9f449c34278191193f2f2cbc96c333548ad20238
https://github.com/llvm/llvm-project/commit/9f449c34278191193f2f2cbc96c333548ad20238
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Use TreeEntry::getOperand if setOperandsInOrder is called (#92727)
already.
Commit: 6733a505a1afb8eb4db2f6d85426d79ff0dc5eee
https://github.com/llvm/llvm-project/commit/6733a505a1afb8eb4db2f6d85426d79ff0dc5eee
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
A mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
A mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.td
A mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
A mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
Log Message:
-----------
[MLIR][OpenMP] NFC: Split OpenMP dialect definitions (#91741)
This patch splits definitions for the OpenMP dialect into multiple files
to simplify the addition of new features, reduce merge conflicts, make
it easier to understand, etc. The split is based on the structure of the
more mature LLVMIR dialect. More specifically:
- The OpenMP dialect definition is located in OpenMPDialect.td.
- Base classes for OpenMP operations and types, as well as generic
OpenMP types are moved to OpenMPOpBase.td.
- OpenMP enumeration attributes, their case attributes and shared base
classes for these are placed in OpenMPEnums.td.
- Other OpenMP attributes are separated into OpenMPAttrDefs.td.
- OpenMPOps.td only contains operation definitions.
Even though this change should be useful on its own, it is intended as a
precursor to a follow-up PR in which operation arguments and attributes
are split into clause-specific classes which are then shared by all
operations to which they apply to. Without this prior change, that
approach would make the OpenMPOps.td file harder to navigate.
Commit: f6ae8e6381a02b10091589d7742fab389f847ea9
https://github.com/llvm/llvm-project/commit/f6ae8e6381a02b10091589d7742fab389f847ea9
Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/test/Dialect/IRDL/invalid.irdl.mlir
Log Message:
-----------
[mlir][irdl] Fix missing verifier in irdl.parametric (#92700)
The parametric op was not checking the symbol it points to is a type or
attribute. This PR also fixes a small bug where an invalid IRDL file
would not end processing in mlir-opt. I also improved the error messages
for the already handled irdl.base invalid symbols.
Commit: 82c5d350d200ccc5365d40eac187b9ec967af727
https://github.com/llvm/llvm-project/commit/82c5d350d200ccc5365d40eac187b9ec967af727
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
Log Message:
-----------
[VPlan] Add commutative binary OR matcher, use in transform. (#92539)
Split off from https://github.com/llvm/llvm-project/pull/89386, this
extends the binary matcher to support matching commuative operations.
This is used for a new m_c_BinaryOr matcher, used in simplifyRecipe.
PR: https://github.com/llvm/llvm-project/pull/92539
Commit: 36899d693d91719e7e6cd0f0ee4cf579111b8509
https://github.com/llvm/llvm-project/commit/36899d693d91719e7e6cd0f0ee4cf579111b8509
Author: Danila Malyutin <danilaml at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[CloneFunction] Remove check that is no longer necessary (#92577)
We do not need to concern ourselves with CGSCC since all remaining CG
related updates went away in fa6ea7a419f37befbed04368bcb8af4c718facbb as
pointed out by @nikic in
https://github.com/llvm/llvm-project/pull/87963#issuecomment-2113937182.
Commit: 04ae6e600a3090ccc1f80d0110a1108aa73a54f8
https://github.com/llvm/llvm-project/commit/04ae6e600a3090ccc1f80d0110a1108aa73a54f8
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Fix incorrect inferrence about the signbit of sqrt (#92510)
According to IEEE Std 754-2019, `sqrt` returns nan when the input is
negative (except for -0). In this case, we cannot make assumptions about
sign bit of the result.
Fixes https://github.com/llvm/llvm-project/issues/92217
Commit: d108fa03d4ac1a2634fa0a1e9b3058f4196f261c
https://github.com/llvm/llvm-project/commit/d108fa03d4ac1a2634fa0a1e9b3058f4196f261c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
Log Message:
-----------
[LAA] Add tests with invariant accesses using vector types.
Extra tests for https://github.com/llvm/llvm-project/pull/92307
Commit: 1553b21f6d3b620b8e32121b974793342820ab8c
https://github.com/llvm/llvm-project/commit/1553b21f6d3b620b8e32121b974793342820ab8c
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
Log Message:
-----------
[clang] CTAD alias: Fix missing template arg packs during the transformation (#92535)
clang rejects some valid code (see testcases) because of an incorrect
transformed deduction guides. This patch fixes it.
We miss the template argument packs during the transformation (`auto
(type-parameter-0-0...) -> Foo<>`). In
`TreeTransform::TransformTemplateArguments `, we have a logic of
handling template argument packs which were originally added to support
CTAD alias, it doesn't seem to be needed, we need to unpack them.
Commit: d0dc29c2084a18c33b1b5b1cad9fd42215869746
https://github.com/llvm/llvm-project/commit/d0dc29c2084a18c33b1b5b1cad9fd42215869746
Author: jofrn <jofernau at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/test/TableGen/predicate-patfags.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen] HasOneUse builtin predicate on PatFrags (#91578)
This predicate tells GlobalISelEmitter and DAGISelEmitter to check that
the instruction to emit has only one use of its result. This can be used
on a PatFrag instead of defining custom predicates for both emitters per
record that requires it.
Commit: 64e0835126d1cf3d36eb31fa1ebb4e286cc3bea7
https://github.com/llvm/llvm-project/commit/64e0835126d1cf3d36eb31fa1ebb4e286cc3bea7
Author: Andrew Ng <andrew.ng at sony.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
M clang/test/CodeGenCXX/windows-itanium-dllexport.cpp
Log Message:
-----------
[clang] Make PS template DLL attribute propagation the same as MSVC (#92549)
For PlayStation, make the propagation of DLL import/export attributes
for explicit template instantiations the same as MSVC and Windows
Itanium.
Commit: c2f92a33464bd9b76007ad5817952000add0033e
https://github.com/llvm/llvm-project/commit/c2f92a33464bd9b76007ad5817952000add0033e
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
A llvm/test/Transforms/NaryReassociate/preserving-debugloc-add-mul.ll
Log Message:
-----------
[DebugInfo][NaryReassociate] Fix missing debug location updates (#92545)
Fixes #92537
Commit: 60fe1e9e657180cc66dc5b1211b06144f010852b
https://github.com/llvm/llvm-project/commit/60fe1e9e657180cc66dc5b1211b06144f010852b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/ARCMigrate/ARCMT.cpp
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[clang] Use SmallString::str (NFC) (#92717)
Commit: 2a90d59fc3905d3d56dac99fa25640a6d6a7bad2
https://github.com/llvm/llvm-project/commit/2a90d59fc3905d3d56dac99fa25640a6d6a7bad2
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M libcxx/src/locale.cpp
Log Message:
-----------
[libcxx] locale.cpp: Move build_name helper into unnamed namespace (#92461)
Fix linkage of `build_name`; it is not supposed to have external
linkage.
Commit: 3df7cb9ab9d2cc347efd5748dfc81fdb2082e529
https://github.com/llvm/llvm-project/commit/3df7cb9ab9d2cc347efd5748dfc81fdb2082e529
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
R offload/plugins-nextgen/exports
Log Message:
-----------
[Offload] Remove unused version script for plugins
Summary:
The plugins are no longer linked to a share library, making this unused
and useless.
Commit: 02f1a992035f40b49435f0e7f358badd152d9dc2
https://github.com/llvm/llvm-project/commit/02f1a992035f40b49435f0e7f358badd152d9dc2
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
A llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll
A llvm/test/Transforms/DivRemPairs/AMDGPU/lit.local.cfg
Log Message:
-----------
[DivRemPairs] Pre-commit tests for PR #92627 (#92628)
The tests are added to a new AMDGPU/ subdirectory since I found the
missed optimization while hacking on AMDGPU code. Also, this ensures
that AMDGPU, which uses DivRemPass, is being checked for existing
expected behavior.
Commit: 8b22bb8a62a259e35ccc49fb2f50077a2772cf2f
https://github.com/llvm/llvm-project/commit/8b22bb8a62a259e35ccc49fb2f50077a2772cf2f
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DivRemPairs.cpp
M llvm/test/Transforms/DivRemPairs/AMDGPU/div-rem-pairs.ll
Log Message:
-----------
[DivRemPairs] Do not freeze poisons that can't be undef (#92627)
Per comments in DivRemPairs, the rewrite from
```llvm
%div = div %X, %Y
%rem = rem %X, %Y
```
to
```llvm
%div = div %X, %Y
%.mul = mul %div, %Y
%rem = sub %X, %mul
```
is unsound when %X or %Y are undef.
However, it is known to be sound if %X or %Y are poison but can't be
undef, since both the pre- and post-rewrite %rem are `poison`.
Additionally, proofs: https://alive2.llvm.org/ce/z/xtNQ8j
A comment in the pass listed a TODO for changing a usage of
isGuaranteedNotToBeUndefOrPoison() in the pass to something that only
detects undef. Such a function has been implemented since the time that
TODO was written, but has not been used.
Therefore, this commit updates DivRemPairs to use
isGuaranteedNotToBeUndef() instead.
Commit: e33db249b53fb70dce62db3ebd82d42239bd1d9d
https://github.com/llvm/llvm-project/commit/e33db249b53fb70dce62db3ebd82d42239bd1d9d
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/funcimport-stats.ll
A llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/test/Transforms/FunctionImport/funcimport.ll
M llvm/tools/llvm-link/llvm-link.cpp
Log Message:
-----------
Reland "[ThinLTO] Populate declaration import status except for distributed ThinLTO under a default-off new option" (#92718)
The original PR is reviewed in
https://github.com/llvm/llvm-project/pull/88024, and this PR adds one
line (https://github.com/llvm/llvm-project/pull/92718/commits/b9f04d199dec4f3c221d981dcb91e55298d0693f)
to fix test
Limit to one thread for in-process ThinLTO to test `LLVM_DEBUG` log.
- This should fix build bot failure like
https://lab.llvm.org/buildbot/#/builders/259/builds/4727 and
https://lab.llvm.org/buildbot/#/builders/9/builds/43876
- I could repro the failure and see interleaved log messages by using
`-thinlto-threads=all`
**Original Commit Message:**
The goal is to populate `declaration` import status if a new flag
`-import-declaration` is on.
* For in-process ThinLTO, the `declaration` status is visible to backend
`function-import` pass, so `FunctionImporter::importFunctions` should
read the import status and be no-op for declaration summaries.
Basically, the postlink pipeline is updated to keep its current behavior
(import definitions), but not updated to handle `declaration` summaries.
Two use cases ([better call-graph
sort](https://discourse.llvm.org/t/rfc-for-better-call-graph-sort-build-a-more-complete-call-graph-by-adding-more-indirect-call-edges/74029#support-cross-module-function-declaration-import-5)
or [cross-module
auto-init](https://github.com/llvm/llvm-project/pull/87597#discussion_r1556067195))
would use this bit differently.
* For distributed ThinLTO, the `declaration` status is not serialized to
bitcode. As discussed, https://github.com/llvm/llvm-project/pull/87600
will do this.
Commit: 3efaf9caa56393597839b796d34f92459c711605
https://github.com/llvm/llvm-project/commit/3efaf9caa56393597839b796d34f92459c711605
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
Log Message:
-----------
[Clang][Sema] Fix crash when diagnosing near-match for 'constexpr' redeclaration in C++11 (#92452)
Clang crashes when diagnosing the following invalid redeclaration in
C++11:
```
struct A {
void f();
};
constexpr void A::f() { } // crash here
```
This happens because `DiagnoseInvalidRedeclaration` tries to create a
fix-it to remove `const` from the out-of-line declaration of `f`, but
there is no `SourceLocation` for the `const` qualifier (it's implicitly
`const` due to `constexpr`) and an assert in
`FunctionTypeInfo::getConstQualifierLoc` fails.
This patch changes `DiagnoseInvalidRedeclaration` to only suggest the removal of the
`const` qualifier when it was explicitly specified in the _cv-qualifier-seq_ of the declaration.
Commit: 2a2b27d99e3faf34a593c1ed8029ed4744f1cd5d
https://github.com/llvm/llvm-project/commit/2a2b27d99e3faf34a593c1ed8029ed4744f1cd5d
Author: David Truby <david.truby at arm.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
Log Message:
-----------
[flang] Fix CMake dependency in CUF/Attributes (#92751)
flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp includes
CUFDialect.h.inc, but the target generating that isn't currently
depended on in CUF/Attributes. This patch adds that missing dependency.
Fixes #92635
Commit: 9def85f99aba66fb5a266d2abf60c3802ff13c6a
https://github.com/llvm/llvm-project/commit/9def85f99aba66fb5a266d2abf60c3802ff13c6a
Author: inglorion <inglorion at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/utils/revert_checker.py
Log Message:
-----------
[revert_checker] replace Phabricator URIs with GitHub URIs (#92102)
LLVM is now using GitHub. This change makes revert_checker.py -u
generate commit links that go to GitHub, instead of the old Phabricator
URIs.
Commit: 586ecd75606e70a8d16cb1717809acce652ffe7f
https://github.com/llvm/llvm-project/commit/586ecd75606e70a8d16cb1717809acce652ffe7f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
Log Message:
-----------
AMDGPU: Relax vector restriction for rootn libcall folds (#92594)
We could try harder for nonsplat vectors but probably not worth the
effort.
Commit: 0a15574eec7715e09b6fd52d3cd9a4f6e2b797e9
https://github.com/llvm/llvm-project/commit/0a15574eec7715e09b6fd52d3cd9a4f6e2b797e9
Author: Jacob Lambert <jacob.lambert at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
M clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp
Log Message:
-----------
[NFC][amdgpuarch] Correct file names in file header comments (#92294)
Commit: 097e96d0d1ad9cceb461bb3487af0a2ec42176e4
https://github.com/llvm/llvm-project/commit/097e96d0d1ad9cceb461bb3487af0a2ec42176e4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
Log Message:
-----------
[LegalizeTypes] Use VP_AND for zext_inreg in PromoteIntRes_VPFunnelShift.
I may eventually add getVPZeroExtendInReg to SelectionDAG if there are
other cases, but for now just hardcode it.
Commit: 9964c2c33d750d60b512d518899fa2147576f3f3
https://github.com/llvm/llvm-project/commit/9964c2c33d750d60b512d518899fa2147576f3f3
Author: Pradeep Kumar <pradeepisro49 at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
Log Message:
-----------
[MILR][NVVM] Fix missing semicolon in nvvm.barrier.arrive Op (#92769)
This commit fixes the missing semicolon in the PTX codegen path where
barrier id is provided for the NVVM BarrierArriveOp. Also, updated
nvvm-to-llvm.mlir lit test to reflect the same
Co-authored-by: pradeepku <pradeepku at nvidia.com>
Commit: 4f5bc4bb55a8091ca9eb6dd016dcb2be82bf917a
https://github.com/llvm/llvm-project/commit/4f5bc4bb55a8091ca9eb6dd016dcb2be82bf917a
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Sema/CMakeLists.txt
A clang/lib/Sema/SemaRISCV.cpp
R clang/lib/Sema/SemaRISCVVectorLookup.cpp
Log Message:
-----------
[clang][NFC] Rename `SemaRISCVVectorLookup.cpp` into `SemaRISCV.cpp`
In preparation for #92682.
Commit: d71f30a7f45c5a73fe551ea4ca48b11191e7b0e8
https://github.com/llvm/llvm-project/commit/d71f30a7f45c5a73fe551ea4ca48b11191e7b0e8
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Update the list of Core issues
Commit: 0047df9af4a106560197850438d6543dcb87d839
https://github.com/llvm/llvm-project/commit/0047df9af4a106560197850438d6543dcb87d839
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
A llvm/test/CodeGen/SPIRV/execution-mode-reqd_work_group_size.ll
A llvm/test/CodeGen/SPIRV/execution-mode-work_group_size_hint.ll
Log Message:
-----------
[SPIR-V] reqd_work_group_size and work_group_size_hint metadata are correctly converted to the LocalSize and LocalSizeHint execution mode (#92552)
The goal of this PR is to ensure that reqd_work_group_size and
work_group_size_hint metadata are correctly converted to the LocalSize
and LocalSizeHint execution mode.
reqd_work_group_size and work_group_size_hint require 3 operands (see
https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#Execution_Mode),
if metadata contains less operands, just add a default value (1).
Commit: 50be0b1b967eeb479989ed26c13d17a53845dd1e
https://github.com/llvm/llvm-project/commit/50be0b1b967eeb479989ed26c13d17a53845dd1e
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll
Log Message:
-----------
[SPIR-V] Ensure that internal intrinsic functions "ptrcast" for PHI's operand are inserted at the correct positions (#92536)
The goal of the PR is to ensure that newly inserted `ptrcast` internal
intrinsic functions are inserted at the correct positions, and don't
break rules of instruction domination and PHI nodes grouping at top of
basic block.
Commit: 1de1f775b55bb5c4c739e8f7ac78e7f59f2645fb
https://github.com/llvm/llvm-project/commit/1de1f775b55bb5c4c739e8f7ac78e7f59f2645fb
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir] [openmp] fix bazel build (#92790)
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 3575d23ca866e0510b322e4520d6cbcebee18c22
https://github.com/llvm/llvm-project/commit/3575d23ca866e0510b322e4520d6cbcebee18c22
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.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/CGExprScalar.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/X86.cpp
Log Message:
-----------
[clang][CodeGen] Remove unused LValue::getAddress CGF arg. (#92465)
This is in effect a revert of f139ae3d93797, as we have since gained a
more sophisticated way of doing extra IRGen with the addition of
RawAddress in #86923.
Commit: 285f1392da07f6b0bcaa7d106c00b1e9fda25333
https://github.com/llvm/llvm-project/commit/285f1392da07f6b0bcaa7d106c00b1e9fda25333
Author: David Green <david.green at arm.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Some more tests for different cmp's and fp consts. NFC
Commit: a0e3e76385feca289f03576b17d5e9cc7783c9b4
https://github.com/llvm/llvm-project/commit/a0e3e76385feca289f03576b17d5e9cc7783c9b4
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
Log Message:
-----------
[mlir] Remove redundant include in Passes.h header (NFC)
Commit: e24610532b87eaae06dedec8f7c90764cd9ba19c
https://github.com/llvm/llvm-project/commit/e24610532b87eaae06dedec8f7c90764cd9ba19c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn build] Port 4f5bc4bb55a8
Commit: fd87d765c0455265aea4595a3741a96b4c078fbc
https://github.com/llvm/llvm-project/commit/fd87d765c0455265aea4595a3741a96b4c078fbc
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/class/class.mfct/class.mfct.non-static/p3.cpp
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
Log Message:
-----------
[Clang][Sema] Don't build CXXDependentScopeMemberExprs for potentially implicit class member access expressions (#92318)
According to [expr.prim.id.general] p2:
> If an _id-expression_ `E` denotes a non-static non-type member of some
class `C` at a point where the current class is `X` and
> - `E` is potentially evaluated or `C` is `X` or a base class of `X`,
and
> - `E` is not the _id-expression_ of a class member access expression,
and
> - if `E` is a _qualified-id_, `E` is not the un-parenthesized operand
of the unary `&` operator,
>
> the _id-expression_ is transformed into a class member access
expression using `(*this)` as the object expression.
Consider the following:
```
struct A
{
void f0();
template<typename T>
void f1();
};
template<typename T>
struct B : T
{
auto g0() -> decltype(T::f0()); // ok
auto g1() -> decltype(T::template f1<int>()); // error: call to non-static member function without an object argument
};
template struct B<A>;
```
Clang incorrectly rejects the call to `f1` in the _trailing-return-type_
of `g1`. Furthermore, the following snippet results in a crash during
codegen:
```
struct A
{
void f();
};
template<typename T>
struct B : T
{
template<typename U>
static void g();
template<>
void g<int>()
{
return T::f(); // crash here
}
};
template struct B<A>;
```
This happens because we unconditionally build a
`CXXDependentScopeMemberExpr` (with an implicit object expression) for
`T::f` when parsing the template definition, even though we don't know
whether `g` is an implicit object member function yet.
This patch fixes these issues by instead building
`DependentScopeDeclRefExpr`s for such expressions, and only transforming
them into implicit class member access expressions during instantiation.
Since we implemented the MS "unqualified lookup into dependent bases"
extension by building an implicit class member access (and relying on
the first component name of the _nested-name-specifier_ to be looked up
in the context of the object expression during instantiation), we
instead pre-append a fake _nested-name-specifier_ that refers to the
injected-class-name of the enclosing class. This patch also refactors
`Sema::BuildQualifiedDeclarationNameExpr` and
`Sema::BuildQualifiedTemplateIdExpr`, streamlining their implementation
and removing any redundant checks.
Commit: c6486633d2656faecea8d7eb426bb22c52ddfd14
https://github.com/llvm/llvm-project/commit/c6486633d2656faecea8d7eb426bb22c52ddfd14
Author: Yingchi Long <i at lyc.dev>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/BPF/BPFMIChecking.cpp
M llvm/test/CodeGen/BPF/xadd.ll
Log Message:
-----------
[BPF] report `Invalid usage of the XADD return value"` elegantly (#92742)
Previously `report_fatal_error` is used for reporting something goes
wrong in the backend, but this is confusing because `report_fatal_error`
basically means there are something unexpected & crashed in the backend.
So, turn this "crash" into an elegant error reporting. After this patch,
clang can diagnose it:
bpf-crash.c:4:30: error: Invalid usage of the XADD return value
4 | u32 next_event_id() { return __sync_fetch_and_add(&GLOBAL_EVENT_ID,
1); }
| ^
1 error generated.
Commit: 549fdda3e1e4e01acd6a11f3808d6500b4ded36c
https://github.com/llvm/llvm-project/commit/549fdda3e1e4e01acd6a11f3808d6500b4ded36c
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
Log Message:
-----------
[AMDGPU] Refactor int_amdgcn_mov_dpp8 patterns. NFC. (#92764)
I still don't see why we need to select to different Real instructions
on different targets, but at least this is less verbose.
Commit: 3591da9f1ccbd8b19fef4814f96638dbbe9c2b40
https://github.com/llvm/llvm-project/commit/3591da9f1ccbd8b19fef4814f96638dbbe9c2b40
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/test/CoverageMapping/mcdc-system-headers.cpp
Log Message:
-----------
Fix test for non-Itanium ABIs.
This amends 702a2b627ff4b2a5d330a7bd0d3f7cadaff0b4ed to hopefully get
the test passing for Windows again.
Commit: 245491a9f384e4c53421196533c2a2b693efaf8d
https://github.com/llvm/llvm-project/commit/245491a9f384e4c53421196533c2a2b693efaf8d
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[MC] Disable MCAssembler based constant folding for DwarfDebug
Related to the poor performance of MCAssembler based constant folding
(see `bool MCExpr::evaluateAsAbsolute(int64_t &Res, const MCAssembler *Asm) const` and
`AttemptToFoldSymbolOffsetDifference`),
commit 9500a5d02e23f9b43294e5f662ac099f8989c0e4 (#91082) caused -O0 -g
compile time regression.
9500a5d02e23f9b43294e5f662ac099f8989c0e4 special cased .eh_frame FDE
emitting. This patch adds a special case to .debug_* emitting as well to
mitigate the rest regression.
The MCAssembler based constant folding strategy should be improved to
remove the two special cases.
Commit: bce3680f45b57f6ce745cb7da659f2ece745a1d1
https://github.com/llvm/llvm-project/commit/bce3680f45b57f6ce745cb7da659f2ece745a1d1
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Move logic to compute start and end of a pointer to helper (NFC).
This allows use at other places, in particular an updated version of
https://github.com/llvm/llvm-project/pull/92307.
Commit: acf5ad2a4ed9bf94b03d18ccddce7710e721dc6c
https://github.com/llvm/llvm-project/commit/acf5ad2a4ed9bf94b03d18ccddce7710e721dc6c
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-no-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
A clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/SemaTemplate/dependent-names.cpp
M clang/test/SemaTemplate/destructor-template.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
Log Message:
-----------
[Clang][Sema] Diagnose current instantiation used as an incomplete base class (#92597)
Consider the following:
```
template<typename T>
struct A
{
struct B : A { };
};
```
According to [class.derived.general] p2:
> [...] A _class-or-decltype_ shall denote a (possibly cv-qualified)
class type that is not an incompletely defined class; any cv-qualifiers
are ignored. [...]
Although GCC and EDG rejects this, Clang accepts it. This is incorrect,
as `A` is incomplete within its own definition (outside of a
complete-class context). This patch correctly diagnoses instances where
the current instantiation is used as a base class before it is complete.
Conversely, Clang erroneously rejects the following:
```
template<typename T>
struct A
{
struct B;
struct C : B { };
struct B : C { }; // error: circular inheritance between 'C' and 'A::B'
};
```
Though it may seem like no valid specialization of this template can be
instantiated, an explicit specialization of either member classes for an
implicit instantiated specialization of `A` would permit the definition
of the other member class to be instantiated, e.g.:
```
template<>
struct A<int>::B { };
A<int>::C c; // ok
```
So this patch also does away with this error. This means that circular
inheritance is diagnosed during instantiation of the definition as a
consequence of requiring the base class type to be complete (matching
the behavior of GCC and EDG).
Commit: a91d5c07f2357f10a5378bb3b0e439847f2b8e00
https://github.com/llvm/llvm-project/commit/a91d5c07f2357f10a5378bb3b0e439847f2b8e00
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocate-directive.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate04.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate07.f90
M flang/test/Semantics/OpenMP/allocate08.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators02.f90
M flang/test/Semantics/OpenMP/allocators03.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
M flang/test/Semantics/OpenMP/atomic.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/barrier.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/combined-constructs.f90
M flang/test/Semantics/OpenMP/common-block.f90
M flang/test/Semantics/OpenMP/compiler-directive.f90
M flang/test/Semantics/OpenMP/copyin01.f90
M flang/test/Semantics/OpenMP/copyin02.f90
M flang/test/Semantics/OpenMP/copyin03.f90
M flang/test/Semantics/OpenMP/copyin04.f90
M flang/test/Semantics/OpenMP/copyin05.f90
M flang/test/Semantics/OpenMP/copying.f90
M flang/test/Semantics/OpenMP/copyprivate01.f90
M flang/test/Semantics/OpenMP/copyprivate02.f90
M flang/test/Semantics/OpenMP/copyprivate03.f90
M flang/test/Semantics/OpenMP/critical-empty.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
M flang/test/Semantics/OpenMP/dealloc.f90
M flang/test/Semantics/OpenMP/declarative-directive.f90
M flang/test/Semantics/OpenMP/declare-target-common-block.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/declare-target02.f90
M flang/test/Semantics/OpenMP/declare-target03.f90
M flang/test/Semantics/OpenMP/declare-target04.f90
M flang/test/Semantics/OpenMP/declare-target05.f90
M flang/test/Semantics/OpenMP/declare-target06.f90
M flang/test/Semantics/OpenMP/declare-target07.f90
M flang/test/Semantics/OpenMP/default-clause.f90
M flang/test/Semantics/OpenMP/default-none.f90
M flang/test/Semantics/OpenMP/default.f90
M flang/test/Semantics/OpenMP/default02.f90
M flang/test/Semantics/OpenMP/depend01.f90
M flang/test/Semantics/OpenMP/depend02.f90
M flang/test/Semantics/OpenMP/depend03.f90
M flang/test/Semantics/OpenMP/device-clause01.f90
M flang/test/Semantics/OpenMP/device-constructs.f90
M flang/test/Semantics/OpenMP/do-collapse-positivecases.f90
M flang/test/Semantics/OpenMP/do-collapse.f90
M flang/test/Semantics/OpenMP/do-cycle.f90
M flang/test/Semantics/OpenMP/do-ordered-positivecases.f90
M flang/test/Semantics/OpenMP/do-ordered.f90
M flang/test/Semantics/OpenMP/do-schedule01.f90
M flang/test/Semantics/OpenMP/do-schedule02.f90
M flang/test/Semantics/OpenMP/do-schedule03.f90
M flang/test/Semantics/OpenMP/do-schedule04.f90
M flang/test/Semantics/OpenMP/do01-positivecase.f90
M flang/test/Semantics/OpenMP/do01.f90
R flang/test/Semantics/OpenMP/do02.f90
M flang/test/Semantics/OpenMP/do03.f90
M flang/test/Semantics/OpenMP/do04-positivecase.f90
M flang/test/Semantics/OpenMP/do04.f90
M flang/test/Semantics/OpenMP/do05-positivecase.f90
M flang/test/Semantics/OpenMP/do05.f90
M flang/test/Semantics/OpenMP/do06-positivecases.f90
M flang/test/Semantics/OpenMP/do06.f90
M flang/test/Semantics/OpenMP/do07.f90
M flang/test/Semantics/OpenMP/do08.f90
M flang/test/Semantics/OpenMP/do09.f90
M flang/test/Semantics/OpenMP/do10.f90
M flang/test/Semantics/OpenMP/do11.f90
M flang/test/Semantics/OpenMP/do12.f90
M flang/test/Semantics/OpenMP/do13.f90
M flang/test/Semantics/OpenMP/do14.f90
M flang/test/Semantics/OpenMP/do15.f90
M flang/test/Semantics/OpenMP/do16.f90
M flang/test/Semantics/OpenMP/do17.f90
M flang/test/Semantics/OpenMP/do18.f90
M flang/test/Semantics/OpenMP/do19.f90
M flang/test/Semantics/OpenMP/do20.f90
M flang/test/Semantics/OpenMP/firstprivate01.f90
M flang/test/Semantics/OpenMP/firstprivate02.f90
M flang/test/Semantics/OpenMP/flush01.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/if-clause.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/invalid-branch.f90
M flang/test/Semantics/OpenMP/lastprivate01.f90
M flang/test/Semantics/OpenMP/lastprivate02.f90
M flang/test/Semantics/OpenMP/lastprivate03.f90
M flang/test/Semantics/OpenMP/linear-iter.f90
M flang/test/Semantics/OpenMP/loop-association.f90
M flang/test/Semantics/OpenMP/loop-simd01.f90
M flang/test/Semantics/OpenMP/map-clause.f90
M flang/test/Semantics/OpenMP/modfile-threadprivate.f90
M flang/test/Semantics/OpenMP/nested-barrier.f90
M flang/test/Semantics/OpenMP/nested-cancel.f90
M flang/test/Semantics/OpenMP/nested-cancellation-point.f90
M flang/test/Semantics/OpenMP/nested-distribute.f90
M flang/test/Semantics/OpenMP/nested-master.f90
M flang/test/Semantics/OpenMP/nested-simd.f90
M flang/test/Semantics/OpenMP/nested-target.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/nested01.f90
M flang/test/Semantics/OpenMP/no-dowhile-in-parallel.f90
M flang/test/Semantics/OpenMP/nontemporal.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/omp-do-collapse1.f90
M flang/test/Semantics/OpenMP/order-clause01.f90
M flang/test/Semantics/OpenMP/ordered-simd.f90
M flang/test/Semantics/OpenMP/ordered01.f90
M flang/test/Semantics/OpenMP/ordered02.f90
M flang/test/Semantics/OpenMP/ordered03.f90
M flang/test/Semantics/OpenMP/parallel-critical-do.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-sections-do.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
M flang/test/Semantics/OpenMP/parallel01.f90
M flang/test/Semantics/OpenMP/parallel02.f90
M flang/test/Semantics/OpenMP/private-is-pointer-allocatable-check.f90
M flang/test/Semantics/OpenMP/private01.f90
M flang/test/Semantics/OpenMP/private02.f90
M flang/test/Semantics/OpenMP/reduction-subtract.f90
M flang/test/Semantics/OpenMP/reduction01.f90
M flang/test/Semantics/OpenMP/reduction02.f90
M flang/test/Semantics/OpenMP/reduction03.f90
M flang/test/Semantics/OpenMP/reduction04.f90
M flang/test/Semantics/OpenMP/reduction05.f90
M flang/test/Semantics/OpenMP/reduction06.f90
M flang/test/Semantics/OpenMP/reduction07.f90
M flang/test/Semantics/OpenMP/reduction08.f90
M flang/test/Semantics/OpenMP/reduction09.f90
M flang/test/Semantics/OpenMP/reduction10.f90
M flang/test/Semantics/OpenMP/reduction11.f90
M flang/test/Semantics/OpenMP/reduction12.f90
M flang/test/Semantics/OpenMP/requires-atomic01.f90
M flang/test/Semantics/OpenMP/requires-atomic02.f90
M flang/test/Semantics/OpenMP/requires01.f90
M flang/test/Semantics/OpenMP/requires02.f90
M flang/test/Semantics/OpenMP/requires03.f90
M flang/test/Semantics/OpenMP/requires04.f90
M flang/test/Semantics/OpenMP/requires05.f90
M flang/test/Semantics/OpenMP/requires06.f90
M flang/test/Semantics/OpenMP/requires07.f90
M flang/test/Semantics/OpenMP/requires08.f90
M flang/test/Semantics/OpenMP/requires09.f90
M flang/test/Semantics/OpenMP/resolve01.f90
M flang/test/Semantics/OpenMP/resolve02.f90
M flang/test/Semantics/OpenMP/resolve03.f90
M flang/test/Semantics/OpenMP/resolve04.f90
M flang/test/Semantics/OpenMP/resolve05.f90
M flang/test/Semantics/OpenMP/resolve06.f90
M flang/test/Semantics/OpenMP/sections01.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/OpenMP/sections03.f90
M flang/test/Semantics/OpenMP/simd-aligned.f90
M flang/test/Semantics/OpenMP/simd-nontemporal.f90
M flang/test/Semantics/OpenMP/simd01.f90
M flang/test/Semantics/OpenMP/simd02.f90
M flang/test/Semantics/OpenMP/simd03.f90
M flang/test/Semantics/OpenMP/single01.f90
M flang/test/Semantics/OpenMP/single02.f90
M flang/test/Semantics/OpenMP/struct.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/OpenMP/symbol02.f90
M flang/test/Semantics/OpenMP/symbol03.f90
M flang/test/Semantics/OpenMP/symbol04.f90
M flang/test/Semantics/OpenMP/symbol05.f90
M flang/test/Semantics/OpenMP/symbol06.f90
M flang/test/Semantics/OpenMP/symbol07.f90
M flang/test/Semantics/OpenMP/symbol08.f90
M flang/test/Semantics/OpenMP/symbol09.f90
M flang/test/Semantics/OpenMP/sync-critical01.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
M flang/test/Semantics/OpenMP/target-update01.f90
M flang/test/Semantics/OpenMP/target.f90
M flang/test/Semantics/OpenMP/target01.f90
M flang/test/Semantics/OpenMP/target02.f90
M flang/test/Semantics/OpenMP/task01.f90
M flang/test/Semantics/OpenMP/taskgroup01.f90
M flang/test/Semantics/OpenMP/taskloop-simd01.f90
M flang/test/Semantics/OpenMP/taskloop01.f90
M flang/test/Semantics/OpenMP/taskloop02.f90
R flang/test/Semantics/OpenMP/taskloop03.f90
M flang/test/Semantics/OpenMP/taskwait.f90
M flang/test/Semantics/OpenMP/threadprivate01.f90
M flang/test/Semantics/OpenMP/threadprivate02.f90
M flang/test/Semantics/OpenMP/threadprivate03.f90
M flang/test/Semantics/OpenMP/threadprivate04.f90
M flang/test/Semantics/OpenMP/threadprivate05.f90
M flang/test/Semantics/OpenMP/threadprivate06.f90
M flang/test/Semantics/OpenMP/threadprivate07.f90
M flang/test/Semantics/OpenMP/use_device_addr.f90
M flang/test/Semantics/OpenMP/use_device_addr1.f90
M flang/test/Semantics/OpenMP/use_device_ptr.f90
M flang/test/Semantics/OpenMP/use_device_ptr1.f90
M flang/test/Semantics/OpenMP/workshare01.f90
M flang/test/Semantics/OpenMP/workshare02.f90
M flang/test/Semantics/OpenMP/workshare03.f90
M flang/test/Semantics/OpenMP/workshare04.f90
M flang/test/Semantics/OpenMP/workshare05.f90
Log Message:
-----------
[Flang][OpenMP] Disable all OpenMP semantics tests on Windows (#92739)
Removes two XFAILed tests, the other tests are marked UNSUPPORTED only
on windows.
Commit: e75b58cfc666fc168d05580d2b7fd274830a4dd0
https://github.com/llvm/llvm-project/commit/e75b58cfc666fc168d05580d2b7fd274830a4dd0
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p12.cpp
Log Message:
-----------
[Clang][Sema] Do not add implicit 'const' when matching constexpr function template explicit specializations after C++14 (#92449)
Clang incorrectly accepts the following when using C++14 or later:
```
struct A {
template<typename T>
void f() const;
template<>
constexpr void f<int>();
};
```
Non-static member functions declared `constexpr` are only implicitly
`const` in C++11. This patch makes clang reject the explicit
specialization of `f` in language modes after C++11.
Commit: 6430939baaa6222518d58d9192160312fca09327
https://github.com/llvm/llvm-project/commit/6430939baaa6222518d58d9192160312fca09327
Author: Chris B <chris.bieneman at me.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/cmake/caches/HLSL.cmake
Log Message:
-----------
[HLSL][CMake] Cache files don't have generator vars (#92793)
Doh! CMake cache scripts don't have generator variables set yet, so the
script can't depend on the generator variables. Instead I've added a
variable that a user can specify to enable the distribution settings.
Commit: 1eb7f055d9ae5d14de8e4f75687dc2cf45511300
https://github.com/llvm/llvm-project/commit/1eb7f055d9ae5d14de8e4f75687dc2cf45511300
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
A llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
A llvm/test/CodeGen/ARM/exp10-libcall-names.ll
A llvm/test/CodeGen/X86/exp10-libcall-names.ll
Log Message:
-----------
CodeGen: Fix libcall names for exp10 on the various darwins (#92520)
It's really great that we have the same information duplicated in
TargetLibraryInfo and RuntimeLibcalls which both assume everything by
default.
Should fix issue reported after #92287
Commit: e1c06c380ce01a4524df8061171e63cad010e4e6
https://github.com/llvm/llvm-project/commit/e1c06c380ce01a4524df8061171e63cad010e4e6
Author: Leon Clark <PeddleSpam at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
Log Message:
-----------
[AMDGPU] Fix error in #88512. (#92770)
Fixes error in GlobalISel CTLZ lowering caused by
[#88512](https://github.com/llvm/llvm-project/pull/88512).
---------
Co-authored-by: Leon Clark <leoclark at amd.com>
Commit: fdd245ad856f85019bb408ed5c14984823e7077f
https://github.com/llvm/llvm-project/commit/fdd245ad856f85019bb408ed5c14984823e7077f
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
Log Message:
-----------
[MLIR][Vector] Implement transferXXPermutationLowering as MaskableOpRewritePattern (#91987)
* Implements `TransferWritePermutationLowering`,
`TransferReadPermutationLowering` and
`TransferWriteNonPermutationLowering` as a MaskableOpRewritePattern.
Allowing to exit gracefully when such use of a xferOp is inside a
`vector::MaskOp`
* Updates MaskableOpRewritePattern to handle MemRefs and buffer
semantics providing empty `Value()` as a return value for
`matchAndRewriteMaskableOp` now represents successful rewriting without
value to replace the original op.
Split of https://github.com/llvm/llvm-project/pull/90835
Commit: c1d5cc99c6ba8e897ea145dbb2221a155b5e3e5a
https://github.com/llvm/llvm-project/commit/c1d5cc99c6ba8e897ea145dbb2221a155b5e3e5a
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Try to formalize the definition of "odr" in LLVM IR. (#92619)
The current definition is a bit fuzzy... replace it with something
that's somewhat rigorous.
For functions, the definition is pretty narrow; as a consequence of
language-level non-determinism, it's impossible to tell whether two
functions are equivalent, so just embrace the non-determinism. For
constants, we're pretty strict; otherwise you end up concluding
constants can actually change value, which is bad for alias analysis. I
think C++ standard don't allow any non-deterministic operations in
constants, so we should be okay there? Poison is per-byte to allow some
ambiguity in the way padding is defined.
Commit: 0da1a6ceb595fa91e3af20bf7f304ba275526f3c
https://github.com/llvm/llvm-project/commit/0da1a6ceb595fa91e3af20bf7f304ba275526f3c
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
A mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.td
Log Message:
-----------
[mlir][polynomial] split polynomial types tablegen (#92805)
Similar to https://github.com/llvm/llvm-project/pull/92613, but for
types.
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 3cb1fe60fb00ba3761e34866ffc93c7d7a0b509d
https://github.com/llvm/llvm-project/commit/3cb1fe60fb00ba3761e34866ffc93c7d7a0b509d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
Log Message:
-----------
AMDGPU: Don't fold rootn(x, 1) to input for strictfp functions (#92595)
We need to insert a constrained canonicalize.
Depends #92594
Commit: 2a45f89aee8b05bb031c6e337df1524921de2e97
https://github.com/llvm/llvm-project/commit/2a45f89aee8b05bb031c6e337df1524921de2e97
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for `isKnowNonZero` of `X op (X != 0)`; NFC
Commit: 223284316081e1af369c2d560da88e6211669250
https://github.com/llvm/llvm-project/commit/223284316081e1af369c2d560da88e6211669250
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Recognize `X op (X != 0)` as non-zero
The ops supported are: `add`, `sub`, `xor`, `or`, `umax`, `uadd.sat`
Proofs: https://alive2.llvm.org/ce/z/8ZMSRg
The `add` case actually comes up in SPECInt, the rest are here mostly
for completeness.
Closes #88579
Commit: 250c39cd7aae8d4a6a76e2f04cfe5ce657f8260c
https://github.com/llvm/llvm-project/commit/250c39cd7aae8d4a6a76e2f04cfe5ce657f8260c
Author: Martin Storsjö <martin at martin.st>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M libcxx/src/chrono.cpp
Log Message:
-----------
[libcxx] Add cast to avoid pointer casting warning on Windows (#92738)
This avoids the following build time warning, when building with the
latest nightly Clang:
warning: cast from 'FARPROC' (aka 'int (*)() __attribute__((stdcall))')
to
'GetSystemTimeAsFileTimePtr' (aka 'void (*)(_FILETIME *)
__attribute__((stdcall))')
converts to incompatible function type [-Wcast-function-type-mismatch]
This warning seems to have appeared since Clang commit
999d4f840777bf8de26d45947192aa0728edc0fb, which restructured.
The GetProcAddress function returns a `FARPROC` type, which is `int
(WINAPI *)()`. Directly casting this to another function pointer type
triggers this warning, but casting to a `void*` inbetween avoids this
issue. (On Unix-like platforms, dlsym returns a `void*`, which doesn't
exhibit this casting problem.)
Commit: 1f07bfb92c2a62731a5ae3ec2d135e3869634c01
https://github.com/llvm/llvm-project/commit/1f07bfb92c2a62731a5ae3ec2d135e3869634c01
Author: Spenser Bauman <sbauman at mathworks.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Implement folding logic for size 0 tensor and memref ops (#90814)
Implement folding and rewrite logic to eliminate no-op tensor and memref
operations. This handles two specific cases:
1. tensor.insert_slice operations where the size of the inserted slice
is known to be 0.
2. memref.copy operations where either the source or target memrefs are
known to be emtpy.
Co-authored-by: Spenser Bauman <sabauma at fastmail>
Commit: 753f7e814514ddb2bb2fd837549d5958cf0ef343
https://github.com/llvm/llvm-project/commit/753f7e814514ddb2bb2fd837549d5958cf0ef343
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/lib/AST/ASTContext.cpp
A clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
Log Message:
-----------
[OpenCL] Fix an infinite loop in builidng AddrSpaceQualType (#92612)
In building AddrSpaceQualType
(https://github.com/llvm/llvm-project/pull/90048), there is a bug in
removeAddrSpaceQualType() for arrays. Arrays are weird because
qualifiers on the element type also count as qualifiers on the type, so
getSingleStepDesugaredType() can't remove the sugar on arrays. This
results in an infinite loop in removeAddrSpaceQualType. To fix the
issue, we use ASTContext::getUnqualifiedArrayType instead, which strips
the qualifier off the element type, then reconstruct the array type.
Commit: 51ba7a816ccdadf7f943fb30a1933ded72a4c178
https://github.com/llvm/llvm-project/commit/51ba7a816ccdadf7f943fb30a1933ded72a4c178
Author: Nick Desaulniers (paternity leave) <nickdesaulniers at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M libc/src/setjmp/x86_64/CMakeLists.txt
Log Message:
-----------
[libc][setjmp] disable -ftrivial-auto-var-init=pattern for now (#92796)
This would consistently fail for me locally, to the point where I could not run
ninja libc-unit-tests without ninja libc_setjmp_unittests failing.
Turns out that since I enabled -ftrivial-auto-var-init=pattern in
commit 1d5c16d ("[libc] default enable -ftrivial-auto-var-init=pattern (#78776)")
this has been a problem. Our x86_64 setjmp definition disabled -Wuninitialized,
so we wound up clobbering these registers and instead backing up
0xAAAAAAAAAAAAAAAA rather than the actual register value.
The implemenation should be rewritten entirely. I've proposed three different
ways to do so (linked below). Until we decide which way to go, at least disable
this hardening feature for this function for now so that the unit tests go back
to green.
Link: #87837
Link: #88054
Link: #88157
Fixes: #91164
Commit: dce197ac9219319e5ea76a110100e87e225684d8
https://github.com/llvm/llvm-project/commit/dce197ac9219319e5ea76a110100e87e225684d8
Author: Nick Desaulniers (paternity leave) <nickdesaulniers at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/error-number-macros.h
R libc/include/llvm-libc-macros/linux/mips/CMakeLists.txt
R libc/include/llvm-libc-macros/linux/mips/error-number-macros.h
R libc/include/llvm-libc-macros/linux/sparc/CMakeLists.txt
R libc/include/llvm-libc-macros/linux/sparc/error-number-macros.h
Log Message:
-----------
[libc][errno] remove mips+sparc specific errnos (#92798)
These are untested and unsupported platforms. The pattern used makes sense for
platform specific error numbers, but these are platforms we do not support.
Excise this code.
Link: #91150
Commit: 7ecdf620330d8e044a48b6f59f8eddd2f88f01d4
https://github.com/llvm/llvm-project/commit/7ecdf620330d8e044a48b6f59f8eddd2f88f01d4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/include/llvm/MCA/IncrementalSourceMgr.h
M llvm/include/llvm/MCA/InstrBuilder.h
Log Message:
-----------
[MCA] use std::function instead of function_ref when storing (#91039)
This patch changes uses of llvm::function_ref for std::function when
storing the callback inside of a class. The LLVM Programmer's manual
mentions that llvm::function_ref is not safe to store as it contains
pointers to external memory that are not guaranteed to exist in the
future when it is stored.
This causes issues when setting callbacks inside of a class that manages
MCA state. Passing a lambda directly to the set callback functions will
end up causing UB/segfaults when the lambda is called as some external
memory is now invalid. This is easy to work around (create a separate
std::function, pass that into the function setting the callback), but
isn't ideal.
Commit: 33b7833891dcacf9e81e911ed59932fd55113fff
https://github.com/llvm/llvm-project/commit/33b7833891dcacf9e81e911ed59932fd55113fff
Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/test/Dialect/Linalg/transform-op-specialize.mlir
A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_binary.mlir
A mlir/test/Dialect/Linalg/transform-op-specialize_elemwise_unary.mlir
Log Message:
-----------
[MLIR][Linalg] Add more specialize patterns (#91153)
Currently only linalg.copy is recognized when trying to specialize
linalg.generics back to named op. This diff enables recognition of more
generic to named op e.g. linalg.fill, elemwise unary/binary.
Commit: 110f6a740b4f63f8eabefc24ad90e98357782949
https://github.com/llvm/llvm-project/commit/110f6a740b4f63f8eabefc24ad90e98357782949
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Add getVPZeroExtendInReg. NFC (#92792)
Use it for 2 places in LegalizeIntegerTypes that created a VP_AND.
Commit: 8018e4c569d34b5913a4cc78f08f25f778dec866
https://github.com/llvm/llvm-project/commit/8018e4c569d34b5913a4cc78f08f25f778dec866
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Log Message:
-----------
[LegalizeTypes] Use SelectionDAG::SplitVector to simplify some code. NFC (#92816)
Commit: e8dc8d614ada201e250fbf075241b2b6180943b5
https://github.com/llvm/llvm-project/commit/e8dc8d614ada201e250fbf075241b2b6180943b5
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M lldb/include/lldb/API/SBCommandInterpreter.h
M lldb/include/lldb/Interpreter/CommandInterpreter.h
M lldb/source/API/SBCommandInterpreter.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/InterpreterProperties.td
M lldb/test/API/commands/session/save/TestSessionSave.py
M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
M lldb/test/API/python_api/interpreter/main.c
Log Message:
-----------
Add new Python API `SBCommandInterpreter::GetTranscript()` (#90703)
# Motivation
Currently, the user can already get the "transcript" (for "what is the
transcript", see `CommandInterpreter::SaveTranscript`). However, the
only way to obtain the transcript data as a user is to first destroy the
debugger, then read the save directory. Note that destroy-callbacks
cannot be used, because 1\ transcript data is private to the command
interpreter (see `CommandInterpreter.h`), and 2\ the writing of the
transcript is *after* the invocation of destory-callbacks (see
`Debugger::Destroy`).
So basically, there is no way to obtain the transcript:
* during the lifetime of a debugger (including the destroy-callbacks,
which often performs logging tasks, where the transcript can be useful)
* without relying on external storage
In theory, there are other ways for user to obtain transcript data
during a debugger's life cycle:
* Use Python API and intercept commands and results.
* Use CLI and record console input/output.
However, such ways rely on the client's setup and are not supported
natively by LLDB.
# Proposal
Add a new Python API `SBCommandInterpreter::GetTranscript()`.
Goals:
* It can be called at any time during the debugger's life cycle,
including in destroy-callbacks.
* It returns data in-memory.
Structured data:
* To make data processing easier, the return type is `SBStructuredData`.
See comments in code for how the data is organized.
* In the future, `SaveTranscript` can be updated to write different
formats using such data (e.g. JSON). This is probably accompanied by a
new setting (e.g. `interpreter.save-session-format`).
# Alternatives
The return type can also be `std::vector<std::pair<std::string,
SBCommandReturnObject>>`. This will make implementation easier, without
having to translate it to `SBStructuredData`. On the other hand,
`SBStructuredData` can convert to JSON easily, so it's more convenient
for user to process.
# Privacy
Both user commands and output/error in the transcript can contain
privacy data. However, as mentioned, the transcript is already available
to the user. The addition of the new API doesn't increase the level of
risk. In fact, it _lowers_ the risk of privacy data being leaked later
on, by avoiding writing such data to external storage.
Once the user (or their code) gets the transcript, it will be their
responsibility to make sure that any required privacy policies are
guaranteed.
# Tests
```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
```
```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/commands/session/save/TestSessionSave.py
```
---------
Co-authored-by: Roy Shi <royshi at meta.com>
Co-authored-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 9f62775038b9135709a2c3c7ea97c944278967a2
https://github.com/llvm/llvm-project/commit/9f62775038b9135709a2c3c7ea97c944278967a2
Author: royitaqi <royitaqi at users.noreply.github.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/lldb-types.h
M lldb/source/API/SBDebugger.cpp
M lldb/source/Core/Debugger.cpp
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
Log Message:
-----------
SBDebugger: Add new APIs `AddDestroyCallback` and `RemoveDestroyCallback` (#89868)
# Motivation
Individual callers of `SBDebugger::SetDestroyCallback()` might think
that they have registered their callback and expect it to be called when
the debugger is destroyed. In reality, only the last caller survives,
and all previous callers are forgotten, which might be a surprise to
them. Worse, if this is called in a race condition, which callback
survives is less predictable, which may case confusing behavior
elsewhere.
# This PR
Allows multiple destroy callbacks to be registered and all called when
the debugger is destroyed.
**EDIT**: Adds two new APIs: `AddDestroyCallback()` and
`ClearDestroyCallback()`. `SetDestroyCallback()` will first clear then
add the given callback. Tests are added for the new APIs.
## Tests
```
bin/llvm-lit -sv ../external/llvm-project/lldb/test/API/python_api/debugger/TestDebuggerAPI.py
```
## (out-dated, see comments below) Semantic change to
`SetDestroyCallback()`
~~Currently, the method overwrites the old callback with the new one.
With this PR, it will NOT overwrite. Instead, it will hold on to both.
Both callbacks get called during destroy.~~
~~**Risk**: Although the documentation of `SetDestroyCallback()` (see
[C++](https://lldb.llvm.org/cpp_reference/classlldb_1_1SBDebugger.html#afa1649d9453a376b5c95888b5a0cb4ec)
and
[python](https://lldb.llvm.org/python_api/lldb.SBDebugger.html#lldb.SBDebugger.SetDestroyCallback))
doesn't really specify the behavior, there is a risk: if existing call
sites rely on the "overwrite" behavior, they will be surprised because
now the old callback will get called. But as the above said, the current
behavior of "overwrite" itself might be unintended, so I don't
anticipate users to rely on this behavior. In short, this risk might be
less of a problem if we correct it sooner rather than later (which is
what this PR is trying to do).~~
## (out-dated, see comments below) Implementation
~~The implementation holds a `std::vector<std::pair<callback, baton>>`.
When `SetDestroyCallback()` is called, callbacks and batons are appended
to the `std::vector`. When destroy event happen, the `(callback, baton)`
pairs are invoked FIFO. Finally, the `std::vector` is cleared.~~
# (out-dated, see comments below) Alternatives considered
~~Instead of changing `SetDestroyCallback()`, a new method
`AddDestroyCallback()` can be added, which use the same
`std::vector<std::pair<>>` implementation. Together with
`ClearDestroyCallback()` (see below), they will replace and deprecate
`SetDestroyCallback()`. Meanwhile, in order to be backward compatible,
`SetDestroyCallback()` need to be updated to clear the `std::vector` and
then add the new callback. Pros: The end state is semantically more
correct. Cons: More steps to take; potentially maintaining an
"incorrect" behavior (of "overwrite").~~
~~A new method `ClearDestroyCallback()` can be added. Might be
unnecessary at this point, because workflows which need to set then
clear callbacks may exist but shouldn't be too common at least for now.
Such method can be added later when needed.~~
~~The `std::vector` may bring slight performance drawback if its
implementation doesn't handle small size efficiently. However, even if
that's the case, this path should be very cold (only used during init
and destroy). Such performance drawback should be negligible.~~
~~A different implementation was also considered. Instead of using
`std::vector`, the current `m_destroy_callback` field can be kept
unchanged. When `SetDestroyCallback()` is called, a lambda function can
be stored into `m_destroy_callback`. This lambda function will first
call the old callback, then the new one. This way, `std::vector` is
avoided. However, this implementation is more complex, thus less
readable, with not much perf to gain.~~
---------
Co-authored-by: Roy Shi <royshi at meta.com>
Commit: 00d7e67f8352308288db483f03294460a38a3773
https://github.com/llvm/llvm-project/commit/00d7e67f8352308288db483f03294460a38a3773
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M libc/src/time/gpu/time_utils.cpp
M libc/src/time/gpu/time_utils.h
Log Message:
-----------
[libc] Fix constant address space on global clock
Summary:
I did this wrong in the first version, because `extern "C"` doesn't
imply it's extern when used directly.
Commit: 93540455669ab9ad55bd7e24a42a305194a109af
https://github.com/llvm/llvm-project/commit/93540455669ab9ad55bd7e24a42a305194a109af
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M flang/runtime/edit-output.cpp
Log Message:
-----------
[NFC][flang][runtime] Avoid recursion in EditCharacterOutput and EditLogicalOutput. (#92806)
Commit: bccac125e196bd5afeeb2fef93cf501f4b9f7f83
https://github.com/llvm/llvm-project/commit/bccac125e196bd5afeeb2fef93cf501f4b9f7f83
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M flang/runtime/CMakeLists.txt
Log Message:
-----------
[flang][runtime] Added io-api-minimal.cpp to the offload build. (#92807)
Commit: 888e087b09dbd658a03f27c475ada50d37323987
https://github.com/llvm/llvm-project/commit/888e087b09dbd658a03f27c475ada50d37323987
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.h
Log Message:
-----------
[RISCV] Remove unused function declaration. NFC
Commit: bb627b0a0c05e0bb04ae7f984b8e7fcd84906061
https://github.com/llvm/llvm-project/commit/bb627b0a0c05e0bb04ae7f984b8e7fcd84906061
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/runtime/X86/hot-end-symbol.s
Log Message:
-----------
[BOLT] Ignore special symbols as function aliases in updateELFSymbolTable
Exempt special symbols (hot text/data and _end symbol) from normal
handling. We only need to set their value and make them absolute.
If these symbols are handled as normal symbols and if they alias
functions we may create non-sensical symbols, e.g. __hot_start.cold.
Test Plan: updated hot-end-symbol.s
Reviewers: maksfb, rafaelauler, ayermolo, dcci
Reviewed By: dcci, maksfb
Pull Request: https://github.com/llvm/llvm-project/pull/92713
Commit: 7064e4b1633811da984261fdc585ba4438efe827
https://github.com/llvm/llvm-project/commit/7064e4b1633811da984261fdc585ba4438efe827
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split and rename WriteVISlideX into WriteVSlideUpX and WriteVSlideDownX (#92605)
Some processors might have different latencies and/or rthroughput for
slide up and down operations on integer vectors, yet there is only a
single SchedWrite for both of them at this moment. This patch splits
this SchedWrite into two as well as drop the "I" before "Slide" since
such information is redundant. We also do the same renaming on
`WriteVISlideI`.
Note that we only split the X variant (i.e. using a register value for
index offset) for now.
This is effectively NFC.
Commit: 3fa6b3bbdb0f9de18def8596d1f7fcec2ef77b5e
https://github.com/llvm/llvm-project/commit/3fa6b3bbdb0f9de18def8596d1f7fcec2ef77b5e
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/lib/ProfileData/SampleProfReader.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[llvm-profdata] Fix some style and clang-tidy issues
Fix #92761
Fix #92762
Commit: 45968da95d8959a7c4ca7d56f501bb12de413fcc
https://github.com/llvm/llvm-project/commit/45968da95d8959a7c4ca7d56f501bb12de413fcc
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
Log Message:
-----------
[AMDGPU] Fix an issue that wrong index is used in calculation of byte provider when the op is extract_vector_elt (#91697)
Fixes: SWDEV-460097
Commit: d1aca0ae2e0c52298966e35e4312e21045d4c6e4
https://github.com/llvm/llvm-project/commit/d1aca0ae2e0c52298966e35e4312e21045d4c6e4
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/CodeGenCXX/wasm-eh.cpp
Log Message:
-----------
[WebAssembly] Define __WASM_EXCEPTIONS__ for -fwasm-exceptions (#92604)
When using other specific exception options in Clang, such as
`-fseh-exceptions` or `-fsjlj-exceptions`, Clang defines a corresponding
preprocessor such as `-D__USING_SJLJ_EXCEPTIONS__`. Emscripten does that
in our own build system:
https://github.com/emscripten-core/emscripten/blob/7dcd7f40749918e141dc33397d2f4311dd80637a/tools/system_libs.py#L1577-L1578
But to make Wasm EH usable in non-Emscripten toolchain, this has to be
defined somewhere else. This PR makes Wasm EH consistent with other
exception scheme by letting it defined by Clang depending on the
exception option.
We have been using `__USING_WASM_EXCEPTIONS__` in our current library
code, but this changes it to `__WASM_EXCEPTIONS__` for its conciseness,
and I will update other parts of LLVM as follow-ups. This does not break
anything currently working, because we have not been defining anything
in Clang so far.
Commit: 8ce2045be0ce708af0bfce5dc14632fa15dc743a
https://github.com/llvm/llvm-project/commit/8ce2045be0ce708af0bfce5dc14632fa15dc743a
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
M clang/lib/AST/ExprCXX.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/PCH/pack_indexing.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Clang][Sema] Avoid pack expansion for expanded empty PackIndexingExprs (#92385)
We previously doubled the id-expression expansion, even when the pack
was expanded to empty. The previous condition for determining whether we
should expand couldn't distinguish between cases where 'the expansion
was previously postponed' and 'the expansion occurred but resulted in
emptiness.'
In the latter scenario, we crash because we have not been examining the
current lambda's parent local instantiation scope since
[D98068](https://reviews.llvm.org/D98068): Any Decls instantiated in the
parent scope are not visible to the generic lambda, and thus any attempt
of looking for instantiated Decls in the lambda is capped to the current
Lambda's LIS.
Fixes https://github.com/llvm/llvm-project/issues/92230
Commit: 4cebe5a43ba83eab477358ef4da665b43463bb68
https://github.com/llvm/llvm-project/commit/4cebe5a43ba83eab477358ef4da665b43463bb68
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/test/SemaTemplate/cwg2398.cpp
Log Message:
-----------
[clang] NFC: add test for cwg2398 ambiguity issue
Commit: 85e1124049cd8aa1e58c101e082100ba74df7e42
https://github.com/llvm/llvm-project/commit/85e1124049cd8aa1e58c101e082100ba74df7e42
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/Decomposer.cpp
M flang/lib/Lower/OpenMP/Decomposer.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.f90
M flang/test/Lower/OpenMP/lastprivate-iv.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-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.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-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
Log Message:
-----------
Revert "[flang][OpenMP] Try to unify induction var privatization for OMP regions. (#91116)"
This reverts commit 2a97b507dc643b7ee3bc651b3f21b754cfba433c.
It has broken LLVM testsuite on various bots
https://lab.llvm.org/buildbot/#/builders/184/builds/12760
https://lab.llvm.org/buildbot/#/builders/197/builds/14376
https://lab.llvm.org/buildbot/#/builders/179/builds/10176
Commit: 1486653dcfd706db5b634676af4734a915179da1
https://github.com/llvm/llvm-project/commit/1486653dcfd706db5b634676af4734a915179da1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT] Use StringRef::contains (NFC) (#92842)
Commit: b2d7d72ff2408dcc27048e08d50ac719ff03a89e
https://github.com/llvm/llvm-project/commit/b2d7d72ff2408dcc27048e08d50ac719ff03a89e
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/test/CodeGen/aarch64-varargs.c
Log Message:
-----------
[AArch64] Use ptrmask for vaarg stack alignment (#92836)
Commit: 560c2fd3d427a5e2dc2361abde1142f3fda40253
https://github.com/llvm/llvm-project/commit/560c2fd3d427a5e2dc2361abde1142f3fda40253
Author: James Y Knight <jyknight at google.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/test/CodeGen/NVPTX/param-overalign.ll
M llvm/test/CodeGen/NVPTX/st-param-imm.ll
Log Message:
-----------
NVPTX: fix test failures under ptxas-12.0.
(Because ptxas-12 no longer supports 32-bit.)
Fixes c5b11a710e01304908e3f320e40bc9da9f6a8de4 and 8da3a8f550d0b266411b2dc177dff8591ee86cb2.
Commit: 1c58208d899285318c89e069268145c85ec33368
https://github.com/llvm/llvm-project/commit/1c58208d899285318c89e069268145c85ec33368
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenSource.h
M clang/lib/Format/MacroExpander.cpp
M clang/lib/Format/Macros.h
M clang/lib/Format/SortJavaScriptImports.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/unittests/Format/CleanupTest.cpp
M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
M clang/unittests/Format/FormatTestBase.h
M clang/unittests/Format/FormatTestCSharp.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJson.cpp
M clang/unittests/Format/FormatTestProto.cpp
M clang/unittests/Format/FormatTestRawStrings.cpp
M clang/unittests/Format/FormatTestSelective.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/FormatTestUtils.h
M clang/unittests/Format/FormatTestVerilog.cpp
M clang/unittests/Format/FormatTokenSourceTest.cpp
M clang/unittests/Format/MacroCallReconstructorTest.cpp
M clang/unittests/Format/MacroExpanderTest.cpp
M clang/unittests/Format/MatchFilePathTest.cpp
M clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
M clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Format/SortImportsTestJS.cpp
M clang/unittests/Format/SortImportsTestJava.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Format/TestLexer.h
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Format/UsingDeclarationsSorterTest.cpp
Log Message:
-----------
[clang-format][NFC] Remove redundnat llvm::, clang::, etc.
Commit: 64aafd6908e3aa36c4504bc10f8d9fc819513f6c
https://github.com/llvm/llvm-project/commit/64aafd6908e3aa36c4504bc10f8d9fc819513f6c
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenTypes.cpp
Log Message:
-----------
[RISCV] Remove unneeded multiply in RISCV CodeGenTypes (#92644)
The NumVectors other than 1 is handled by the code above.
Commit: 8be079cdddfd628d356d9ddb5ab397ea95fb1030
https://github.com/llvm/llvm-project/commit/8be079cdddfd628d356d9ddb5ab397ea95fb1030
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/rv32zaamo-invalid.s
M llvm/test/MC/RISCV/rv32zaamo-valid.s
M llvm/test/MC/RISCV/rv32zalrsc-invalid.s
M llvm/test/MC/RISCV/rv32zalrsc-valid.s
M llvm/test/MC/RISCV/rv64zaamo-invalid.s
M llvm/test/MC/RISCV/rv64zaamo-valid.s
M llvm/test/MC/RISCV/rv64zalrsc-invalid.s
M llvm/test/MC/RISCV/rv64zalrsc-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Bump Zaamo and Zalrsc to version 1.0 (#91556)
The ratified information can be found here:
https://wiki.riscv.org/display/HOME/Ratified+Extensions
Commit: b4492c910cc6a3593b429b0ca16a1c7970e8b879
https://github.com/llvm/llvm-project/commit/b4492c910cc6a3593b429b0ca16a1c7970e8b879
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Use an enum for demanded LMUL in RISCVInsertVSETVLI. NFC (#92513)
In needVSETVLI used by the forward insertion pass, we have some rules
where we can relax the demanded fields for slides and splats when VL=1.
However this only works if we don't increase LMUL to anything > M1
otherwise we would end up clobbering random registers.
Rather than check the VSETVLIInfo we're transitioning to, store this
information in DemandedFields and have isCompatible check it.
That way an upcoming patch can share these VL=1 rules with
RISCVCoalesceVSETVLI, which uses isCompatible and not needVSETVLI.
Commit: c9dc52d424b7a264d4bcb29d7f56551304396d7f
https://github.com/llvm/llvm-project/commit/c9dc52d424b7a264d4bcb29d7f56551304396d7f
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/test/InstallAPI/alias_list.test
M clang/test/InstallAPI/exclusive-passes-2.test
A clang/test/InstallAPI/exclusive-passes-3.test
M clang/test/InstallAPI/exclusive-passes.test
M clang/test/InstallAPI/invalid-exclusive-passes.test
M clang/tools/clang-installapi/InstallAPIOpts.td
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-installapi/Options.h
Log Message:
-----------
[InstallAPI] add JSON option to pass X<label> arguments (#91770)
Commit: 6658e1a3fdfebfc9d1805029ca0e4de643634927
https://github.com/llvm/llvm-project/commit/6658e1a3fdfebfc9d1805029ca0e4de643634927
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/Todo/masked-directive.f90
A flang/test/Parser/OpenMP/masked-unparse.f90
A flang/test/Semantics/OpenMP/masked.f90
Log Message:
-----------
Adding parsing and semantic check support for omp masked (#91432)
omp masked directive in OpenMP 5.2 allows to specify code regions which
are expected to be executed by thread ids specified by the programmer.
Filter clause of the directive allows to specify the thread id. This
change adds the parsing support for the directive
Commit: ac7c482ca581cdab11558b5a37ae5095a1638fd2
https://github.com/llvm/llvm-project/commit/ac7c482ca581cdab11558b5a37ae5095a1638fd2
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Log Message:
-----------
[MemCpyOpt] Add extra debug output (NFC)
Commit: 312c132467717461f3b00eccddbd615aa6aa483b
https://github.com/llvm/llvm-project/commit/312c132467717461f3b00eccddbd615aa6aa483b
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Adjust BUILD file for 33b7833891dcacf9e81e911ed59932fd55113fff
Commit: e411c88b7223d87520af819fdc012c9dbb46e575
https://github.com/llvm/llvm-project/commit/e411c88b7223d87520af819fdc012c9dbb46e575
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M llvm/lib/Support/LockFileManager.cpp
M llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
Log Message:
-----------
Use StringRef::find_first_of(char), etc (NFC) (#92841)
Commit: 66b76faffb211b3cb2d58e3ab9401e6396447de9
https://github.com/llvm/llvm-project/commit/66b76faffb211b3cb2d58e3ab9401e6396447de9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
Log Message:
-----------
AMDGPU: Directly emit sqrt intrinsic when folding rootn(x, 2) (#92598)
This avoids depending on pre/post link runs.
Depends #92595
Commit: e3ffc4b6d4df3970dd10e65dcafd6f2d31deefd8
https://github.com/llvm/llvm-project/commit/e3ffc4b6d4df3970dd10e65dcafd6f2d31deefd8
Author: Luke Lau <luke at igalia.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
M llvm/test/CodeGen/RISCV/rvv/splat-vector-split-i64-vl-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
Log Message:
-----------
[RISCV] Unify getDemanded between forward and backwards passes in RISCVInsertVSETVLI (#92860)
We have two rules in needVSETVLI where we can relax the demanded fields
for slides and splats when VL=1.
However these aren't present in getDemanded which prevents us from
coalescing some vsetvlis around slides and splats in the backwards pass.
The reasoning as to why they weren't in getDemanded is that these
require us to check the value of the AVL operand, which may be stale in
the backwards pass: the actual VL or VTYPE value may differ from what
was precisely requested in the pseudo's operands.
Using the original operands should actually be fine though, as we only
care about what was originally demanded by the instruction. The current
value of VL or VTYPE shouldn't influence this.
This addresses some of the regressions we are seeing in #70549 from
splats and slides getting reordered.
Commit: 50dbbe5a0afd76f3c26c03da5af65e7263ac8664
https://github.com/llvm/llvm-project/commit/50dbbe5a0afd76f3c26c03da5af65e7263ac8664
Author: henke9600 <168358614+henke9600 at users.noreply.github.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
Log Message:
-----------
[SROA] Use stable sort for slices to avoid non-determinism (#91609)
Found this while trying to build a LLVM toolchain reproducibly from both
Debian 12 and FreeBSD 14. With these changes they come out bit-by-bit
identical.
Previously there was a mix of stable and unstable sorts for slices, now
only stable sorts are used.
Commit: 6246b495adcbdff7d2ec4f37dfb656542adf909d
https://github.com/llvm/llvm-project/commit/6246b495adcbdff7d2ec4f37dfb656542adf909d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
Log Message:
-----------
[RISCV] Select ISD::AVGCEILS/AVGFLOORS as vaadd. (#92839)
I think the behaviors are the same if this describes their behavior.
AVGFLOORS sign extends the inputs by 1 bit, adds them, then does an
arithmetic shift right by 1 before truncating to the original bit width.
This is vaadd with rdn rounding mode.
AVGCEILS sign extends the inputs by 1 bit, adds them, then does an
arithmetic shift right by 1. If the bit shifted out is 1, it adds 1 to
the shifted value. Then truncates to the original bit width. This is vaadd
with rnu rounding mode.
I think this wasn't implemented previously because there was some
confusion about what average means. Some may expect average to round
towards zero, but there is no way to do that in RISC-V or with the
SelectionDAG nodes. Related issue
https://github.com/riscv/riscv-v-spec/issues/935
Commit: 2631531764f0e732a0e96ab066de27d08b604655
https://github.com/llvm/llvm-project/commit/2631531764f0e732a0e96ab066de27d08b604655
Author: zhongyunde 00443407 <zhongyunde at huawei.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/fma.ll
Log Message:
-----------
[InstCombine] Removing the combine of fmuladd with fast flag
We should treat fmuladd like an fma intrinsic, and any regressions need to be
addressed by dealing with fma/fmuladd in other contexts.
Commit: f2e787e7030126f5f55bb4e90cc83827f25e1219
https://github.com/llvm/llvm-project/commit/f2e787e7030126f5f55bb4e90cc83827f25e1219
Author: zhongyunde 00443407 <zhongyunde at huawei.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/fma.ll
Log Message:
-----------
[InstCombine] Add some tests with reduced flag sets, NFC
We remove the combine for fmuladd with fast flag on PR90434,
and add these tests with reduced flags to show they have identity
results.
Commit: 9c7848171779dffb2e23cc7db6b518612e804a74
https://github.com/llvm/llvm-project/commit/9c7848171779dffb2e23cc7db6b518612e804a74
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Support multiple indices in reorderGEP (#92339)
The code was essentially already ready to handle multiple indices -- we
only need to adjust the non-negative index check to check all indices,
instead of only the first one.
Commit: 675e7bd1b94f78f0567b4327f187841c0cde36f9
https://github.com/llvm/llvm-project/commit/675e7bd1b94f78f0567b4327f187841c0cde36f9
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/pr69586.ll
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rvv/abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/access-fixed-objects-by-rvv.ll
M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-explodevector.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-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.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-masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-mask-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vscale-range.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/fptosi-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/llrint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/sshl_sat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vcpop.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
M llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfirst.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmsbf.ll
M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsif.ll
M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
M llvm/test/CodeGen/RISCV/rvv/vmsof.ll
M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-int.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-reverse-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-mask-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vsext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vzext-vp.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
Log Message:
-----------
[RISCV] Support postRA vsetvl insertion pass (#70549)
This patch try to get rid of vsetvl implict vl/vtype def-use chain and
improve the register allocation quality by moving the vsetvl insertion
pass after RVV register allocation
It will gain the benefit for the following optimization from
1. unblock scheduler's constraints by removing vl/vtype def-use chain
2. Support RVV re-materialization
3. Support partial spill
This patch add a new option `-riscv-vsetvl-after-rvv-regalloc=<1|0>` to
control this feature and default set as disable.
Commit: 56a1f0a022f6d7f6908af0df9e2e0567d5e4712e
https://github.com/llvm/llvm-project/commit/56a1f0a022f6d7f6908af0df9e2e0567d5e4712e
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-05-20 (Mon, 20 May 2024)
Changed paths:
M llvm/docs/MemorySSA.rst
Log Message:
-----------
Documentation: Fix C++ examples in MemorySSA documentation (#92802)
Commit: c4d6867b786a0c850de824fe5452acf6c3c676ca
https://github.com/llvm/llvm-project/commit/c4d6867b786a0c850de824fe5452acf6c3c676ca
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
Log Message:
-----------
InstSimplify: strip bad TODO (NFC) (#92754)
foldIdentityShuffles requires two sets of canceling shuffles. If there
are any intervening instructions, they are feeding in the result of the
first set of shuffles. To eliminate the two sets of shuffles, you'd have
to rewrite the head of the intervening instructions to feed in the
operand of the first set of shuffles. Since modifying the IR in any way
is disallowed by an analysis, strip this bad TODO.
Commit: 63d81311a2569226781dc00481feb91ea1423571
https://github.com/llvm/llvm-project/commit/63d81311a2569226781dc00481feb91ea1423571
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/shufflevector.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
VectorCombine: add tests written for InstSimplify (#92776)
2141907 (InstSimplify: increase shufflevector test coverage) was
recently merged as a pre-commit test for some work that was misguided.
It turns out that InstSimplify can never work on those tests, but the
tests are useful nevertheless; move them to VectorCombine to support the
development of VectorCombine::foldShuffleToIdentity.
Commit: bfb5fe218ec7aa282375905189bf0aab79609c04
https://github.com/llvm/llvm-project/commit/bfb5fe218ec7aa282375905189bf0aab79609c04
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
Log Message:
-----------
[mlir][ArmSME] Fold transpose into xfer read to enable in-flight transpose (#92562)
vector.transpose ops whose inputs come from vector.transfer_read can be
eliminated by folding the transpose into the xfer op to enable in-flight
transposition when converting xfer read to arm_sme.tile_load.
Commit: e3fa7ee11d88dfaa82bf0c3fc3b69eac6c40a16a
https://github.com/llvm/llvm-project/commit/e3fa7ee11d88dfaa82bf0c3fc3b69eac6c40a16a
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
VectorCombine: refactor foldShuffleToIdentity (NFC) (#92766)
Lift out the long lambdas into static functions, use C++ destructing
syntax, and fix other minor things to improve the readability of the
function.
Commit: 566431ce087d34eaec390cff13251e743688928f
https://github.com/llvm/llvm-project/commit/566431ce087d34eaec390cff13251e743688928f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[NFC] Improve the comment about `std::min_element` being `constepxr` in libstdc++
Commit: d094bb660d48fd1beadc0e2456f104ab2cc7f52c
https://github.com/llvm/llvm-project/commit/d094bb660d48fd1beadc0e2456f104ab2cc7f52c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
Log Message:
-----------
[InstSimplify] Avoid use of ConstantExpr::getICmp() (NFC)
Use ConstantFoldCompareInstOperands() instead.
Commit: 1e86e924288221826e0fb93d33be80d65f198ae6
https://github.com/llvm/llvm-project/commit/1e86e924288221826e0fb93d33be80d65f198ae6
Author: hev <wangrui at loongson.cn>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
A llvm/test/Transforms/LoopVectorize/LoongArch/loongarch-interleaved.ll
Log Message:
-----------
[LoongArch] Enable interleaved vectorization (#92629)
This PR enables interleaved vectorization for LoongArch, with a default
interleaving factor of `2`.
Commit: 7efafb0109b899d501a6508a0329e0c181964c47
https://github.com/llvm/llvm-project/commit/7efafb0109b899d501a6508a0329e0c181964c47
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/InstSimplifyFolder.h
M llvm/include/llvm/Analysis/TargetFolder.h
M llvm/include/llvm/IR/ConstantFolder.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IRBuilderFolder.h
M llvm/include/llvm/IR/NoFolder.h
M llvm/lib/IR/IRBuilder.cpp
Log Message:
-----------
[IRBuilder] Migrate fcmp to folding API
This was one of the last leftovers still using a Create-style
instead of Fold-style API. Convert FoldICmp into FoldCmp so it
can handle both icmp and fcmp.
Commit: fea29ee41d50c5603338f5af4728ddbdf93aaec2
https://github.com/llvm/llvm-project/commit/fea29ee41d50c5603338f5af4728ddbdf93aaec2
Author: Zibi <62662650+zibi2 at users.noreply.github.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
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
Log Message:
-----------
[libc++][z/OS] Switch to use TEST_HAS_NO_INT128 as per comment in PR 92261 (#92434)
Follow up to llvm#92261.
Commit: 8b8ad75cc94aad88c505bdca71c903774f9e75c7
https://github.com/llvm/llvm-project/commit/8b8ad75cc94aad88c505bdca71c903774f9e75c7
Author: Christopher Di Bella <cjdb at google.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M libcxx/include/__type_traits/has_unique_object_representation.h
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.pass.cpp
Log Message:
-----------
[libcxx] removes unnecessary traits from `has_unique_object_representations` (#69241)
`remove_cv_t` and `remove_all_extents_t` are taken care of by the
built-in trait, so we don't need to use them directly.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 74f1e29133bc0f984d159493552b843f771087d0
https://github.com/llvm/llvm-project/commit/74f1e29133bc0f984d159493552b843f771087d0
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/test/Assembler/ConstantExprFold.ll
M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
Log Message:
-----------
[Tests] Regenerate test checks (NFC)
To minimize future diffs.
Commit: d89f20058b45e3836527e816af7ed7372e1d554d
https://github.com/llvm/llvm-project/commit/d89f20058b45e3836527e816af7ed7372e1d554d
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in formatting goto labels in macros (#92494)
Fixes #92300.
Commit: af8f1554b8e7844304ce61b49b06e5b7946e9c47
https://github.com/llvm/llvm-project/commit/af8f1554b8e7844304ce61b49b06e5b7946e9c47
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb-dap] Don't send expanded descriptions for "hover" expressions (#92726)
VSCode will automatically ask for the children (in structured form) so
there's no point in sending the textual representation. This can make
displaying hover popups for complex variables with complicated data
formatters much faster. See discussion on #77026 for context.
Commit: b7941dc860e7b827baa4902aa32dab86fb9d6a31
https://github.com/llvm/llvm-project/commit/b7941dc860e7b827baa4902aa32dab86fb9d6a31
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/test/OpenMP/threadprivate_codegen.cpp
Log Message:
-----------
[OpenMP] Regenerate test checks (NFC)
Commit: ee76f1e1b7ee4585b8d5ead27c317abbc2cdf4b7
https://github.com/llvm/llvm-project/commit/ee76f1e1b7ee4585b8d5ead27c317abbc2cdf4b7
Author: Kristof Beyls <kristof.beyls at llvm.org>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/docs/DeveloperPolicy.rst
Log Message:
-----------
[DevPolicy] Drop requirement to contribute also under the legacy license (#92394)
See
https://discourse.llvm.org/t/relicensing-next-step-dropping-requirement-to-contribute-also-under-the-legacy-license/78351
for more details.
Commit: bbd54e08b08f5ccd38c4665178e65c58f7b14459
https://github.com/llvm/llvm-project/commit/bbd54e08b08f5ccd38c4665178e65c58f7b14459
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/test/API/functionalities/bt-interrupt/main.c
A lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
A lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
Log Message:
-----------
Reapply "[lldb/aarch64] Fix unwinding when signal interrupts a leaf f… (#92503)
…unction (#91321)"
This reapplies fd1bd53ba5a06f344698a55578f6a5d79c457e30, which was
reverted due to a test failure on aarch64/windows. The failure was
caused by a combination of several factors:
- clang targeting aarch64-windows (unlike msvc, and unlike clang
targeting other aarch64 platforms) defaults to -fomit-frame-pointers
- lldb's code for looking up register values for `<same>` unwind rules
is recursive
- the test binary creates a very long chain of fp-less function frames
(it manages to fit about 22k frames before it blows its stack)
Together, these things have caused lldb to recreate the same deep
recursion when unwinding through this, and blow its own stack as well.
Since lldb frames are larger, about 4k frames like this was sufficient
to trigger the stack overflow.
This version of the patch works around this problem by increasing the
frame size of the test binary, thereby causing it to blow its stack
sooner. This doesn't fix the issue -- the same problem can occur with a
real binary -- but it's not very likely, as it requires an infinite
recursion in a simple (so it doesn't use the frame pointer) function
with a very small frame (so you can fit a lot of them on the stack).
A more principled fix would be to make lldb's lookup code non-recursive,
but I believe that's out of scope for this patch.
The original patch description follows:
A leaf function may not store the link register to stack, but we it can
still end up being a non-zero frame if it gets interrupted by a signal.
Currently, we were unable to unwind past this function because we could
not read the link register value.
To make this work, this patch:
- changes the function-entry unwind plan to include the `fp|lr = <same>`
rules. This in turn necessitated an adjustment in the generic
instruction emulation logic to ensure that `lr=[sp-X]` can override the
`<same>` rule.
- allows the `<same>` rule for pc and lr in all
`m_all_registers_available` frames (and not just frame zero).
The test verifies that we can unwind in a situation like this, and that
the backtrace matches the one we computed before getting a signal.
Commit: e96948a6e88966e1efe110d981aeb84f09cbb98e
https://github.com/llvm/llvm-project/commit/e96948a6e88966e1efe110d981aeb84f09cbb98e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
Log Message:
-----------
AMDGPU: Fix typos in test names
Commit: 2bad2ee0505bef9f5f0fbbb1bef7c85a9964d253
https://github.com/llvm/llvm-project/commit/2bad2ee0505bef9f5f0fbbb1bef7c85a9964d253
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-21 (Tue, 21 May 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 testing unaligned double atomics in atomic scan tests
Fix copy paste error using align 4 double atomics. Test the meaningful
correctly aligned cases, the unaligned case emits broken libcalls.
Commit: 502bea25bdc07d1811b8bfea1c2e6bfa8617f72f
https://github.com/llvm/llvm-project/commit/502bea25bdc07d1811b8bfea1c2e6bfa8617f72f
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M flang/test/Semantics/OpenMP/dealloc.f90
M flang/test/Semantics/OpenMP/declarative-directive.f90
M flang/test/Semantics/OpenMP/declare-target-common-block.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/declare-target02.f90
M flang/test/Semantics/OpenMP/declare-target03.f90
M flang/test/Semantics/OpenMP/declare-target04.f90
M flang/test/Semantics/OpenMP/declare-target05.f90
M flang/test/Semantics/OpenMP/declare-target06.f90
M flang/test/Semantics/OpenMP/declare-target07.f90
M flang/test/Semantics/OpenMP/default-clause.f90
M flang/test/Semantics/OpenMP/default-none.f90
M flang/test/Semantics/OpenMP/default.f90
M flang/test/Semantics/OpenMP/default02.f90
M flang/test/Semantics/OpenMP/depend01.f90
M flang/test/Semantics/OpenMP/depend02.f90
M flang/test/Semantics/OpenMP/depend03.f90
M flang/test/Semantics/OpenMP/device-clause01.f90
M flang/test/Semantics/OpenMP/device-constructs.f90
M flang/test/Semantics/OpenMP/do-collapse-positivecases.f90
M flang/test/Semantics/OpenMP/do-collapse.f90
M flang/test/Semantics/OpenMP/do-cycle.f90
M flang/test/Semantics/OpenMP/do-ordered-positivecases.f90
M flang/test/Semantics/OpenMP/do-ordered.f90
M flang/test/Semantics/OpenMP/do-schedule01.f90
M flang/test/Semantics/OpenMP/do-schedule02.f90
M flang/test/Semantics/OpenMP/do-schedule03.f90
M flang/test/Semantics/OpenMP/do-schedule04.f90
M flang/test/Semantics/OpenMP/do01-positivecase.f90
M flang/test/Semantics/OpenMP/do01.f90
M flang/test/Semantics/OpenMP/do03.f90
M flang/test/Semantics/OpenMP/do04-positivecase.f90
M flang/test/Semantics/OpenMP/do04.f90
M flang/test/Semantics/OpenMP/do05-positivecase.f90
M flang/test/Semantics/OpenMP/do05.f90
M flang/test/Semantics/OpenMP/do06-positivecases.f90
M flang/test/Semantics/OpenMP/do06.f90
M flang/test/Semantics/OpenMP/do07.f90
M flang/test/Semantics/OpenMP/do08.f90
M flang/test/Semantics/OpenMP/do09.f90
M flang/test/Semantics/OpenMP/do10.f90
M flang/test/Semantics/OpenMP/do11.f90
M flang/test/Semantics/OpenMP/do12.f90
M flang/test/Semantics/OpenMP/do13.f90
M flang/test/Semantics/OpenMP/do14.f90
M flang/test/Semantics/OpenMP/do15.f90
M flang/test/Semantics/OpenMP/do16.f90
M flang/test/Semantics/OpenMP/do17.f90
M flang/test/Semantics/OpenMP/do18.f90
M flang/test/Semantics/OpenMP/do19.f90
M flang/test/Semantics/OpenMP/do20.f90
M flang/test/Semantics/OpenMP/firstprivate01.f90
M flang/test/Semantics/OpenMP/firstprivate02.f90
M flang/test/Semantics/OpenMP/flush01.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/if-clause.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/invalid-branch.f90
M flang/test/Semantics/OpenMP/lastprivate01.f90
M flang/test/Semantics/OpenMP/lastprivate02.f90
M flang/test/Semantics/OpenMP/lastprivate03.f90
M flang/test/Semantics/OpenMP/linear-iter.f90
M flang/test/Semantics/OpenMP/loop-association.f90
M flang/test/Semantics/OpenMP/loop-simd01.f90
M flang/test/Semantics/OpenMP/map-clause.f90
M flang/test/Semantics/OpenMP/modfile-threadprivate.f90
M flang/test/Semantics/OpenMP/nested-barrier.f90
M flang/test/Semantics/OpenMP/nested-cancel.f90
M flang/test/Semantics/OpenMP/nested-cancellation-point.f90
M flang/test/Semantics/OpenMP/nested-distribute.f90
M flang/test/Semantics/OpenMP/nested-master.f90
M flang/test/Semantics/OpenMP/nested-simd.f90
M flang/test/Semantics/OpenMP/nested-target.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/nested01.f90
M flang/test/Semantics/OpenMP/no-dowhile-in-parallel.f90
M flang/test/Semantics/OpenMP/nontemporal.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/omp-do-collapse1.f90
M flang/test/Semantics/OpenMP/order-clause01.f90
M flang/test/Semantics/OpenMP/ordered-simd.f90
M flang/test/Semantics/OpenMP/ordered01.f90
M flang/test/Semantics/OpenMP/ordered02.f90
M flang/test/Semantics/OpenMP/ordered03.f90
M flang/test/Semantics/OpenMP/parallel-critical-do.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-sections-do.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
M flang/test/Semantics/OpenMP/parallel01.f90
M flang/test/Semantics/OpenMP/parallel02.f90
M flang/test/Semantics/OpenMP/private-is-pointer-allocatable-check.f90
M flang/test/Semantics/OpenMP/private01.f90
M flang/test/Semantics/OpenMP/private02.f90
M flang/test/Semantics/OpenMP/reduction-subtract.f90
M flang/test/Semantics/OpenMP/reduction01.f90
M flang/test/Semantics/OpenMP/reduction02.f90
M flang/test/Semantics/OpenMP/reduction03.f90
M flang/test/Semantics/OpenMP/reduction04.f90
M flang/test/Semantics/OpenMP/reduction05.f90
M flang/test/Semantics/OpenMP/reduction06.f90
M flang/test/Semantics/OpenMP/reduction07.f90
M flang/test/Semantics/OpenMP/reduction08.f90
M flang/test/Semantics/OpenMP/reduction09.f90
M flang/test/Semantics/OpenMP/reduction10.f90
M flang/test/Semantics/OpenMP/reduction11.f90
M flang/test/Semantics/OpenMP/reduction12.f90
M flang/test/Semantics/OpenMP/requires-atomic01.f90
M flang/test/Semantics/OpenMP/requires-atomic02.f90
M flang/test/Semantics/OpenMP/requires01.f90
M flang/test/Semantics/OpenMP/requires02.f90
M flang/test/Semantics/OpenMP/requires03.f90
M flang/test/Semantics/OpenMP/requires04.f90
M flang/test/Semantics/OpenMP/requires05.f90
M flang/test/Semantics/OpenMP/requires06.f90
M flang/test/Semantics/OpenMP/requires07.f90
M flang/test/Semantics/OpenMP/requires08.f90
M flang/test/Semantics/OpenMP/requires09.f90
M flang/test/Semantics/OpenMP/resolve01.f90
M flang/test/Semantics/OpenMP/resolve02.f90
M flang/test/Semantics/OpenMP/resolve03.f90
M flang/test/Semantics/OpenMP/resolve04.f90
M flang/test/Semantics/OpenMP/resolve05.f90
M flang/test/Semantics/OpenMP/resolve06.f90
M flang/test/Semantics/OpenMP/target-update01.f90
M flang/test/Semantics/OpenMP/target.f90
M flang/test/Semantics/OpenMP/target01.f90
M flang/test/Semantics/OpenMP/target02.f90
M flang/test/Semantics/OpenMP/task01.f90
M flang/test/Semantics/OpenMP/taskgroup01.f90
M flang/test/Semantics/OpenMP/taskloop-simd01.f90
Log Message:
-----------
[Flang][OpenMP] Re-enable tests without runtime issues on Windows (#92824)
Commit: 352dc7d4bb246ef0ecda4005934770e2a976ee4c
https://github.com/llvm/llvm-project/commit/352dc7d4bb246ef0ecda4005934770e2a976ee4c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
Log Message:
-----------
[LV] Propagate PredicatedBBsAfterVectorization to predecessors.
This fixes some cases where predicated BBs where missed previously,
leading to under-estimating the cost of those blocks.
Commit: 37813e09fa8b67ec858ad3c82dcf72a8ff306b03
https://github.com/llvm/llvm-project/commit/37813e09fa8b67ec858ad3c82dcf72a8ff306b03
Author: martinboehme <mboehme at google.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/docs/tools/clang-formatted-files.txt
A clang/include/clang/Analysis/FlowSensitive/CNFFormula.h
M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
A clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
M clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
[clang][dataflow] Make `CNFFormula` externally accessible. (#92401)
This component can be useful when creating implementations of `Solver`,
as some
SAT solvers require the input to be in 3-CNF.
As part of making `CNFFormula` externally accessible, I have moved some
member
variables out of it that aren't really part of the representation of a
3-CNF
formula and thus live better elsewhere:
* `WatchedHead` and `NextWatched` have been moved to
`WatchedLiteralsSolverImpl`, as they're part of the specific algorithm
used
by that SAT solver.
* `Atomics` has become an output parameter of `buildCNF()` because it
has to do
with the relationship between a `CNFFormula` and the set of `Formula`s
it is
derived from rather than being an integral part of the representation of
a
3-CNF formula.
I have also made all member variables private and added appropriate
accessors.
Commit: a098beaff7670e5986b790b6ba93999fa21c6b48
https://github.com/llvm/llvm-project/commit/a098beaff7670e5986b790b6ba93999fa21c6b48
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M lldb/include/lldb/lldb-types.h
Log Message:
-----------
[lldb] Move callback_token_t out of #ifdef windows
Also make it a int32_t to match the surrounding code.
Commit: 9d70975c7a72f3fa58d2d63090b92886dbf8a32b
https://github.com/llvm/llvm-project/commit/9d70975c7a72f3fa58d2d63090b92886dbf8a32b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Remove an assertion that's too strong
Both types need to boil down to a vector type with the same length
and their element types need to match, but we still can't compare
them with == since they might be sugared, etc.
Commit: 7cee61c82f7fe5a563c2781e855c13238c44931f
https://github.com/llvm/llvm-project/commit/7cee61c82f7fe5a563c2781e855c13238c44931f
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/test/Lower/OpenMP/lastprivate-iv.f90
Log Message:
-----------
[Flang][OpenMP] Fix lastprivate store issue (#92777)
Fix an issue where the lastprivate variable type is different from the
type used for the index of the loop.
Fixes #79780
Commit: 1b377dbeb73ef3abec246fe11fc98ec699625c0c
https://github.com/llvm/llvm-project/commit/1b377dbeb73ef3abec246fe11fc98ec699625c0c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
M llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
M llvm/test/Analysis/LoopAccessAnalysis/loop-invariant-dep-with-backedge-taken-count.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
Log Message:
-----------
[LAA] Check accesses don't overlap early to determine NoDep (#92307)
Use getStartAndEndForAccess to compute the start and end of both src
and sink (factored out to helper in bce3680f45b57f). If they do not
overlap (i.e. SrcEnd <= SinkStart || SinkEnd <= SrcStart), there is no
dependence, regardless of stride.
PR: https://github.com/llvm/llvm-project/pull/92307
Commit: 808fc8406973f958fa76acba2d7648d215d9681b
https://github.com/llvm/llvm-project/commit/808fc8406973f958fa76acba2d7648d215d9681b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Fix dummy DeclRefExprs for function pointers
Commit: 375761bcaba9ba5694890ece6eed5db286fc4fd1
https://github.com/llvm/llvm-project/commit/375761bcaba9ba5694890ece6eed5db286fc4fd1
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGen/aarch64-byval-temp.c
M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
M clang/test/CodeGen/nofpclass.c
Log Message:
-----------
[Clang] Emit lifetime markers for non-aggregate temporary allocas (#90849)
This patch extends https://reviews.llvm.org/D68611 and emits lifetime
markers for temporary allocas of non-aggregate types as well.
Commit: bb3d261f55e72e313fd8ddfefac3b47cfca2f656
https://github.com/llvm/llvm-project/commit/bb3d261f55e72e313fd8ddfefac3b47cfca2f656
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Protect GetPtrField ops from unknown size arrays
Commit: 9677e8171c19f1a15c0234724f083bc9473c545a
https://github.com/llvm/llvm-project/commit/9677e8171c19f1a15c0234724f083bc9473c545a
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/test/API/lang/cpp/limit-debug-info/Makefile
M lldb/test/API/lang/cpp/limit-debug-info/TestWithLimitDebugInfo.py
M lldb/test/API/lang/cpp/limit-debug-info/base.cpp
M lldb/test/API/lang/cpp/limit-debug-info/base.h
M lldb/test/API/lang/cpp/limit-debug-info/derived.cpp
M lldb/test/API/lang/cpp/limit-debug-info/derived.h
M lldb/test/API/lang/cpp/limit-debug-info/main.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
Log Message:
-----------
[lldb/dwarf] Fix DW_IDX_parent processing for split dwarf (#92745)
DWARFDebugInfo only knows how to resolve references in its own file, but
in split dwarf, the index entries will refer to DIEs in the separate
(DWO) file. To resolve the DIERef correctly we'd either need to go
through the SymbolFileDWARF to get the full logic for resolving a
DIERef, or use the fact that ToDIERef already looks up the correct unit
while computing its result.
This patch does the latter.
This bug manifested itself in not being able to find type definitions
for types in namespaces, so I've modified one of our type resolving test
cases to run with debug_names, and added a namespaced class into it (it
originally contained only a top-level class).
Commit: 45a5d8d6dba6156c24825b3a04378e999f8af82d
https://github.com/llvm/llvm-project/commit/45a5d8d6dba6156c24825b3a04378e999f8af82d
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
Log Message:
-----------
[lldb] Clean up unused includes in DebugNamesDWARFIndex
Commit: d9c27cafdb1c16fff837a3eb0ec0fb2ad912bc50
https://github.com/llvm/llvm-project/commit/d9c27cafdb1c16fff837a3eb0ec0fb2ad912bc50
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Fix discarding construct exprs with zero initializers
We need to create the temporary earlier so the
visitZeroRecordInitializer() call has access to it.
Commit: b7d911b76a6c44a3fcec56dd7e5fde9fbe63f4fe
https://github.com/llvm/llvm-project/commit/b7d911b76a6c44a3fcec56dd7e5fde9fbe63f4fe
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang-tools-extra/clangd/test/infinite-instantiation.test
Log Message:
-----------
[clangd] Reduce instantiation depth in `infinite-instantiations.test` (#92888)
This patch reduces template instantiation depth in
`infinite-instantiations.test`, because it doesn't seem to be concerned
with the default instantiation depth in particular, but has a very
material impact on testing times of clangd. Which subsequently affects
CI run times for all Clang changes.
The following numbers are taken from
https://buildkite.com/llvm-project/github-pull-requests/builds/65299,
but they are the same for any CI run with clangd:
Linux:
```
Slowest Tests:
--------------------------------------------------------------------------
35.19s: Clangd :: infinite-instantiation.test
5.53s: Clangd :: protocol.test
1.48s: Clang Tools :: clang-tidy/checkers/modernize/use-emplace.cpp
1.40s: Clang Tools :: clang-tidy/checkers/misc/non-private-member-variables-in-classes.cpp
1.17s: Clang Tools :: clang-tidy/checkers/google/upgrade-googletest-case.cpp
1.15s: Clang Tools :: clang-tidy/checkers/bugprone/unsafe-functions.c
1.10s: Clang Tools :: clang-tidy/infrastructure/check_clang_tidy.cpp
1.07s: Clang Tools :: clang-tidy/checkers/readability/redundant-casting.cpp
1.06s: Clang Tools :: clang-tidy/checkers/misc/const-correctness-values.cpp
1.02s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-char.cpp
1.00s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-reverse.cpp
0.97s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-basic.cpp
0.95s: Clang Tools :: clang-tidy/checkers/modernize/use-std-print.cpp
0.93s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-extra.cpp
0.92s: Clang Tools :: clang-tidy/checkers/altera/single-work-item-barrier.cpp
0.90s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
0.90s: Clang Tools :: clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
0.89s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-cfgfile.cpp
0.88s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation.cpp
0.85s: Clangd Unit Tests :: ./ClangdTests/Hover/All
```
Windows:
```
Slowest Tests:
--------------------------------------------------------------------------
244.74s: Clangd :: infinite-instantiation.test
11.42s: Clangd :: protocol.test
8.97s: Clang Tools :: clang-tidy/checkers/misc/non-private-member-variables-in-classes.cpp
7.44s: Clang Tools :: clang-tidy/checkers/altera/single-work-item-barrier.cpp
6.71s: Clang Tools :: clang-tidy/checkers/bugprone/unsafe-functions.c
6.61s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-char.cpp
6.42s: Clang Tools :: clang-tidy/infrastructure/check_clang_tidy.cpp
6.32s: Clang Tools :: clang-tidy/checkers/modernize/loop-convert-reverse.cpp
6.01s: Clang Tools :: clang-tidy/checkers/readability/redundant-casting.cpp
5.62s: Clang Tools :: clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
5.58s: Clang Tools :: clang-tidy/checkers/modernize/replace-disallow-copy-and-assign-macro.cpp
5.46s: Clang Tools :: clang-tidy/checkers/readability/function-cognitive-complexity-flags.cpp
5.08s: Clang Tools :: clang-tidy/checkers/readability/avoid-return-with-void-value.cpp
5.07s: Clang Tools :: clang-tidy/checkers/readability/redundant-declaration.cpp
4.99s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
4.91s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-pointer-offset.cpp
4.87s: Clang Tools :: clang-tidy/checkers/readability/identifier-naming-hungarian-notation-cfgfile.cpp
4.79s: Clang Tools :: clang-tidy/checkers/google/upgrade-googletest-case.cpp
4.78s: Clang Tools :: clang-tidy/infrastructure/clean-up-code.cpp
4.76s: Clang Tools :: clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-int.cpp
```
Commit: 6ff82363dfd21be1af799f47e64115ffe8edb8d5
https://github.com/llvm/llvm-project/commit/6ff82363dfd21be1af799f47e64115ffe8edb8d5
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/Passes.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
Log Message:
-----------
[flang][HLFIR] Adapt InlineElementals to run on all top level ops (#92734)
This means that this pass will also run on hlfir elemental operations
which are not inside of functions.
See RFC:
https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations
Some of the changes are from moving the declaration and definition of
the constructor into tablegen (as requested during code review of
another pass).
While I was updating the tests I noticed that the optimized
bufferization pass and some cse were missing from the optimized pipeline
in flang/test/Driver/mlir-pass-pipeline.f90. I fixed this in this
commit.
Commit: a7521fd162cac93da37df9151d233692fd61998f
https://github.com/llvm/llvm-project/commit/a7521fd162cac93da37df9151d233692fd61998f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
A clang/test/AST/Interp/sycl.cpp
Log Message:
-----------
[clang][Interp] Implement __builtin_sycl_unique_stable_name
Commit: 18e7bcbae12bc2e2cf9888844a0b3f12075f508c
https://github.com/llvm/llvm-project/commit/18e7bcbae12bc2e2cf9888844a0b3f12075f508c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/cxx11.cpp
Log Message:
-----------
[clang][Interp] Reject inc/dec ops before C++ 14
Commit: 5693678cae86ac433aa8bd9ed3920c8c93b5817b
https://github.com/llvm/llvm-project/commit/5693678cae86ac433aa8bd9ed3920c8c93b5817b
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M lld/COFF/DriverUtils.cpp
A lld/test/COFF/arm64ec-exports.s
Log Message:
-----------
[LLD][COFF] Demangle ARM64EC export names. (#87068)
Commit: 46d8bb08cfd3798977b4e22881514dc9d77425c2
https://github.com/llvm/llvm-project/commit/46d8bb08cfd3798977b4e22881514dc9d77425c2
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.h
M clang/test/AST/Interp/arrays.cpp
M clang/unittests/AST/Interp/Descriptor.cpp
Log Message:
-----------
[clang][Interp] Fix initializing zero-size arrays
Commit: 1664610130b88ef168e33eddfe973a3f11bd4261
https://github.com/llvm/llvm-project/commit/1664610130b88ef168e33eddfe973a3f11bd4261
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaPseudoObject.h
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang] Introduce `SemaPseudoObject` (#92646)
This patch moves `Sema` functions that handle pseudo-objects into the
new `SemaPseudoObject` class. This continues previous efforts to split
`Sema` up. Additional context can be found in #84184.
As usual, in order to help reviewing this, formatting changes are split
into a separate commit.
Commit: 45293b5edb7f320bc1b14b6ce8ac90ed111baa53
https://github.com/llvm/llvm-project/commit/45293b5edb7f320bc1b14b6ce8ac90ed111baa53
Author: YunQiang Su <syq at debian.org>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/Basic/Targets/Mips.h
Log Message:
-----------
MIPS/Clang: handleTargetFeatures, add +fp64 if +msa and no other +-fp (#92728)
Commit: d59bc6b5c75384aa0b1e78cc85e17e8acaccebaf
Clang/MIPS: Add +fp64 if MSA and no explicit -mfp option (#91949)
added +fp64 for `clang`, while not for `clang -cc1`. So
clang -cc1 -triple=mips -target-feature +msa -S
will emit an asm source file without ".module fp=64".
Commit: f3aaaafe50697a1d9985836adb0b167aab05047c
https://github.com/llvm/llvm-project/commit/f3aaaafe50697a1d9985836adb0b167aab05047c
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Remove #if 0 code for fences in SIInsertWaitcnts (#92902)
We insert required waits for fences in SIMemoryLegalizer.
Commit: 4e86b0006b639f10df108a885a54ff0eddb40217
https://github.com/llvm/llvm-project/commit/4e86b0006b639f10df108a885a54ff0eddb40217
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Remove #if 0 code for buffer stores in SIInsertWaitcnts (#92903)
Commit: 2117136b2b78ef3b83202909ffaf351598da8bd5
https://github.com/llvm/llvm-project/commit/2117136b2b78ef3b83202909ffaf351598da8bd5
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang-tools-extra/clangd/test/infinite-instantiation.test
Log Message:
-----------
[clangd] Fix bad directory path in `infinite-instantiations.test`
Addresses buildbot failure https://lab.llvm.org/buildbot/#/builders/123/builds/26913 caused by #92888
Commit: 558f3ea4aef718f953d3f38a45363d8a91988292
https://github.com/llvm/llvm-project/commit/558f3ea4aef718f953d3f38a45363d8a91988292
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Remove #if 0 code for indexed resources in SIInsertWaitcnts (#92905)
I do not understand what optimization this was supposed to implement.
It has never been enabled. I suspect it no longer applies to GCN/RDNA
architectures.
Commit: f78b1a40864470f7eb30dfda44a6ea8e845346a5
https://github.com/llvm/llvm-project/commit/f78b1a40864470f7eb30dfda44a6ea8e845346a5
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
Log Message:
-----------
[InstCombine] Add test for #92887 (NFC)
Commit: 263224e4481b0850539a93a272184aac4abe86d4
https://github.com/llvm/llvm-project/commit/263224e4481b0850539a93a272184aac4abe86d4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
Log Message:
-----------
[InstCombine] Require poison operand in canEvaluateShuffled transform
This transform works on single-source shuffles, which require that
the second operand is poison, not undef. Otherwise we may convert
undef to poison.
Fixes https://github.com/llvm/llvm-project/issues/92887.
Commit: c1b5b7c19b76f8d153f7ae9350d217b74888ed93
https://github.com/llvm/llvm-project/commit/c1b5b7c19b76f8d153f7ae9350d217b74888ed93
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/branching-directive.f90
A flang/test/Lower/unstructured-control-flow.f90
Log Message:
-----------
[flang][Lower] Emit exiting branches from within constructs (#92455)
When lowering IfConstruct, CaseConstruct, and SelectTypeConstruct, emit
branches that exit the construct in each block that is still
unterminated after the FIR has been generated in it.
The same thing may be needed for SelectRankConstruct, once it's
supported.
This eliminates the need for inserting branches in `genFIR(Evaluation)`.
Follow-up to PR https://github.com/llvm/llvm-project/pull/91614.
Commit: 557a0be3af798cf55b1ef54fc98a84fa5a4ade42
https://github.com/llvm/llvm-project/commit/557a0be3af798cf55b1ef54fc98a84fa5a4ade42
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
Log Message:
-----------
[InstCombine] Add test for splat shuffle miscompile (NFC)
Commit: ecd269e8305330c185bbedbd5a59e887122333ba
https://github.com/llvm/llvm-project/commit/ecd269e8305330c185bbedbd5a59e887122333ba
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
Log Message:
-----------
[InstCombine] Check for poison instead of undef in splat shuffle fold
We can't canonicalize these to a splat shuffle, as doing so would
convert undef -> poison.
Commit: 2f1e2325cfd804cc84eafc63dc775995fd2f3a1b
https://github.com/llvm/llvm-project/commit/2f1e2325cfd804cc84eafc63dc775995fd2f3a1b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
Log Message:
-----------
[InstCombine] Use m_Poison instead of m_Undef in some places (NFCI)
I believe that in these cases other conditions already ensure that
the second operand is not used, this is mostly for clarity.
Commit: b8e3d8021648478229697edeeb8539c99dbe5503
https://github.com/llvm/llvm-project/commit/b8e3d8021648478229697edeeb8539c99dbe5503
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
Log Message:
-----------
[InstCombine] Add test for incorrect shuffle of unop transform (NFC)
Commit: 8f1c984325bd679b2634a6173db69548da87ac71
https://github.com/llvm/llvm-project/commit/8f1c984325bd679b2634a6173db69548da87ac71
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
Log Message:
-----------
[InstCombine] Check for poison instead of undef in shuffle of unop transform
Otherwise this may not actually be a single-source shuffle.
Commit: a53e568b16db60eaeb4886232841c2a884f484fc
https://github.com/llvm/llvm-project/commit/a53e568b16db60eaeb4886232841c2a884f484fc
Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Analysis/TargetLibraryInfo.cpp
Log Message:
-----------
[AIX] Set memrchr to unavailable (#92588)
`memrchr` is not available on AIX. This patch turns it off so the
optimizer will not generate it to cause link errors.
Commit: fbc798e4426b322ed0e03019c20d929f2eaade22
https://github.com/llvm/llvm-project/commit/fbc798e4426b322ed0e03019c20d929f2eaade22
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
Log Message:
-----------
[InstCombine] Use m_Poison instead of m_Undef (NFCI)
In this case, isIdentityWithExtract() should already ensure that
this is a single-source shuffle. This just makes things more
explicit.
Commit: a15b685c2d868eaf408d05baa50baa3c9f5cc740
https://github.com/llvm/llvm-project/commit/a15b685c2d868eaf408d05baa50baa3c9f5cc740
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-05-21 (Tue, 21 May 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/Basic/OpenACCKinds.h
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/AST/ast-print-openacc-compute-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/compute-construct-attach-clause.c
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-copy-clause.c
M clang/test/SemaOpenACC/compute-construct-copy-clause.cpp
M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
M clang/test/SemaOpenACC/compute-construct-copyin-clause.cpp
M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
M clang/test/SemaOpenACC/compute-construct-copyout-clause.cpp
M clang/test/SemaOpenACC/compute-construct-create-clause.c
M clang/test/SemaOpenACC/compute-construct-create-clause.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
M clang/test/SemaOpenACC/compute-construct-no_create-clause.c
M clang/test/SemaOpenACC/compute-construct-no_create-clause.cpp
M clang/test/SemaOpenACC/compute-construct-present-clause.c
M clang/test/SemaOpenACC/compute-construct-present-clause.cpp
M clang/test/SemaOpenACC/compute-construct-private-clause.c
M clang/test/SemaOpenACC/compute-construct-private-clause.cpp
A clang/test/SemaOpenACC/compute-construct-reduction-clause.c
A clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'reduction' sema for compute constructs (#92808)
'reduction' has a few restrictions over normal 'var-list' clauses:
1- On parallel, a num_gangs can only have 1 argument when combined with
reduction. These two aren't able to be combined on any other of the
compute constructs however.
2- The vars all must be 'numerical data types' types of some sort, or a
'composite of numerical data types'. A list of types is given in the
standard as a minimum, so we choose 'isScalar', which covers all of
these types and keeps types that are actually numeric. Other compilers
don't seem to implement the 'composite of numerical data types', though
we do.
3- Because of the above restrictions, member-of-composite is not
allowed, so any access via a memberexpr is disallowed. Array-element and
sub-arrays (aka array sections) are both permitted, so long as they meet
the requirements of #2.
This patch implements all of these for compute constructs.
Commit: d0e0205bfc5a147f8744a176a10f185af7520c26
https://github.com/llvm/llvm-project/commit/d0e0205bfc5a147f8744a176a10f185af7520c26
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/CodeGen/PowerPC/vec_shuffle.ll
M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
Log Message:
-----------
[InstCombine] Check for poison instead of undef in single shuffle fold
Otherwise we'll convert undef to poison. Alive2 was already flagging
the existing test8 test as a miscompile.
Commit: 8d5b7d4d11ea47b9903b634f4159986422855383
https://github.com/llvm/llvm-project/commit/8d5b7d4d11ea47b9903b634f4159986422855383
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
Log Message:
-----------
[InstCombine] Use m_Poison() instead of m_Undef() (NFCI)
In this case, the isIdentityWithExtract() checks should already
guarantee that these are single-source shuffles, so this is just
for clarity.
Commit: 7c640d1d43d7a151100e92c678757e0ce897bcc2
https://github.com/llvm/llvm-project/commit/7c640d1d43d7a151100e92c678757e0ce897bcc2
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang-tools-extra/clangd/test/infinite-instantiation.test
Log Message:
-----------
[clangd] Fix directory separators in `infinite-instatiation.test`
Another take at fixing https://lab.llvm.org/buildbot/#/builders/123/builds/26920 and https://lab.llvm.org/buildbot/#/builders/123/builds/26913 caused by #92888
Commit: 530d4c9bf3d963f51375a1d7afb32f439d9c94a9
https://github.com/llvm/llvm-project/commit/530d4c9bf3d963f51375a1d7afb32f439d9c94a9
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
Log Message:
-----------
[InstCombine] Use m_Poison() instead of m_Undef() (NFCI)
In this case the shuffle mask checks should already guarantee a
single-source shuffle, so this is just for clarity.
Commit: 4ae896fe979b7db501cabde4b6b3504478958682
https://github.com/llvm/llvm-project/commit/4ae896fe979b7db501cabde4b6b3504478958682
Author: jofrn <jofernau at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
Log Message:
-----------
[AMDGPU] HasOneUse uses (#92534)
#91578 implements `HasOneUse` predicate on `PatFrag`, so this commit
uses it within AMDGPU.
Commit: 76748119bfd52ff6647740a06e29e3584e22ee16
https://github.com/llvm/llvm-project/commit/76748119bfd52ff6647740a06e29e3584e22ee16
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/freeze.ll
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-freeze-rv64.mir
Log Message:
-----------
[GISel][RISCV] Add irtranslator/legalizer/selector support for G_FREEZE. (#92744)
This patch adds support for G_FREEZE on riscv. It will be selected into
a copy instruction.
The ll test is copied from the AArch64 patch:
https://github.com/llvm/llvm-project/commit/665da596854bf07ee25f368855156dde43845013.
Commit: 7c19058d2a8e05383988b92cf4004c4cd8a54951
https://github.com/llvm/llvm-project/commit/7c19058d2a8e05383988b92cf4004c4cd8a54951
Author: Steven Wu <stevenwu at apple.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/test/CodeGen/darwin-target-variant.c
M llvm/lib/IR/Module.cpp
A llvm/test/Linker/darwin-target-variant.ll
M llvm/test/MC/MachO/darwin-target-variant-reverse.ll
M llvm/test/MC/MachO/darwin-target-variant.ll
Log Message:
-----------
[Darwin][IR] Don't error on target_variant mismatch when linking IR (#92297)
Change the ModuleFlag type for target_variant to warning to avoid error
out when the value is different. This matches the linker behavior when
linking object files.
rdar://125874272
Commit: f52d29c9ab7d3c712d36c28d00adc95fe7d52805
https://github.com/llvm/llvm-project/commit/f52d29c9ab7d3c712d36c28d00adc95fe7d52805
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[Clang][Sema] Refactor handling of vector subscript expressions (NFC) (#92778)
Commit: ea43a30899df5c3c36412392c8f4db79973a1c43
https://github.com/llvm/llvm-project/commit/ea43a30899df5c3c36412392c8f4db79973a1c43
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/crash_extract_subvector_cost.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/phi-result-use-order.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
Log Message:
-----------
[AMDGPU] Vectorize more 16 bit shuffles (#90648)
In the case of larger vectors, we should still prefer the vectorized
version (i.e. shufflevector vs extract/insert chains).
In arithmetic chains, vectorization results in chains of packed math
instructions (as opposed to unpack/repack & scalarized arithmetic):
https://godbolt.org/z/c5onaf6G5
In chains with PHIs, vectorization again removes the unnecessary pack /
repack code around BBs: https://godbolt.org/z/vz7zYzvhs
Commit: 446f66d685c2470bc7744b1d1538c4728e838e43
https://github.com/llvm/llvm-project/commit/446f66d685c2470bc7744b1d1538c4728e838e43
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/test/CodeGen/fat-lto-objects.c
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/test/CodeGen/X86/fat-lto-section.ll
Log Message:
-----------
[CodeGen] Assign SHT_LLVM_LTO to .llvm.lto section (#92856)
This follows up to SHT_LLVM_LTO (https://reviews.llvm.org/D153215) and
resolves the comment of the FatLTO patch
https://reviews.llvm.org/D146776#4430626
Commit: cfeb25cd7e92d5e854aa92034f18da2e5fa3e27a
https://github.com/llvm/llvm-project/commit/cfeb25cd7e92d5e854aa92034f18da2e5fa3e27a
Author: John Brawn <john.brawn at arm.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
A lld/test/ELF/aarch64-feature-gcs.s
Log Message:
-----------
[lld][AArch64] Add support for GCS (#90732)
This adds the -z gcs and -z gcs-report options, which behave similarly
to -z shtk and -z cet-report, except that -z gcs accepts a parameter:
* -z gcs=implicit is the default behaviour, where the GCS bit is
inferred from the input objects.
* -z gcs=never clears the GCS bit, ignoring the input objects.
* -z gcs=always sets the GCS bit, ignoring the input objects.
This is so that there's a means of explicitly disabling GCS even when
all input objects have the GCS bit set.
Commit: 67e3514692f60f85c69aef9a793d3e43b68fb038
https://github.com/llvm/llvm-project/commit/67e3514692f60f85c69aef9a793d3e43b68fb038
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
A llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll
Log Message:
-----------
AMDGPU: Implement getRoundingControlRegisters (#92884)
Commit: dab1f7c8d3d7bf5021cdb96af74d533753ad2e23
https://github.com/llvm/llvm-project/commit/dab1f7c8d3d7bf5021cdb96af74d533753ad2e23
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
Log Message:
-----------
AMDGPU: Emit 1/llvm.sqrt(x) instead of rsqrt calls in libcall handling (#92863)
With the contract flag we should end up codegening to the rsqrt
instruction, or denormal corrected rsqrt sequence present in the
library.
Commit: 0c8bc08868e7bf051e9683851726747def85765a
https://github.com/llvm/llvm-project/commit/0c8bc08868e7bf051e9683851726747def85765a
Author: Alan Zhao <ayzhao at google.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/CFG.h
M llvm/lib/Analysis/CFG.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
A llvm/test/Transforms/Coroutines/coro-lifetime-end.ll
Log Message:
-----------
Reapply "[coro][CoroSplit] Use `llvm.lifetime.end` to compute putting objects on the frame vs the stack (#90265) (#91372)
This reverts commit 924384161ffceda08099536dd07a953299a69b53.
This reland addresses the performance regressions seen in #90265 by
retaining the original definition of
`isPotentiallyReachableFromMany(...)` instead of reimplementing it with
`isManyPotentiallyReachableFromMany(...)`.
Fixes #86580
Commit: 557bf3835b96ef5839013b1e821a1cb869660aa3
https://github.com/llvm/llvm-project/commit/557bf3835b96ef5839013b1e821a1cb869660aa3
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/pr90730.ll
Log Message:
-----------
[RISCV][ISel] Allow opaque constants in `hasAndNotCompare` (#92926)
See the following code:
https://github.com/llvm/llvm-project/blob/4ae896fe979b7db501cabde4b6b3504478958682/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L9334-L9357
> Combining: t47: i64 = xor t43, OpaqueConstant:i64<31808>
X: i64 = Constant<0>
Y: i64 = OpaqueConstant<31808>
The assertion failed because both `X` and `Y` are constants.
This patch allows opaque constants in `hasAndNotCompare` to fix the
issue.
Fixes https://github.com/llvm/llvm-project/issues/90730.
Commit: 4636b66de513dfa15da1ba071f279b64ad68903f
https://github.com/llvm/llvm-project/commit/4636b66de513dfa15da1ba071f279b64ad68903f
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M mlir/test/Dialect/Arith/int-range-interface.mlir
M mlir/test/Dialect/Arith/int-range-opts.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
Log Message:
-----------
[mlir][intrange] Represent bounds of `ReflectBoundsOp` as `si`/`ui` (#92641)
This patch adapts the `test.reflect_bounds` test Op to use explicitly
signed and unsigned representation for signed and unsigned bounds of
`IntegerType`s.
This is mostly a cosmetic change as the internal representation of the
ranges is unchanged. However, it improves readability of tests.
Commit: 0eca2655843e1b79e6c65c7239bce8c9a1509568
https://github.com/llvm/llvm-project/commit/0eca2655843e1b79e6c65c7239bce8c9a1509568
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
Log Message:
-----------
[flang][cuda] Fix memory side effects on cuf.data_transfer op (#92928)
The memory side effects on the `cuf.data_transfer` operation were
swapped between the src and dst operands. We read from source and write
to destination not the opposite.
Commit: 3e15c97fa3812993bdc319827a5c6d867b765ae8
https://github.com/llvm/llvm-project/commit/3e15c97fa3812993bdc319827a5c6d867b765ae8
Author: A. Jiang <de34 at live.cn>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/include/locale
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
Log Message:
-----------
[libc++] LWG2381: Inconsistency in parsing floating point numbers (#77948)
This PR implements [LWG2381](https://cplusplus.github.io/LWG/issue2381)
by rejecting `'i'`, `'I'`, `'n'`, `'N'` in FP parsing, as inf and NaN
are intendedly rejected by that LWG issue.
The source character array used for parsing is
`"0123456789abcdefABCDEFxX+-pPiInN"`, whose first 26 or 28 characters
are used for parsing integers or floating-point values respectively.
Previously, libc++ used 32 characters, including `'i'`, `'I'`, `'n'`,
`'N'`, for FP parsing, which was inconsistent with LWG2381. This PR also
replaces magic numbers 26 and 28 (formerly 32) with named constants.
Drive-by change: when the first character (possibly after the leading
`'+'` or `'-'`) is not a decimal digit but an acceptable character
(e.g., `'p'` or `'e'`), the character is not accumulated now (per Stage
2 in [facet.num.get.virtuals]/3).
#65168 may be rendered invalid, see
https://github.com/llvm/llvm-project/pull/65168#issuecomment-1868533342.
Apple back-deployment targets remain broken, likely due to dylib. XFAIL
is marked in related tests.
---------
Co-authored-by: Mark de Wever <koraq at xs4all.nl>
Commit: 98f105a1304e8d3fd0a0234d1d488ed513833df8
https://github.com/llvm/llvm-project/commit/98f105a1304e8d3fd0a0234d1d488ed513833df8
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
Log Message:
-----------
[lldb] Add the word "backtrace" to bt help string (#92618)
We noticed that `apropos backtrace` did not return the `bt` alias. This change adds the
word "backtrace" to the help for `bt`. It also updates `thread backtrace` to keep the
language used roughly in sync.
Commit: 253c28fa829cee0104c2fc59ed1a958980b5138c
https://github.com/llvm/llvm-project/commit/253c28fa829cee0104c2fc59ed1a958980b5138c
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Interpreter/execute.c
Log Message:
-----------
[clang-repl] Extend the C support. (#89804)
The IdResolver chain is the main way for C to implement lookup rules.
Every new partial translation unit caused clang to exit the top-most
scope which in turn cleaned up the IdResolver chain. That was not an
issue for C++ because its lookup is implemented on the level of
declaration contexts.
This patch keeps the IdResolver chain across partial translation units
maintaining proper C-style lookup infrastructure.
Commit: 315a83145b6d83134eee49570632f3ee2a5a38a9
https://github.com/llvm/llvm-project/commit/315a83145b6d83134eee49570632f3ee2a5a38a9
Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/BinaryFormat/ELF.h
Log Message:
-----------
AMDGPU/NFC: Reserve 0x056 and 0x057 EF_AMDGPU_MACHs (#92917)
Commit: 70fc23946bc241a154c13140af9a597049715723
https://github.com/llvm/llvm-project/commit/70fc23946bc241a154c13140af9a597049715723
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/CodeGen/RegisterPressure.cpp
Log Message:
-----------
RegisterPressure: Check empty instead of size == 0
Commit: 2805e6faad7795ed0846010e3e7ad41460030758
https://github.com/llvm/llvm-project/commit/2805e6faad7795ed0846010e3e7ad41460030758
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/test/tools/llvm-driver/symlink-call.test
M llvm/tools/llvm-cxxfilt/CMakeLists.txt
M utils/bazel/llvm-project-overlay/llvm/driver.bzl
Log Message:
-----------
[llvm-driver] Add driver alias for c++filt (#92803)
Similar to 9d955a63c7b0d2d547a63d4074e03cd5ebd1f162, this allows the
driver to respond to `c++filt`.
Commit: 194e7cc7aabe2ffb153ca66527ffb6b500fa4c50
https://github.com/llvm/llvm-project/commit/194e7cc7aabe2ffb153ca66527ffb6b500fa4c50
Author: Zaara Syeda <syzaara at ca.ibm.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/test/Driver/tocdata-cc1.c
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/test/CodeGen/PowerPC/toc-data.ll
Log Message:
-----------
[PowerPC][AIX] 64-bit large code-model support for toc-data (#90619)
This patch adds support for toc-data for 64-bit large code-model on AIX.
The sequence ADDIStocHA8/ADDItocL8 is used to access the data directly
from the TOC.
When emitting the instruction ADDIStocHA8, we check if the symbol has
toc-data attribute before creating a toc entry for it. When emitting the
instruction ADDItocL8, we use the LA8 instruction to load the address.
Commit: e6b14b6f8bfeeea8d24c8dccb17053ba491d5879
https://github.com/llvm/llvm-project/commit/e6b14b6f8bfeeea8d24c8dccb17053ba491d5879
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang-tools-extra/clangd/test/infinite-instantiation.test
Log Message:
-----------
[clangd] Fix directory separators in `infinite-instantiation.test`
Fixing https://lab.llvm.org/buildbot/#/builders/123/builds/26934 caused by #92888. Third time the charm!
Commit: 3c3e71d929457daf4be425a35920cc53ed875fab
https://github.com/llvm/llvm-project/commit/3c3e71d929457daf4be425a35920cc53ed875fab
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
A llvm/test/CodeGen/X86/coalescer-add-implicit-def-subreg-to-reg-regression.ll
A llvm/test/CodeGen/X86/issue76416.ll
Log Message:
-----------
X86: Add regression test from issue #76416
Also add another testcase reported at the same regression commit. Make
sure this assert is fixed when the patch is eventually reapplied.
Commit: 1fc3ce1cdb8390ed64feea939a9555d3642439ea
https://github.com/llvm/llvm-project/commit/1fc3ce1cdb8390ed64feea939a9555d3642439ea
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Enable data transfer for descriptors (#92804)
Remove the TODO when data transfer is done with descriptor variables.
Commit: 172759492a162592da7ae9e03888661c108b1be4
https://github.com/llvm/llvm-project/commit/172759492a162592da7ae9e03888661c108b1be4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/CodeGen/RegisterPressure.cpp
Log Message:
-----------
RegisterPressure: Add parameter name comment
Commit: 7847b1ca00fb4649799125592f01cd38c5509b45
https://github.com/llvm/llvm-project/commit/7847b1ca00fb4649799125592f01cd38c5509b45
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
Log Message:
-----------
[flang][cuda][NFC] Silence warning triggered in buildbot
Commit: ce1d28e645b53ba9518d295dad35a4578dd8e8dc
https://github.com/llvm/llvm-project/commit/ce1d28e645b53ba9518d295dad35a4578dd8e8dc
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Sema/builtins.c
Log Message:
-----------
Fix diagnostic wording style; NFC
Commit: 8cb19ebd219668ef8efa9ffb4a72e39b18dd91d4
https://github.com/llvm/llvm-project/commit/8cb19ebd219668ef8efa9ffb4a72e39b18dd91d4
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
Log Message:
-----------
InstCombine: Stop handling bitcast in PointerReplacer (#92937)
These should be irrelevant since opaque pointers.
Commit: 67ae86d700b899979db39883f4063257513498d5
https://github.com/llvm/llvm-project/commit/67ae86d700b899979db39883f4063257513498d5
Author: lolloz98 <lorenzocarpaneto at yahoo.it>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/functions.c
Log Message:
-----------
[clang] Fix crash passing function pointer without prototype. (#90255)
Fixes use-after-free iterating over the uses of the function.
Closes #88917
Commit: e67f2cc3fc38cec2041cfb197ac4688ed3d16e7e
https://github.com/llvm/llvm-project/commit/e67f2cc3fc38cec2041cfb197ac4688ed3d16e7e
Author: Edwin Vane <revane at google.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
Log Message:
-----------
[clang-tidy] Rename out-of-line function definitions (#91954)
Member function templates defined out-of-line were resulting in
conflicting naming failures with overlapping usage sets. With this
change, out-of-line definitions are treated as a usage of the failure
which is the inline declaration.
Commit: cec1eab9bd6bfffcf39d0962c7ce220284fc7c1a
https://github.com/llvm/llvm-project/commit/cec1eab9bd6bfffcf39d0962c7ce220284fc7c1a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
Log Message:
-----------
MachineScheduler: Add parameter name comments
Commit: 01c600dec6f506ae305abf04cf955e08aa59b234
https://github.com/llvm/llvm-project/commit/01c600dec6f506ae305abf04cf955e08aa59b234
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Parser/altivec.c
M clang/test/Parser/cxx-altivec.cpp
Log Message:
-----------
Reword a diagnostic for style; NFC
Commit: 32cf7a25f2f8174bc448ae7032e419dc0375fd6a
https://github.com/llvm/llvm-project/commit/32cf7a25f2f8174bc448ae7032e419dc0375fd6a
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Log Message:
-----------
Fix another diagnostic for style; NFC
Commit: 87a6865d2c8eba802a7e9f42fa8b6ac1edd0664e
https://github.com/llvm/llvm-project/commit/87a6865d2c8eba802a7e9f42fa8b6ac1edd0664e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Parser/lax-conv.cpp
Log Message:
-----------
Fix another diagnostic wording for style; NFC
Commit: 337e633bb75640bb6e04eb874c7114dfac6fa754
https://github.com/llvm/llvm-project/commit/337e633bb75640bb6e04eb874c7114dfac6fa754
Author: Martin Storsjö <martin at martin.st>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libcxx] [test] Detect mingw-w64 headers compatible with C++ module builds (#92893)
This fixes running the tests/CI with a newer mingw toolchain that has
been fixed to work with building libc++ as a module.
Commit: 57a507930b50c445140feb68bffe1c21af53319e
https://github.com/llvm/llvm-project/commit/57a507930b50c445140feb68bffe1c21af53319e
Author: Thurston Dang <thurston at google.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M compiler-rt/lib/msan/msan.cpp
Log Message:
-----------
[msan] Increase kNumStackOriginDescrs constant (#92838)
This increases the constant size of kNumStackOriginDescrs to 4M (64GB of
BSS across two arrays), which ought to be enough for anybody.
This is the easier alternative suggested by eugenis@ in
https://github.com/llvm/llvm-project/pull/92826.
Commit: 0bc710f7c19910817ccff254c43496602635bbc9
https://github.com/llvm/llvm-project/commit/0bc710f7c19910817ccff254c43496602635bbc9
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
Log Message:
-----------
[flang][cuda] Accept constant as src for cuf.data_tranfer (#92951)
Assignment of a constant (host) to a device variable is a special case
that can be further lowered to `cudaMemset` or similar functions. This
patch update the lowering to avoid the creation of a temporary when we
assign a constant to a device variable.
Commit: 687039bce91e90f87d68fb0c409baffaae16649e
https://github.com/llvm/llvm-project/commit/687039bce91e90f87d68fb0c409baffaae16649e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr90703.ll
Log Message:
-----------
[X86] Return true for opaque constants in hasAndNotCompare. (#92944)
This is the X86 equivalent of #92926
Commit: 243611ed4ce69c3c6f94092f12fa5703dfcb2c9f
https://github.com/llvm/llvm-project/commit/243611ed4ce69c3c6f94092f12fa5703dfcb2c9f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
Log Message:
-----------
Disable compiling and testing Flang on Clang changes (#92740)
This patch aims to rectify the Windows CI situation by decoupling Clang
changes from Flang test suite, which is causing Windows CI to "pause"
for 20 minutes (details can be found
[here](https://discourse.llvm.org/t/flang-tests-are-extremely-slow-on-windows/78591/11)).
This even seems desirable in the long run, because it was highlighted
that the only part of Clang that Flang depends on is Driver ([Discourse
post](https://discourse.llvm.org/t/flang-tests-are-extremely-slow-on-windows/78591/14)).
Importantly, this patch leaves the question of _entirely_ disabling
Flang tests on Windows CI out of scope.
Commit: 3eb7711e929f9b7ffaa0049a56ad70c4d99e4917
https://github.com/llvm/llvm-project/commit/3eb7711e929f9b7ffaa0049a56ad70c4d99e4917
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AArch64PointerAuth.h
Log Message:
-----------
[AArch64][PAC][NFC] Make checkAuthenticatedRegister() return void (#92507)
The return value is not used. This change simplifies the upcoming fix
Commit: 9f2313829fd210f9923375e93bc11fe9685c26d5
https://github.com/llvm/llvm-project/commit/9f2313829fd210f9923375e93bc11fe9685c26d5
Author: shaw young <58664393+shawbyoung at users.noreply.github.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Add NamedRegionTimer to inferStaleProfile (#92621)
Commit: 32c9d5ef4fb171ad24dce91cdaa67683ccca2d78
https://github.com/llvm/llvm-project/commit/32c9d5ef4fb171ad24dce91cdaa67683ccca2d78
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
Revert "[BOLT] Add NamedRegionTimer to inferStaleProfile (#92621)"
This reverts commit 9f2313829fd210f9923375e93bc11fe9685c26d5.
Creates a dependency cycle: lib/Rewrite depends on lib/Profile.
Commit: df626dd11c360c58eddae813ce6a0524d0a53696
https://github.com/llvm/llvm-project/commit/df626dd11c360c58eddae813ce6a0524d0a53696
Author: Thurston Dang <thurston at google.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M compiler-rt/lib/msan/msan.cpp
Log Message:
-----------
Revert "[msan] Increase kNumStackOriginDescrs constant (#92838)"
This reverts commit 57a507930b50c445140feb68bffe1c21af53319e.
Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/57/builds/35160)
Commit: 3b3d622be993faa985ed9cbb9ab098c8d6b8f681
https://github.com/llvm/llvm-project/commit/3b3d622be993faa985ed9cbb9ab098c8d6b8f681
Author: Andrew Browne <browneee at google.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M compiler-rt/lib/dfsan/dfsan_custom.cpp
M compiler-rt/test/dfsan/custom.cpp
Log Message:
-----------
[DFSan] Fix recvmsg wrapper to support MSG_TRUNC flag. (#92599)
The MSG_TRUNC flag makes recvmsg return the real length of the packet,
even if it was too big to fit in the provided buffer. This is commonly
used together with MSG_PEEK.
Without this patch, dfsan's clear_msghdr_labels expects the return value
of recvmsg (size recieved) to be less than or equal to the iov buffer
length where recvmsg writes data, resulting in a crash.
Commit: 3a913d30bef061be9786740e14bacd3fa6d76adc
https://github.com/llvm/llvm-project/commit/3a913d30bef061be9786740e14bacd3fa6d76adc
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
Log Message:
-----------
[clang][NFC] Refactor `Sema::TagUseKind` (#92689)
This patch makes `TagUseKind` a scoped enumeration, and moves it outside
of `Sema` class, making it eligible for forward declaring.
Commit: 0012b1ea84e671a9e0c9f7f2d1564315ed9cbcca
https://github.com/llvm/llvm-project/commit/0012b1ea84e671a9e0c9f7f2d1564315ed9cbcca
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp
Log Message:
-----------
[libc++] Refactor flaky tests for std::shared_lock (#91779)
This makes the tests non-flaky.
Commit: f6ff87dd90074b694e420d93389c749189bca0ec
https://github.com/llvm/llvm-project/commit/f6ff87dd90074b694e420d93389c749189bca0ec
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M libunwind/include/__libunwind_config.h
M libunwind/src/UnwindLevel1.c
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
M libunwind/src/libunwind.cpp
Log Message:
-----------
[libunwind][WebAssembly] Make libunwind compilable (#92192)
This tries to make Wasm compilable in LLVM tree with CMake for
non-Emscripten platform.
This
- Adds `-D__USING_WASM_EXCEPTIONS__` when you compile with
`-fwasm-exceptions` (like other EH options) in Clang
- Exclude `UnwindLevel1.c`, `UnwindRegistersSave.S`, and
`UnwindRegistersRestore.S` when compiling with Wasm
- Changed some `__USING_WASM_EXCEPTIONS__` to `__wasm__`; they should be
applied when compiling with Wasm w/o exceptions.
- Define some unused macros to make it compile
Fixes #72771.
Commit: b3e71ec9f7efe15f7fd3dd4fc398860e1e857c11
https://github.com/llvm/llvm-project/commit/b3e71ec9f7efe15f7fd3dd4fc398860e1e857c11
Author: Petr Hosek <phosek at google.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
A libc/startup/baremetal/CMakeLists.txt
A libc/startup/baremetal/fini.cpp
A libc/startup/baremetal/init.cpp
Log Message:
-----------
[libc] Provide __libc_{init,fini}_array for baremetal (#90828)
These are provided by newlib and many baremetal projects assume they're
available rather than providing their own implementation.
Commit: 5442e15a152614628e2e2bef250c91eacf75fc9c
https://github.com/llvm/llvm-project/commit/5442e15a152614628e2e2bef250c91eacf75fc9c
Author: Nick Desaulniers (paternity leave) <nickdesaulniers at users.noreply.github.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M libc/src/__support/threads/CMakeLists.txt
A libc/src/__support/threads/CndVar.h
M libc/src/__support/threads/linux/CMakeLists.txt
A libc/src/__support/threads/linux/CndVar.cpp
M libc/src/threads/linux/CMakeLists.txt
R libc/src/threads/linux/CndVar.h
M libc/src/threads/linux/cnd_broadcast.cpp
M libc/src/threads/linux/cnd_destroy.cpp
M libc/src/threads/linux/cnd_init.cpp
M libc/src/threads/linux/cnd_signal.cpp
M libc/src/threads/linux/cnd_wait.cpp
Log Message:
-----------
[libc][__support] move CndVar to __support (#89329)
We should be able to reuse this between the implementation of C11 cnd_t
condition variables and POSIX pthread_cond_t condition variables.
The current implementation is hyper linux specific, making use of Futex. That
obviously wont work outside of linux, so split the OS specific functions off
into their own source outside of the header.
Modifies the return values of the to-be-shared impl to return 0 on success and
-1 on error. This pattern was shamelessly stolen from Bionic's
[__bionic_thrd_error](https://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/include/bits/threads_inlines.h#41).
Fixes: #88580
Link: #88583
Commit: 2e7365eabe4dd2a56b0b1b4053a95558c4f4bb97
https://github.com/llvm/llvm-project/commit/2e7365eabe4dd2a56b0b1b4053a95558c4f4bb97
Author: Thomas Fransham <fsfod11 at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/include/llvm/Object/ObjectFile.h
Log Message:
-----------
[lldb] Set ObjectFile's assignment operator to also be deleted like its copy constructor (#92942)
This will also fix a warning when ObjectFile is dllexport'ed on Windows
for my GSOC project for adding support Clang plugins on windows with
@vgvassilev and @compnerd.
Commit: 42ba740afffa16f991be6aa36626bd872d41ebc0
https://github.com/llvm/llvm-project/commit/42ba740afffa16f991be6aa36626bd872d41ebc0
Author: Damien L-G <dalg24 at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__atomic/atomic_ref.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__atomic/check_memory_order.h
M libcxx/include/__atomic/cxx_atomic_impl.h
A libcxx/include/__atomic/to_gcc_order.h
M libcxx/include/atomic
A libcxx/include/libcxx.imp
M libcxx/include/module.modulemap
M libcxx/modules/std/atomic.inc
A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
A libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
A libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
A libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
A libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
A libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
A libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
A libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
A libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
A libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp
A libcxx/test/std/atomics/atomics.ref/compare_exchange_weak.pass.cpp
A libcxx/test/std/atomics/atomics.ref/convert.pass.cpp
A libcxx/test/std/atomics/atomics.ref/ctor.pass.cpp
A libcxx/test/std/atomics/atomics.ref/deduction.pass.cpp
A libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
A libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
A libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
A libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
A libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
A libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
A libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
A libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp
A libcxx/test/std/atomics/atomics.ref/load.pass.cpp
A libcxx/test/std/atomics/atomics.ref/member_types.pass.cpp
A libcxx/test/std/atomics/atomics.ref/notify_all.pass.cpp
A libcxx/test/std/atomics/atomics.ref/notify_one.pass.cpp
A libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
A libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
A libcxx/test/std/atomics/atomics.ref/required_alignment.pass.cpp
A libcxx/test/std/atomics/atomics.ref/requires-trivially-copyable.verify.cpp
A libcxx/test/std/atomics/atomics.ref/store.pass.cpp
A libcxx/test/std/atomics/atomics.ref/test_helper.h
A libcxx/test/std/atomics/atomics.ref/wait.pass.cpp
Log Message:
-----------
[libc++] Implement C++20 atomic_ref (#76647)
Implement the std::atomic_ref class template by reusing atomic_base_impl.
Based on the work from https://reviews.llvm.org/D72240
Commit: a5bab70d0667d3bd709720c5c78870b8ad280545
https://github.com/llvm/llvm-project/commit/a5bab70d0667d3bd709720c5c78870b8ad280545
Author: Michael Jones <michaelrj at google.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M libc/test/integration/scudo/CMakeLists.txt
Log Message:
-----------
[libc] Fix scudo integration test (#92967)
When scudo is built with LLVM-libc's headers, certain functions also
need to be linked from LLVM-libc. This patch adds those functions to the
list to be linked into the specific scudo test, which uses a minimal
subset of libc.
Fixes #92861 and #59453
Commit: b90861498b5b5c06ba24a122b6987738560acf99
https://github.com/llvm/llvm-project/commit/b90861498b5b5c06ba24a122b6987738560acf99
Author: Heewon Cho <heewon6752 at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M bolt/include/bolt/Passes/StokeInfo.h
Log Message:
-----------
[BOLT][NFC] Use const reference in range-based for loop (#92932)
Addressing #91195
Commit: e42b799bb28815431f2c5a95f7e13fde3f1b36a1
https://github.com/llvm/llvm-project/commit/e42b799bb28815431f2c5a95f7e13fde3f1b36a1
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/ODRDiagsEmitter.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Sema/HLSLExternalSemaSource.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/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang] NFCI: use TemplateArgumentLoc for type-param DefaultArgument (#92854)
This is an enabler for a future patch.
This allows an type-parameter default argument to be set as an arbitrary
TemplateArgument, not just a type.
This allows template parameter packs to have default arguments in the
AST, even though the language proper doesn't support the syntax for it.
This will be used in a later patch which synthesizes template parameter
lists with arbitrary default arguments taken from template
specializations.
There are a few places we used SubsType, because we only had a type, now
we use SubstTemplateArgument.
SubstTemplateArgument was missing arguments for setting Instantiation
location and entity names.
Adding those is needed so we don't regress in diagnostics.
Commit: 219ea26733f96e0c63796bed8e507f7bb1a02140
https://github.com/llvm/llvm-project/commit/219ea26733f96e0c63796bed8e507f7bb1a02140
Author: Heewon Cho <heewon6752 at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M bolt/runtime/instr.cpp
Log Message:
-----------
[BOLT][NFC] Remove dead initialization code (#92952)
Addressing #81441
Commit: 7630775e3ad34c426cde91732e8e7816c2a1ef5a
https://github.com/llvm/llvm-project/commit/7630775e3ad34c426cde91732e8e7816c2a1ef5a
Author: Thomas Fransham <fsfod11 at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/include/llvm/Object/ObjectFile.h
Log Message:
-----------
Revert "Set ObjectFile's assignment operator to also be deleted like its copy constructor" (#92973)
Reverts llvm/llvm-project#92942
Commit: fd1e511440702aa098f8da97ea35f3f6d9d19cae
https://github.com/llvm/llvm-project/commit/fd1e511440702aa098f8da97ea35f3f6d9d19cae
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 42ba740afffa
Commit: 79a32609759af317a62184c2c7b1300263a336c8
https://github.com/llvm/llvm-project/commit/79a32609759af317a62184c2c7b1300263a336c8
Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
A llvm/test/Instrumentation/HWAddressSanitizer/mem-attr.ll
Log Message:
-----------
[hwasan] Remove memory attrs from instrumented functions. (#92974)
HWASan instrumentation makes writeonly attribute on function parameters,
as well as most memory(*) attributes invalid. This causes
miscompilations with LTO, when more optimizations are run after the
HWASan pass.
Commit: 0170bd5d111f55f45f993a749727ce2815cc0b16
https://github.com/llvm/llvm-project/commit/0170bd5d111f55f45f993a749727ce2815cc0b16
Author: Joachim Meyer <5982050+fodinabor at users.noreply.github.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/IR/MDBuilder.cpp
M llvm/unittests/IR/MDBuilderTest.cpp
Log Message:
-----------
[MDBuilder] `mergeCallbackEncodings` fails due to inspecting the wrong node (#92466)
Given the following metadata as, with `!6` as `ExistingCallbacks` and
`!8` as `NewCB`:
```
!6 = !{!7}
!7 = !{i64 0, i1 false}
!8 = !{i64 2, i64 3, i1 false}
```
The merge function should add `!8` to the list of `!6`, i.e. `!6 =
!{!7,!8}`. However, at the moment the check if this is legal, tries to
interpret `!7` as integer instead of it's operand.
Commit: 203232ffbd80e9f4631213a3876f14dde155a92d
https://github.com/llvm/llvm-project/commit/203232ffbd80e9f4631213a3876f14dde155a92d
Author: Connor Sughrue <55301806+cpsughrue at users.noreply.github.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Support/raw_socket_stream.cpp
M llvm/unittests/Support/raw_socket_stream_test.cpp
Log Message:
-----------
[llvm][Support] ListeningSocket::accept returns operation_canceled if FD is set to -1 (#89479)
If `::poll` returns and `FD` equals -1, then `ListeningSocket::shutdown`
has been called. So, regardless of any other information that could be
gleaned from `FDs.revents` or `PollStatus`, it is appropriate to return
`std::errc::operation_canceled`. `ListeningSocket::shutdown` copies
`FD`'s value to `ObservedFD` then sets `FD` to -1 before canceling
`::poll` by calling `::close(ObservedFD)` and writing to the pipe.
Commit: dfdf1c5fe45a82b9c578306f3d7627fd251d63f8
https://github.com/llvm/llvm-project/commit/dfdf1c5fe45a82b9c578306f3d7627fd251d63f8
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/Interpreter/IncrementalParser.cpp
M clang/lib/Sema/SemaDecl.cpp
R clang/test/Interpreter/execute.c
Log Message:
-----------
Revert "[clang-repl] Extend the C support. (#89804)"
This reverts commit 253c28fa829cee0104c2fc59ed1a958980b5138c.
This commit is causing failures on the lldb CI bots, e.g.
https://ci.swift.org/view/all/job/llvm.org/view/LLDB/job/as-lldb-cmake/4307/
On my local macOS desktop build,
```
bin/lldb-dotest -p TestImportBuiltinFileID.py
Assertion failed: (D->getLexicalDeclContext() == this && "Decl inserted into wrong lexical context"), function addHiddenDecl, file DeclBase.cpp, line 1692.
6 libsystem_c.dylib 0x0000000185f0b8d0 abort + 128
7 libsystem_c.dylib 0x0000000185f0abc8 err + 0
8 liblldb.19.0.0git.dylib 0x00000001311e5800 clang::DeclContext::addHiddenDecl(clang::Decl*) + 120
9 liblldb.19.0.0git.dylib 0x00000001311e5978 clang::DeclContext::addDecl(clang::Decl*) + 32
10 liblldb.19.0.0git.dylib 0x000000012f617b48 clang::Sema::ActOnStartTopLevelStmtDecl(clang::Scope*) + 64
11 liblldb.19.0.0git.dylib 0x000000012eaf76c8 clang::Parser::ParseTopLevelStmtDecl() + 208
12 liblldb.19.0.0git.dylib 0x000000012ec051fc clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) + 3412
13 liblldb.19.0.0git.dylib 0x000000012ec03274 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) + 2020
14 liblldb.19.0.0git.dylib 0x000000012eaca860 clang::ParseAST(clang::Sema&, bool, bool) + 604
15 liblldb.19.0.0git.dylib 0x000000012e8554c0 clang::ASTFrontendAction::ExecuteAction() + 308
16 liblldb.19.0.0git.dylib 0x000000012e854c78 clang::FrontendAction::Execute() + 124
17 liblldb.19.0.0git.dylib 0x000000012e76dcfc clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 984
18 liblldb.19.0.0git.dylib 0x000000012e784500 compileModuleImpl(clang::CompilerInstance&, clang::SourceLocation, llvm::StringRef, clang::FrontendInputFile, llvm::StringRef, llvm::StringRef, llvm::function_ref<void (clang::CompilerInstance&)>, llvm::function_ref<void (clang::CompilerInstance&)>)::$_1::operator()() const + 52
```
Reverting until Vassil has a chance to look int oit.
Commit: f0d1ae83b046ff0eeffc72a103f7c8b01ad33787
https://github.com/llvm/llvm-project/commit/f0d1ae83b046ff0eeffc72a103f7c8b01ad33787
Author: csstormq <swust_xiaoqiangxu at 163.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/CodeGen/ScheduleDAG.cpp
A llvm/test/CodeGen/X86/misched-critical-path.ll
Log Message:
-----------
[llvm][ScheduleDAG] SUnit::biasCriticalPath() does not find the critical path consistently (#92368)
Fix https://github.com/llvm/llvm-project/issues/38037
Commit: a9b67490b2baaa311100a64191792186ea5f2c1e
https://github.com/llvm/llvm-project/commit/a9b67490b2baaa311100a64191792186ea5f2c1e
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M bolt/include/bolt/Passes/BinaryPasses.h
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Report adjusted program stats from perf2bolt in BAT mode (#91683)
Commit: c2e0afe95efd495f5c76bbea410730a321a69e9c
https://github.com/llvm/llvm-project/commit/c2e0afe95efd495f5c76bbea410730a321a69e9c
Author: Yuxuan Chen <ych at fb.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroElide.cpp
Log Message:
-----------
[Coroutines][NFC] Remove @llvm.coro.id.async intrinsics from CoroElide (#92956)
Commit: 511077df763752fd2c187e4ca1a3ada335b77804
https://github.com/llvm/llvm-project/commit/511077df763752fd2c187e4ca1a3ada335b77804
Author: Wu Yingcong <yingcong.wu at intel.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M compiler-rt/lib/dfsan/dfsan_allocator.cpp
M compiler-rt/lib/lsan/lsan_allocator.cpp
M compiler-rt/lib/msan/msan_allocator.cpp
Log Message:
-----------
[sanitizers] Bump malloc limit to 1TB for MSAN, LSAN & DFSAN (#89728)
We already have `const uptr kMaxAllowedMallocSize = 1ULL << 40;` set for
ASAN, HWASAN, memprof, TSAN. This patch bumps the malloc limit for MSAN,
LSAN and DFSAN to 1TB as well. 8GB is simply not enough nowadays.
Commit: a6d97dec899b880f0c3f674d6b3361a70b68ca09
https://github.com/llvm/llvm-project/commit/a6d97dec899b880f0c3f674d6b3361a70b68ca09
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate C++ alternative operators in C (#92880)
PR #90161 uncovered a bug that annotates C++ xor as UnaryOperator if
followed by a binary operator. This patch fixes that and all other C++
alternative operator keywords when followed by a binary operator in C.
Fixes #92688.
Commit: 935b946b1fdeeb9d67f1c42903dc15e88407208f
https://github.com/llvm/llvm-project/commit/935b946b1fdeeb9d67f1c42903dc15e88407208f
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/X86/ignored-interprocedural-reference.s
Log Message:
-----------
[BOLT] Process cross references between ignored functions in BAT mode (#92484)
To align YAML and fdata profiles produced in BAT mode, lift two
restrictions applied in non-relocation mode when BAT is present:
1) register secondary entry points from ignored functions,
2) treat functions with secondary entry points as simple.
This allows constructing CFG for non-simple functions in non-relocation
mode and emitting YAML profile for them, which can then be used for
optimizations in relocation mode.
Test Plan: added test ignored-interprocedural-reference.s
Commit: 97025bd9d5b32f984f07d6ae20a3ce6ddb3fbe2a
https://github.com/llvm/llvm-project/commit/97025bd9d5b32f984f07d6ae20a3ce6ddb3fbe2a
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/test/X86/register-fragments-bolt-symbols.s
M bolt/test/link_fdata.py
Log Message:
-----------
[BOLT] Use getLocationName in YAMLProfileWriter (#92493)
Disambiguate local functions using the containing file symbol in BAT
mode. Make local function naming consistent across BAT fdata and YAML
profiles.
Test Plan: updated register-fragments-bolt-symbols.s
Commit: 64f640680f7b1ddc8d2015eac75865f231166f8c
https://github.com/llvm/llvm-project/commit/64f640680f7b1ddc8d2015eac75865f231166f8c
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M libcxxabi/include/cxxabi.h
M libcxxabi/src/cxa_exception.cpp
M libcxxabi/src/cxa_exception.h
M libcxxabi/src/cxa_personality.cpp
M libunwind/src/Unwind-wasm.c
M libunwind/src/libunwind.cpp
Log Message:
-----------
[WebAssembly] __USING_WASM_EXCEPTIONS__ -> __WASM_EXCEPTIONS__ (#92840)
We've decided to change `__USING_WASM_EXCEPTIONS__` preprocessor to
`__WASM_EXCEPTIONS__` given that it's more concise.
Commit: d53c6cdbc108729ce5dc7d4e9184db025206fefc
https://github.com/llvm/llvm-project/commit/d53c6cdbc108729ce5dc7d4e9184db025206fefc
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Log Message:
-----------
[AMDGPU][Clang] Builtin for GLOBAL_LOAD_LDS on GFX940 (#92962)
Fixes: SWDEV-459212
Commit: b66779b5bf0f3c839114681bb4aca80a9dc144c3
https://github.com/llvm/llvm-project/commit/b66779b5bf0f3c839114681bb4aca80a9dc144c3
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
Log Message:
-----------
[nfc][InstrProfReader]Store header fields in native endianness (#92947)
- Use `Header.Version` directly and remove Header::formatVersion
---------
Co-authored-by: Kazu Hirata <kazu at google.com>
Commit: 130e93cc26ca9d3ac50ec5a92e3109577ca2e702
https://github.com/llvm/llvm-project/commit/130e93cc26ca9d3ac50ec5a92e3109577ca2e702
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/ZOS.cpp
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-stmt-json.cpp
M clang/test/Analysis/cxxnewexpr-callback.cpp
M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.deallocation/p2.cpp
M clang/test/CXX/drs/cwg292.cpp
M clang/test/CXX/expr/expr.unary/expr.new/p14.cpp
M clang/test/CodeGenCXX/cxx1y-sized-deallocation.cpp
M clang/test/CodeGenCXX/cxx1z-aligned-allocation.cpp
M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
M clang/test/CodeGenCXX/delete-two-arg.cpp
M clang/test/CodeGenCXX/delete.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/new.cpp
M clang/test/CodeGenCoroutines/coro-aligned-alloc-2.cpp
M clang/test/CodeGenCoroutines/coro-aligned-alloc.cpp
M clang/test/CodeGenCoroutines/coro-alloc.cpp
M clang/test/CodeGenCoroutines/coro-cleanup.cpp
M clang/test/CodeGenCoroutines/coro-dealloc.cpp
M clang/test/CodeGenCoroutines/coro-gro.cpp
M clang/test/CodeGenCoroutines/pr56919.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/PCH/cxx1z-aligned-alloc.cpp
M clang/test/SemaCXX/MicrosoftExtensions.cpp
M clang/test/SemaCXX/builtin-operator-new-delete.cpp
M clang/test/SemaCXX/cxx1y-sized-deallocation.cpp
M clang/test/SemaCXX/unavailable_aligned_allocation.cpp
M clang/tools/clang-repl/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/www/cxx_status.html
M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
Log Message:
-----------
Reland "[clang] Enable sized deallocation by default in C++14 onwards" (#90373)
Since C++14 has been released for about nine years and most standard
libraries have implemented sized deallocation functions, it's time to
make this feature default again.
This is another try of https://reviews.llvm.org/D112921.
The original commit cf5a8b4 was reverted by 2e5035a due to some
failures (see #83774).
Fixes #60061
Commit: 7370b109b44a187e55d032d9628e41a7b94c3914
https://github.com/llvm/llvm-project/commit/7370b109b44a187e55d032d9628e41a7b94c3914
Author: csstormq <swust_xiaoqiangxu at 163.com>
Date: 2024-05-21 (Tue, 21 May 2024)
Changed paths:
M llvm/lib/CodeGen/ScheduleDAG.cpp
R llvm/test/CodeGen/X86/misched-critical-path.ll
Log Message:
-----------
Revert "[llvm][ScheduleDAG] SUnit::biasCriticalPath() does not find the critical path consistently (#92368)" (#92992)
This reverts commit f0d1ae83b046ff0eeffc72a103f7c8b01ad33787.
This commit breaks tests: http://45.33.8.238/linux/138572/step_11.txt
Commit: 108575f02ea9927009ed81231474d3a6f053602f
https://github.com/llvm/llvm-project/commit/108575f02ea9927009ed81231474d3a6f053602f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/test/Analysis/builtin_signbit.cpp
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
M clang/test/CodeGen/constantexpr-fneg.c
M clang/test/CodeGenCXX/cxx11-thread-local.cpp
M clang/test/CodeGenCXX/ubsan-nullability-arg.cpp
M clang/test/CodeGenCXX/weak-external.cpp
M clang/test/Driver/linker-wrapper-image.c
M clang/test/OpenMP/threadprivate_codegen.cpp
M llvm/include/llvm/Analysis/TargetFolder.h
M llvm/include/llvm/IR/ConstantFolder.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/test/Assembler/ConstantExprFold.ll
M llvm/test/Assembler/ConstantExprNoFold.ll
M llvm/test/Assembler/vector-cmp.ll
M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
M llvm/test/CodeGen/AMDGPU/lower-multiple-ctor-dtor.ll
M llvm/test/Instrumentation/MemorySanitizer/check-constant-shadow.ll
M llvm/test/Instrumentation/SanitizerBinaryMetadata/atomics.ll
M llvm/test/Transforms/Attributor/value-simplify.ll
M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
M llvm/test/Transforms/InstCombine/pr33453.ll
M llvm/test/Transforms/InstCombine/pr83947.ll
M llvm/test/Transforms/InstCombine/rem.ll
M llvm/test/Transforms/InstCombine/select-and-or.ll
M llvm/test/Transforms/InstCombine/select-safe-transforms.ll
M llvm/test/Transforms/InstSimplify/ConstProp/bitcast.ll
M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
M llvm/test/Transforms/InstSimplify/bitcast-vector-fold.ll
M llvm/test/Transforms/InstSimplify/compare.ll
M llvm/test/Transforms/InstSimplify/past-the-end.ll
M llvm/test/Transforms/JumpThreading/constant-fold-status.ll
M llvm/test/Transforms/LowerTypeTests/cfi-direct-call1.ll
M llvm/test/Transforms/LowerTypeTests/function-weak.ll
M llvm/test/Transforms/SCCP/conditions-ranges.ll
M llvm/test/Transforms/SimplifyCFG/phi-to-select-constexpr-icmp.ll
Log Message:
-----------
[IR] Avoid creating icmp/fcmp constant expressions (#92885)
Do not create icmp/fcmp constant expressions in IRBuilder etc anymore,
i.e. treat them as "undesirable". This is in preparation for removing
them entirely.
Part of:
https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179
Commit: 89e1f7784be40bea96d5e65919ce8d34151c1d69
https://github.com/llvm/llvm-project/commit/89e1f7784be40bea96d5e65919ce8d34151c1d69
Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopInfo.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
A llvm/test/Transforms/IndVarSimplify/pr51735-1.ll
A llvm/test/Transforms/IndVarSimplify/pr51735-2.ll
A llvm/test/Transforms/IndVarSimplify/pr51735-3.ll
A llvm/test/Transforms/IndVarSimplify/pr51735.ll
Log Message:
-----------
[indvars] Missing variables at Og (#88270)
https://bugs.llvm.org/show_bug.cgi?id=51735
https://github.com/llvm/llvm-project/issues/51077
In the given test case:
```
4 ...
5 void bar() {
6 int End = 777;
7 int Index = 27;
8 char Var = 1;
9 for (; Index < End; ++Index)
10 ;
11 nop(Index);
12 }
13 ...
```
Missing local variable `Index` after loop `Induction Variable Elimination`.
When adding a breakpoint at line `11`, LLDB does not have information
on the variable. But it has info on `Var` and `End`.
Commit: c769079b1098f6b108544176c0bd8b5bba986f2c
https://github.com/llvm/llvm-project/commit/c769079b1098f6b108544176c0bd8b5bba986f2c
Author: AtariDreams <gfunni234 at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
Log Message:
-----------
[AMDGPU] Update test results to fix build (#92982)
Commit: c609c04e32ef43f63a6ee54025fadf649c3247cc
https://github.com/llvm/llvm-project/commit/c609c04e32ef43f63a6ee54025fadf649c3247cc
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/test/CodeGenCXX/weak-external.cpp
Log Message:
-----------
[CodeGen] Use fixed triple in weak-external test (NFC)
The codegen here differs substantially if UseARMMethodPtrABI is
enabled. Use a fixed x86 triple to avoid this.
Commit: 874a5dab419240af0a02a3fc70accd926105aa31
https://github.com/llvm/llvm-project/commit/874a5dab419240af0a02a3fc70accd926105aa31
Author: Ivan Murashko <ivan.murashko at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/include/clang/Basic/FileManager.h
M clang/lib/Basic/FileManager.cpp
A clang/test/Modules/implicit-module-remap.cpp
Log Message:
-----------
[clang] Processing real directories added as virtual ones (#91645)
The `FileManager` might create a virtual directory that can be used
later as a search path. This is the case when we use remapping, as
demonstrated in the suggested LIT test.
We might encounter a 'false cache miss' and add the same directory
twice into `FileManager::SeenDirEntries` if the added record is a real
directory that is present on a disk:
- Once as a virtual directory
- And once as a real one
This isn't a problem if the added directories have the same name, as in
this case, we will get a cache hit. However, it could lead to
compilation errors if the directory names are different but point to the
same folder. For example, one might use an absolute name and another a
relative one. For instance, the **implicit-module-remap.cpp** LIT test
will fail with the following message:
```
/.../implicit-module-remap.cpp.tmp/test.cpp:1:2: fatal error: module 'a'
was built in directory '/.../implicit-module-remap.cpp.tmp' but now
resides in directory '.'
1 | #include "a.h"
| ^
1 error generated.
```
The suggested fix checks if the added virtual directory is present on
the disk and handles it as a real one if that is the case.
Commit: b00e0c167186d69e1e6bceda57c09b272bd6acfc
https://github.com/llvm/llvm-project/commit/b00e0c167186d69e1e6bceda57c09b272bd6acfc
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M mlir/include/mlir/Analysis/SliceAnalysis.h
A mlir/include/mlir/Analysis/TopologicalSortUtils.h
M mlir/include/mlir/Transforms/RegionUtils.h
R mlir/include/mlir/Transforms/TopologicalSortUtils.h
M mlir/lib/Analysis/CMakeLists.txt
M mlir/lib/Analysis/SliceAnalysis.cpp
A mlir/lib/Analysis/TopologicalSortUtils.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/lib/Transforms/SROA.cpp
M mlir/lib/Transforms/TopologicalSort.cpp
M mlir/lib/Transforms/Utils/CMakeLists.txt
M mlir/lib/Transforms/Utils/RegionUtils.cpp
R mlir/lib/Transforms/Utils/TopologicalSortUtils.cpp
M mlir/lib/Transforms/ViewOpGraph.cpp
M mlir/test/Analysis/test-topoligical-sort.mlir
A mlir/test/Analysis/test-toposort.mlir
M mlir/test/Dialect/Affine/slicing-utils.mlir
R mlir/test/Transforms/test-toposort.mlir
M mlir/test/lib/Analysis/CMakeLists.txt
M mlir/test/lib/Analysis/TestSlice.cpp
A mlir/test/lib/Analysis/TestTopologicalSort.cpp
M mlir/test/lib/Transforms/CMakeLists.txt
R mlir/test/lib/Transforms/TestTopologicalSort.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR][Analysis] Consolidate topological sort utilities (#92563)
This PR attempts to consolidate the different topological sort utilities
into one place. It adds them to the analysis folder because the
`SliceAnalysis` uses some of these.
There are now two different sorting strategies:
1. Sort only according to SSA use-def chains
2. Sort while taking regions into account. This requires a much more
elaborate traversal and cannot be applied on graph regions that easily.
This additionally reimplements the region aware topological sorting
because the previous implementation had an exponential space complexity.
I'm open to suggestions on how to combine this further or how to fuse
the test passes.
Commit: 1cf75cc77e1d019613644491fb3f2923d4d29774
https://github.com/llvm/llvm-project/commit/1cf75cc77e1d019613644491fb3f2923d4d29774
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
Log Message:
-----------
Revert "[AMDGPU] Update test results to fix build (#92982)"
This reverts commit c769079b1098f6b108544176c0bd8b5bba986f2c.
This doesn't fix the build, it breaks it.
Commit: 1015f51dd94a6154df7183004743e1a86e566858
https://github.com/llvm/llvm-project/commit/1015f51dd94a6154df7183004743e1a86e566858
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/test/Analysis/CostModel/AArch64/cast.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reshuffle.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-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/AArch64/streaming-compatible-sve-no-maximize-bandwidth.ll
M llvm/test/Transforms/ScalarizeMaskedMemIntrin/AArch64/streaming-compatible-expand-masked-gather-scatter.ll
Log Message:
-----------
[AArch64] NFC: Rename -force-streaming-compatible-sve to -force-streaming-compatible (#92774)
The behaviour of the flag should be equivalent to
__arm_streaming_compatible.
At the moment, the name suggests that '-force-streaming-compatible-sve'
on its own (i.e. without specifying `+sve`) enables the compiler to use
the streaming-compatible subset of SVE instructions, but the semantics
merely are that the function can be called with either PSTATE.SM=0 or
PSTATE.SM=1.
Commit: 2034f2fc8729bd4645ef7caa3c5c6efa284d2d3f
https://github.com/llvm/llvm-project/commit/2034f2fc8729bd4645ef7caa3c5c6efa284d2d3f
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M mlir/include/mlir/Interfaces/Utils/InferIntRangeCommon.h
M mlir/lib/Dialect/Arith/IR/InferIntRangeInterfaceImpls.cpp
M mlir/lib/Dialect/Index/IR/InferIntRangeInterfaceImpls.cpp
M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
M mlir/test/Dialect/Arith/int-range-interface.mlir
M mlir/test/Dialect/Arith/int-range-opts.mlir
Log Message:
-----------
[mlir][intrange] Use `nsw`,`nuw` flags in inference (#92642)
This patch includes the "no signed wrap" and "no unsigned wrap" flags,
which can be used to annotate some Ops in the `arith` dialect and also
in LLVMIR, in the integer range inference.
The general approach is to use saturating arithmetic operations to infer
bounds which are assumed to not wrap and use overflowing arithmetic
operations in the normal case. If overflow is detected in the normal
case,
special handling makes sure that we don't underestimate the result
range.
Commit: 235465e40475a3bce1c11b21032844c0c8e14f28
https://github.com/llvm/llvm-project/commit/235465e40475a3bce1c11b21032844c0c8e14f28
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-sat-rv64.mir
Log Message:
-----------
[RISCV][GISel] Legalize G_{U|S}{ADD|SUB}SAT (#92935)
This patch adds support for G_UADDSAT/G_SADDSAT/G_USUBSAT/G_SSUBSAT by
lowering it into add/sub with selects. When zbb is available,
min/max/minu/maxu will be selected.
Commit: 89c23f7683efbdf896670218be9095d57ae3e348
https://github.com/llvm/llvm-project/commit/89c23f7683efbdf896670218be9095d57ae3e348
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_shader_clock/shader_clock.ll
Log Message:
-----------
[SPIR-V] Add cl_khr_kernel_clock / SPV_KHR_shader_clock extension (#92771)
Recognize `cl_khr_kernel_clock` builtins and translate them to
`OpReadClockKHR` instructions. The `Scope` operand is deduced from the
builtin function name.
spirv-val does not pass yet due to OpReadClockKHR only supporting the
valid scopes for Vulkan (Device and Subgroup, but not Workgroup), so
leave validation disabled with a TODO.
Commit: c7e9b4918e5bd4936dbc036ba65eae178f5cc994
https://github.com/llvm/llvm-project/commit/c7e9b4918e5bd4936dbc036ba65eae178f5cc994
Author: Mateusz Zych <mte.zych at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M libcxx/include/vector
Log Message:
-----------
[libc++][vector] Inline remaining constructors filling vector with the same value (#82068)
Placing physically next to each other remaining constructors filling
vector with the same value
will make code better, since they all have nearly identical
implementation, which needs to be kept in sync.
Co-authored-by: Mark de Wever <koraq at xs4all.nl>
Commit: 058e4454e8965f0d96ecbec61395d5a788c37f7c
https://github.com/llvm/llvm-project/commit/058e4454e8965f0d96ecbec61395d5a788c37f7c
Author: ZhangYin <zhangyin2018 at iscas.ac.cn>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M libcxx/docs/Status/ParallelismProjects.csv
M libcxx/include/experimental/__simd/scalar.h
M libcxx/include/experimental/__simd/simd.h
M libcxx/include/experimental/__simd/simd_mask.h
M libcxx/include/experimental/__simd/vec_ext.h
A libcxx/test/std/experimental/simd/simd.class/simd_copy.pass.cpp
A libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_copy.pass.cpp
Log Message:
-----------
[libc++] <experimental/simd> Add copy functions for class simd/simd_mask (#78935)
Commit: a640a2e0205fc23a27913d3e7c69c7cc60e4f7b9
https://github.com/llvm/llvm-project/commit/a640a2e0205fc23a27913d3e7c69c7cc60e4f7b9
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaRISCV.h
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaRISCV.cpp
Log Message:
-----------
[clang] Introduce `SemaRISCV` (#92682)
This patch moves `Sema` functions that are specific for RISC-V into the
new `SemaRISCV` class. This continues previous efforts to split `Sema`
up. Additional context can be found in
https://github.com/llvm/llvm-project/pull/84184.
This PR is somewhat different from previous PRs on this topic:
1. Splitting out target-specific functions wasn't previously discussed.
It felt quite natural to do, though.
2. I had to make some static function in `SemaChecking.cpp` member
functions of `Sema` in order to use them in `SemaRISCV`.
3. I dropped "RISCV" from identifiers, but decided to leave "RVV"
(RISC-V "V" vector extensions) intact. I think it's an idiomatic
abbreviation at this point, but I'm open to input from contributors in
that area.
4. I repurposed `SemaRISCVVectorLookup.cpp` for `SemaRISCV`.
I think this was a successful experiment, which both helps the goal of
splitting `Sema` up, and shows a way to approach `SemaChecking.cpp`,
which I wasn't sure how to approach before. As we move more
target-specific function out of there, we'll gradually make the checking
"framework" inside `SemaChecking.cpp` public, which is currently a whole
bunch of static functions. This would enable us to move more functions
outside of `SemaChecking.cpp`.
Commit: a56e6dfd2e6b141b5475c05ad62c378906f565ba
https://github.com/llvm/llvm-project/commit/a56e6dfd2e6b141b5475c05ad62c378906f565ba
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
Log Message:
-----------
[LV] Add test for header mask and invariant compare cost-modeling.
Additional test coverage for the VPlan-based cost model work.
Commit: f98a3dd7a23ca1a85f62b38a2a7e82a53f80070b
https://github.com/llvm/llvm-project/commit/f98a3dd7a23ca1a85f62b38a2a7e82a53f80070b
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M libcxx/test/std/containers/associative/map/map.value_compare/types.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.value_compare/types.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/implicit_ctad.pass.cpp
M libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/implicit_ctad.pass.cpp
M libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/implicit_ctad.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/implicit_ctad.pass.cpp
M libcxx/test/std/strings/string.view/string.view.deduct/implicit.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/implicit_ctad.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/implicit_ctad.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/implicit_ctad.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/implicit_ctad.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/implicit_ctad.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/implicit_ctad.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.default/implicit_ctad.pass.cpp
M libcxx/test/std/utilities/function.objects/operations.implicit_ctad.pass.cpp
Log Message:
-----------
[NFC][libc++][test] Removes C++98 support. (#92930)
Libc++ has no separate C++98 support, it uses C++03 instead. This
removes some obsolete c++98 markers in the test.
Thanks to @StephanTLavavej for spotting this.
Commit: 4351787fb650da6d1bfb8d6e58753c90dcd4c418
https://github.com/llvm/llvm-project/commit/4351787fb650da6d1bfb8d6e58753c90dcd4c418
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
AMDGPU: Fix redundant condition
Fixes #93003
Commit: 15710bbdadddbf03428fd16aed53e6be54960703
https://github.com/llvm/llvm-project/commit/15710bbdadddbf03428fd16aed53e6be54960703
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate04.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate07.f90
M flang/test/Semantics/OpenMP/allocate08.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators02.f90
M flang/test/Semantics/OpenMP/allocators03.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/atomic.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/barrier.f90
Log Message:
-----------
[Flang][OpenMP] Re-enable tests on windows 1/n (#92904)
Re-enable tests starting with a or b.
Commit: 91d415b8d94b15023e6c39d5376274a2b21ee448
https://github.com/llvm/llvm-project/commit/91d415b8d94b15023e6c39d5376274a2b21ee448
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CodeGen/aarch64-sve-vector-subscript-ops.c
Log Message:
-----------
[Clang][AArch64][SVE] Allow write to SVE vector elements using the subscript operator (#91965)
The patch at https://reviews.llvm.org/D122732 introduced using the array
subscript operator for SVE vectors, however it also causes an ICE when
the subscripting expression is used as an lvalue.
This patches fixes the error. Lvalue subscripting expressions are
emitted as LLVM IR `insertelement`.
Commit: 758e1199f6dbcddc0a8d425753c56a42507dd313
https://github.com/llvm/llvm-project/commit/758e1199f6dbcddc0a8d425753c56a42507dd313
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
Log Message:
-----------
[X86] Simplify the code for EFLAGS copy lowering, NFCI
1. MF.begin() == MF.end() -> MF.empty()
2. Set FlagsKilled by API modifiesRegister
3. Utilize APIs in X86GenMnemonicTables.inc to check arithmetic op
4. Merge duplicated code for rewrite*
5. Clang format
This is to address review comments in #91849
Commit: 775d7ccc0fa1de4bb02e2f5cdf4ca38a021e873e
https://github.com/llvm/llvm-project/commit/775d7ccc0fa1de4bb02e2f5cdf4ca38a021e873e
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/test/Driver/aarch64-v95a.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/FP8/system-regs.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Fix feature flags dependecies (#90612)
This patch removes FEAT_FPMR from list of available of architecture
features, instead enabling FMPR register by default.
Additionally dependencies between architectural features are added and
fixed.
Commit: 1f5cd3accd7e98abbf31d45b1ed59fbda0c91d30
https://github.com/llvm/llvm-project/commit/1f5cd3accd7e98abbf31d45b1ed59fbda0c91d30
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.h
Log Message:
-----------
[clang][Interp][NFC] Fix getType() of pointers pointing to vector elems
Commit: f156b9ce7aae520046c926458ed17d73ed33fc2a
https://github.com/llvm/llvm-project/commit/f156b9ce7aae520046c926458ed17d73ed33fc2a
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
A flang/test/Integration/debug-module-2.f90
A flang/test/Transforms/debug-module-1.fir
A flang/test/Transforms/debug-module-2.fir
Log Message:
-----------
[flang] Add debug information for module variables. (#91582)
This PR add debug info for module variables. The module variables are
added as global variables but their scope is set to module instead of
compile unit. The scope of function declared inside a module is also set
accordingly.
After this patch, a module variable could be evaluated in the GDB as `p
helper::gli` where helper is name of the module and gli is the name of
the variable. A future patch will add the import module functionality
which will remove the need to prefix the name with helper::.
The line number where is module is declared is a best guess at the
moment as this information is not part of the GlobalOp.
Commit: 1b066437085b7906a70539aad170e3e52fb9f685
https://github.com/llvm/llvm-project/commit/1b066437085b7906a70539aad170e3e52fb9f685
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16.ll
Log Message:
-----------
[X86] stack-folding-fp-avx512fp16.ll - remove broken CHECK-LABEl prefix lines
Typo identified in #91854
Commit: 6381cfe8910bfd8cefb91b565b7640529e2f75f2
https://github.com/llvm/llvm-project/commit/6381cfe8910bfd8cefb91b565b7640529e2f75f2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/stack-frame-layout-remarks.ll
Log Message:
-----------
[X86] stack-frame-layout-remarks.ll - fix BOTH-Next -> BOTH-NEXT typo
Typo identified in #91854
Commit: 0873b4ca295234d697172e32fa4e597ebbb63ee0
https://github.com/llvm/llvm-project/commit/0873b4ca295234d697172e32fa4e597ebbb63ee0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization-profitability.ll
Log Message:
-----------
[LoopVectorize] optimal-epilog-vectorization-profitability.ll - fix LABLE -> LABEL typo
Typo identified in #91854
Commit: 5d833c65da74d83a9b5df19da52d67ea1c0ecc10
https://github.com/llvm/llvm-project/commit/5d833c65da74d83a9b5df19da52d67ea1c0ecc10
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
Log Message:
-----------
[clang][Interp][NFC] Remove unneeded CheckRange call
This doesn't do anything with the current tests and is unnecessary in
general.
Commit: 11b97da83141db857361ec9535dcd637ffcd0439
https://github.com/llvm/llvm-project/commit/11b97da83141db857361ec9535dcd637ffcd0439
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
A clang/lib/StaticAnalyzer/Checkers/SetgidSetuidOrderChecker.cpp
A clang/test/Analysis/setgid-setuid-order-notes.c
A clang/test/Analysis/setgid-setuid-order.c
Log Message:
-----------
[clang][analyzer] Add checker 'security.SetgidSetuidOrder' (#91445)
Commit: 5cb2ea5704c733102ae93a50b10b80c1ae06112e
https://github.com/llvm/llvm-project/commit/5cb2ea5704c733102ae93a50b10b80c1ae06112e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
Log Message:
-----------
[clang][Interp][NFC] Remove VarDecl requirement in diagnoseUnknownDecl()
We can call diagnoseNonConstVariable() for all ValueDecls just fine.
Commit: e5936b245e9af0cea69a7e4eae22a05b7ffcf5a3
https://github.com/llvm/llvm-project/commit/e5936b245e9af0cea69a7e4eae22a05b7ffcf5a3
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Fix toAPValue() for array root pointers
isArrayElement() returns false for them, so we used to add the decl
to the path, causing wrong APValues to be generated.
Commit: 9807f25baa98be3bcce579302b2348b8abaf5cbd
https://github.com/llvm/llvm-project/commit/9807f25baa98be3bcce579302b2348b8abaf5cbd
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/Passes.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
Log Message:
-----------
[flang][HLFIR] Adapt OptimizedBufferization to run on all top level ops (#92898)
This means that this pass will also run on hlfir elemental operations
which are not inside of functions.
See RFC:
https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations
Some of the changes are from moving the declaration and definition of
the constructor into tablegen (as requested during code review of
another pass).
Commit: 3c5738f3ec185fbf56da2c18929f5b33126cd98b
https://github.com/llvm/llvm-project/commit/3c5738f3ec185fbf56da2c18929f5b33126cd98b
Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/LoopInfo.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
R llvm/test/Transforms/IndVarSimplify/pr51735-1.ll
R llvm/test/Transforms/IndVarSimplify/pr51735-2.ll
R llvm/test/Transforms/IndVarSimplify/pr51735-3.ll
R llvm/test/Transforms/IndVarSimplify/pr51735.ll
Log Message:
-----------
Revert "[indvars] Missing variables at Og (#88270)" (#93016)
This reverts commit 89e1f7784be40bea96d5e65919ce8d34151c1d69.
https://github.com/llvm/llvm-project/pull/88270#discussion_r1609559724
https://github.com/llvm/llvm-project/pull/88270#discussion_r1609552972
Main concerns from @nikic are the interaction between the
'IndVars' and 'LoopDeletion' passes, increasing build times
and adding extra complexity.
Commit: 5bd210ace6c165d5093220811ba8d5fc300ac1f9
https://github.com/llvm/llvm-project/commit/5bd210ace6c165d5093220811ba8d5fc300ac1f9
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
M llvm/test/Analysis/LoopAccessAnalysis/forward-loop-independent.ll
M llvm/test/Analysis/LoopAccessAnalysis/pr64637.ll
M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
Log Message:
-----------
[NFC][LLVM] Autogenerate check lines for some Analysis/LoopAccessAnalysis tests.
Commit: 9051fc706fd5f4517fa880e6cb7a1ba9e4c0483d
https://github.com/llvm/llvm-project/commit/9051fc706fd5f4517fa880e6cb7a1ba9e4c0483d
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
A llvm/test/MC/AArch64/SVE/condition-codes.s
R llvm/test/MC/AArch64/SVE/condtion-codes.s
M llvm/test/MC/AArch64/SVE/sqdecd-diagnostics.s
M llvm/test/MC/AArch64/SVE/sqincp-diagnostics.s
Log Message:
-----------
[NFC][LLVM] Fix typos in llvm/test/MC/AArch64/SVE
Commit: 25c021a8638d203022128edb1be9000134bfe24f
https://github.com/llvm/llvm-project/commit/25c021a8638d203022128edb1be9000134bfe24f
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/test/Transforms/Util/add-TLI-mappings.ll
Log Message:
-----------
[NFC] Fix typo in llvm/test/Transforms/Util/add-TLI-mappings.ll
Commit: c912f0e773386cc309155b78e2441ee5f1052c13
https://github.com/llvm/llvm-project/commit/c912f0e773386cc309155b78e2441ee5f1052c13
Author: pranavm-nvidia <49246958+pranavm-nvidia at users.noreply.github.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/test/python/ir/array_attributes.py
Log Message:
-----------
[mlir][python] Add bindings for mlirDenseElementsAttrGet (#91389)
This change adds bindings for `mlirDenseElementsAttrGet` which accepts a
list of MLIR attributes and constructs a DenseElementsAttr. This allows
for creating `DenseElementsAttr`s of types not natively supported by
Python (e.g. BF16) without requiring other dependencies (e.g. `numpy` +
`ml-dtypes`).
Commit: 9604e5ce8b5607cd88ba130314fc7ae8545542e1
https://github.com/llvm/llvm-project/commit/9604e5ce8b5607cd88ba130314fc7ae8545542e1
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/Pointer.h
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Allow stepping back from a one-past-the-end pointer
... back into range of the array.
Commit: 8619054fb76ad0ceb9c3b1c90e643bd469daecf8
https://github.com/llvm/llvm-project/commit/8619054fb76ad0ceb9c3b1c90e643bd469daecf8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port 11b97da83141
Commit: bbc4c2e047107c62d49ce1e0474635ea55a2b006
https://github.com/llvm/llvm-project/commit/bbc4c2e047107c62d49ce1e0474635ea55a2b006
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-vhadd.ll
Log Message:
-----------
[DAG] SimplifyDemandedBits - ensure we have simplified the shift operands before folding to AVG
Pulled out of #92096 - ensure we have completed a topological simplification of the SRA/SRL shift operands before we try to combine to a AVG node, as its difficult to later simplify through AVG nodes.
Commit: f68548135b8f9a02beac842646ab89bcaad9d400
https://github.com/llvm/llvm-project/commit/f68548135b8f9a02beac842646ab89bcaad9d400
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/lib/AST/Interp/EvaluationResult.cpp
A clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Fix checking unions for initialization
Commit: ba0e871db81d8527382a051a0abf1ce2a171d8bf
https://github.com/llvm/llvm-project/commit/ba0e871db81d8527382a051a0abf1ce2a171d8bf
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/sext-unsigned-predicates.ll
M llvm/test/Transforms/ConstraintElimination/transfer-signed-facts-to-unsigned.ll
Log Message:
-----------
[ConstraintElim] Look through SExt with precond Op sge 0.
Look through SExt with a precondition that the operand is signed
positive.
https://alive2.llvm.org/ce/z/zvVVHj
Commit: cf128305bdada3ffb34054813a855d80b3948025
https://github.com/llvm/llvm-project/commit/cf128305bdada3ffb34054813a855d80b3948025
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/bitfield-insert.ll
M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
A llvm/test/CodeGen/X86/pr92720.ll
Log Message:
-----------
[SDAG] Don't treat ISD::SHL as a uniform binary operator in `ShrinkDemandedOp` (#92753)
In `TargetLowering::ShrinkDemandedOp`, types of lhs and rhs may differ
before legalization.
In the original case, `VT` is `i64` and `SmallVT` is `i32`, but the type
of rhs is `i8`. Then invalid truncate nodes will be created.
See the description of ISD::SHL for further information:
> After legalization, the type of the shift amount is known to be
TLI.getShiftAmountTy(). Before legalization, the shift amount can be any
type, but care must be taken to ensure it is large enough.
https://github.com/llvm/llvm-project/blob/605ae4e93be8976095c7eedf5c08bfdb9ff71257/llvm/include/llvm/CodeGen/ISDOpcodes.h#L691-L712
This patch stops handling ISD::SHL in `TargetLowering::ShrinkDemandedOp`
and duplicates the logic in `TargetLowering::SimplifyDemandedBits`.
Additionally, it adds some additional checks like
`isNarrowingProfitable` and `isTypeDesirableForOp` to improve the
codegen on AArch64.
Fixes https://github.com/llvm/llvm-project/issues/92720.
Commit: 2aa218c247eef03f4ea922d635b7a9f46d061119
https://github.com/llvm/llvm-project/commit/2aa218c247eef03f4ea922d635b7a9f46d061119
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/test/Lower/OpenMP/invalid-reduction-modifier.f90
A flang/test/Semantics/OpenMP/reduction-modifiers.f90
Log Message:
-----------
[flang][OpenMP] Diagnose invalid reduction modifiers (#92406)
Emit diagnostic messages for invalid modifiers in "reduction" clause.
Fixes https://github.com/llvm/llvm-project/issues/92397
Commit: 71b1fbdff6cf567ad278c51f0acdcdf23de0ac28
https://github.com/llvm/llvm-project/commit/71b1fbdff6cf567ad278c51f0acdcdf23de0ac28
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
Log Message:
-----------
[MISched][NFC] Add documentation comment in pickNode for ReadyQueue maintenence (#92976)
I had some trouble understanding why `removeReady` removed nodes from
the Pending queue, since my intuition told me that the Pending queue did
not represent a node that was ready. I took a deeper look and found that
pickOnlyNode and pickNodeFromQueue only picked nodes from the Available
queue too.
I found that need to nodes from the Available and Pending queues that
correspond to the opposite direction that we ended up choosing from
(IsTopNode vs !IsTopNode).
It took me a little longer than I would have liked to understand this
fact, so I figured that I would add a comment in the code that makes it
clear for future readers.
Commit: 9120562dfcc09cb4caf3052c6744049b4d9c8481
https://github.com/llvm/llvm-project/commit/9120562dfcc09cb4caf3052c6744049b4d9c8481
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/tile_codegen.cpp
M clang/test/OpenMP/tile_codegen_for_dependent.cpp
M clang/test/OpenMP/tile_codegen_tile_for.cpp
M openmp/runtime/test/lit.cfg
A openmp/runtime/test/transform/tile/foreach.cpp
A openmp/runtime/test/transform/tile/iterfor.cpp
A openmp/runtime/test/transform/tile/parallel-wsloop-collapse-foreach.cpp
A openmp/runtime/test/transform/unroll/factor_foreach.cpp
A openmp/runtime/test/transform/unroll/factor_intfor.c
A openmp/runtime/test/transform/unroll/factor_iterfor.cpp
A openmp/runtime/test/transform/unroll/factor_parallel-wsloop-collapse-foreach.cpp
A openmp/runtime/test/transform/unroll/factor_parallel-wsloop-collapse-intfor.cpp
A openmp/runtime/test/transform/unroll/full_intfor.c
A openmp/runtime/test/transform/unroll/heuristic_intfor.c
A openmp/runtime/test/transform/unroll/partial_intfor.c
Log Message:
-----------
[Clang][OpenMP] Enable tile/unroll on iterator- and foreach-loops (#91459)
OpenMP loop transformation did not work on a for-loop using an iterator
or range-based for-loops. The first reason is that it combined the
iterator's type for generated loops with the type of `NumIterations` as
generated for any `OMPLoopBasedDirective` which is an integer. Fixed by
basing all generated loop variables on `NumIterations`.
Second, C++11 range-based for-loops include syntactic sugar that needs
to be executed before the loop. This additional code is now added to the
construct's Pre-Init lists.
Third, C++20 added an initializer statement to range-based for-loops
which is also added to the pre-init statement. PreInits used to be a
`DeclStmt` which made it difficult to add arbitrary statements from
`CXXRangeForStmt`'s syntactic sugar, especially the for-loops init
statement which does not need to be a declaration. Change it to be a
general `Stmt` that can be a `CompoundStmt` to hold arbitrary Stmts,
including DeclStmts. This also avoids the `PointerUnion` workaround used
by `checkTransformableLoopNest`.
End-to-end tests are added to verify the expected number and order of
loop execution and evaluations of expressions (such as iterator
dereference). The order and number of evaluations of expressions in
canonical loops is explicitly undefined by OpenMP but checked here for
clarification and for changes to be noticed.
Commit: 0748a98ab009d4fd97438970e7d92660967a0652
https://github.com/llvm/llvm-project/commit/0748a98ab009d4fd97438970e7d92660967a0652
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/load-cmp.ll
Log Message:
-----------
[InstCombine] Handle ConstantFoldCompareInstOperands() failure
This function will return nullptr instead of returning a constant
expression now, so be sure to handle that.
Fixes https://github.com/llvm/llvm-project/issues/93017.
Commit: cdcd65350bdeafccda33a5d4185c04f4bbe59495
https://github.com/llvm/llvm-project/commit/cdcd65350bdeafccda33a5d4185c04f4bbe59495
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineBitcast - merge isa<>/cast<> into single dyn_cast<> call. NFC.
Commit: a699ccbf0c2d4bc5c912e096a8834cf4e04ce98b
https://github.com/llvm/llvm-project/commit/a699ccbf0c2d4bc5c912e096a8834cf4e04ce98b
Author: Janek van Oirschot <janek.vanoirschot at amd.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.h
M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
A llvm/test/CodeGen/AMDGPU/kernel_code_t_recurse.ll
A llvm/test/MC/AMDGPU/amd_kernel_code_t.s
Log Message:
-----------
MCExpr-ify amd_kernel_code_t (#91587)
Redefines the amd_kernel_code_t struct with MCExprs for members that would be
derived from SIProgramInfo MCExpr members.
Commit: 527276832f7e8f109dbab8eb3b01631f68cfe50e
https://github.com/llvm/llvm-project/commit/527276832f7e8f109dbab8eb3b01631f68cfe50e
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
Log Message:
-----------
[clang-tidy][NFCI] Simplify bugprone-sizeof-expression (#93024)
This commit eliminates a redundant matcher subexpression from the
implementation of the "sizeof-pointer-to-aggregate" part of the
clang-tidy check `bugprone-sizeof-expression`.
I'm fairly certain that anything that was previously matched by the
deleted matcher `StructAddrOfExpr` is also covered by the more general
`PointerToStructExpr` (which remains in the same `anyOf`).
This commit is made to "prepare the ground" for a followup change that
would merge the functionality of the Clang Static Analyzer checker
`alpha.core.SizeofPtr` into this clang-tidy check.
Commit: b99b6b78f0c611fa1241dfcc7cdd8970f8b6369c
https://github.com/llvm/llvm-project/commit/b99b6b78f0c611fa1241dfcc7cdd8970f8b6369c
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M flang/test/Driver/fopenmp.f90
Log Message:
-----------
[flang][Driver][test] add missing run lines to fopenmp test (#92784)
I believe these were forgotten when copying the clang in #86816.
This was flagged because the CHECK lines for CHECK-LD-ANY* had no
associated RUN line. See
https://github.com/llvm/llvm-project/pull/92387#issuecomment-2119170354
Commit: f78febf7a87832fb2078961a6d8881b527c917bb
https://github.com/llvm/llvm-project/commit/f78febf7a87832fb2078961a6d8881b527c917bb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AArch64/hadd-combine.ll
Log Message:
-----------
[DAG] ComputeNumSignBits - add AVGCEILS/AVGFLOORS handling (#93021)
Pulled from #92096
Commit: e3bd627f53b6c7e1c16368803c3f119910cc5c84
https://github.com/llvm/llvm-project/commit/e3bd627f53b6c7e1c16368803c3f119910cc5c84
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/lib/AST/Interp/Pointer.cpp
Log Message:
-----------
[clang][Interp][NFC] Retrieve active union field in Pointer::toRValue()
Commit: 7d9634e527fe52bf20a9036be6e5771f8fc4de17
https://github.com/llvm/llvm-project/commit/7d9634e527fe52bf20a9036be6e5771f8fc4de17
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
Log Message:
-----------
[clang][Interp][NFC] Propagate IsActive state in unions properly
This resolves an older FIXME comment.
Commit: 267de8543c8671baa7e12c4d181e6c4e6e2342cd
https://github.com/llvm/llvm-project/commit/267de8543c8671baa7e12c4d181e6c4e6e2342cd
Author: Rin Dobrescu <irina.dobrescu at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
A llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-clear-upper-regs.s
A llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-clear-upper-regs.s
Log Message:
-----------
[llvm-mca][AArch64] Add AArch64 version of clearsSuperRegisters. (#92548)
This patch overrides the clearsSuperRegisters method defined in
MCInstrAnalysis to identify register writes that clear the upper portion
of all super-registers on AArch64 architecture.
On AArch64, a write to a general-purpose register of 32-bit data size is
defined to use the lower 32-bits of the register and zero extend the
upper 32-bits.
Similarly, SIMD and FP instructions operating on scalar data only access
the lower bits of the SIMD&FP register. The unused upper bits are
cleared to zero on a write.
This also applies to SIMD vector registers when the element size in bits
multiplied by the number of lanes is lower than 128. The upper 64 bits
of the vector register are cleared to zero on a write.
Commit: 7630379156ec08c9d7b1ea3c03c09e7dc89ef4ee
https://github.com/llvm/llvm-project/commit/7630379156ec08c9d7b1ea3c03c09e7dc89ef4ee
Author: Corentin Ferry <corentin.ferry at amd.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
Log Message:
-----------
[mlir][emitc] Add EmitC lowering for arith.trunci, arith.extsi, arith.extui
This commit adds conversion to EmitC for arith dialect casts between integer types (trunc, extsi, extui), excluding indexes for now.
Commit: 183beb33d7f8847c04870e425d75f27db1cf5847
https://github.com/llvm/llvm-project/commit/183beb33d7f8847c04870e425d75f27db1cf5847
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
A llvm/test/tools/llvm-objcopy/tool-options.test
M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
Log Message:
-----------
[llvm-objcopy] Check for missing argument values (#70710)
Report an error if a required value for a command line argument is
missing.
Commit: 831d1435193e73026e03e006a5b86591f3d202b3
https://github.com/llvm/llvm-project/commit/831d1435193e73026e03e006a5b86591f3d202b3
Author: Ye Luo <yeluo at anl.gov>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
Log Message:
-----------
[Offload] libomptarget force dlopen vendor libraries by default. (#92788)
Since #87009, libomptarget directly links all the plugins statically.
All the dependencies of plugins got exposed to libomptarget. The CUDA
plugin depends on libcuda and the amdgpu plugin depends on libhsa if not
forced using dlopen. On a cluster with different compute node
architectures, libomptarget can be built and run on different nodes. In
the build stage, if cmake founds libcuda and
`LIBOMPTARGET_FORCE_DLOPEN_LIBCUDA=OFF`, libomptarget links libcuda.so
directly and the result libomptarget may not run a node without a NVIDIA
driver for example a CPU or AMD GPU only machine with a complaint that
libcuda.so not found.
The solution is setting `LIBOMPTARGET_FORCE_DLOPEN_LIBCUDA` and
`LIBOMPTARGET_FORCE_DLOPEN_LIBHSA` `ON`. Preferably this should be
default to maximize the usability of libomptarget. If cmake detects
NVIDIA or AMD software on an OS imaging building node, the resulted
libomptarget may not be able to function on the user side due to the
requirement the existence of vendor runtime libraries.
Commit: c8dc6b59d68635f73d2970b7fc8bc9c6c2684098
https://github.com/llvm/llvm-project/commit/c8dc6b59d68635f73d2970b7fc8bc9c6c2684098
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/RISCV/mul.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
M llvm/test/CodeGen/RISCV/rv64zba.ll
M llvm/test/CodeGen/RISCV/sextw-removal.ll
M llvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll
M llvm/test/CodeGen/X86/combine-srem.ll
M llvm/test/CodeGen/X86/pmul.ll
M llvm/test/CodeGen/X86/shrink_vmul.ll
Log Message:
-----------
[SDAG] Improve `SimplifyDemandedBits` for mul (#90034)
If the RHS is a constant with X trailing zeros, then the X MSBs of the
LHS are not demanded.
Alive2: https://alive2.llvm.org/ce/z/F5CyJW
Fixes https://github.com/llvm/llvm-project/issues/56645.
Commit: 1d4772f24d19b36ed07b2434e9e6382e18ffbe08
https://github.com/llvm/llvm-project/commit/1d4772f24d19b36ed07b2434e9e6382e18ffbe08
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
Log Message:
-----------
[bazel] add bolt address translation header to Passes (#93014)
to avoid circular dependency introduced in
a9b67490b2baaa311100a64191792186ea5f2c1e
Commit: 9276a03b5492d0ac62c48c4313139dbf32d7b9e1
https://github.com/llvm/llvm-project/commit/9276a03b5492d0ac62c48c4313139dbf32d7b9e1
Author: YunQiang Su <syq at debian.org>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/lib/Basic/Targets/Mips.cpp
Log Message:
-----------
MIPS/Clang: Add more false option pairs into validateTarget (#91968)
The option pairs include:
-mfpxx -mips1
-msoft-float -mmsa
-mmsa -mabi=32 with 32bit pre-R2 CPUs
-mfpxx -mmsa
-mfp32 -mmsa
Commit: 9e0be65f24bca1bd95c25d3191c75461a080af49
https://github.com/llvm/llvm-project/commit/9e0be65f24bca1bd95c25d3191c75461a080af49
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap-gfx11.mir
M llvm/test/CodeGen/AMDGPU/trap-abis.ll
Log Message:
-----------
[AMDGPU] Fix broken MIR generated by gfx11 simulated trap lowering (#91652)
This was breaking the CFG connection between uses of virtual registers
after the trap and their definitions before it. Fixes SWDEV-460384.
Fixes a bug in #85854.
Commit: a70ecfb267e1fe7d72c94a3cf1675b1f8df99860
https://github.com/llvm/llvm-project/commit/a70ecfb267e1fe7d72c94a3cf1675b1f8df99860
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] fix build for b00e0c167186d69e1e6bceda57c09b272bd6acfc
Commit: d41dde70c44a10f9761242df73fdd288c4660c8d
https://github.com/llvm/llvm-project/commit/d41dde70c44a10f9761242df73fdd288c4660c8d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/CodeGen/LiveRangeEdit.cpp
Log Message:
-----------
LiveRangeEdit: Replace setIsDead with an assert (#92964)
I noticed this was possibly buggy with implicit operands with the same
dest register, and should maybe be using addRegisterDead. However, this
is never called in a situation where the operand wasn't already marked
dead. This is eliminateDeadDef, implying the def was already known to be
dead.
Add an assert to detect inconsistencies in dead flags. This was
apparently added in 9a16d655c71826bef98b7d6e9590e4494ac0e1a9.
Commit: bd46067abf6a3ed712f24670cf7c4b1e574a9739
https://github.com/llvm/llvm-project/commit/bd46067abf6a3ed712f24670cf7c4b1e574a9739
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] fix build for 7630379156ec08c9d7b1ea3c03c09e7dc89ef4ee
Commit: 154d93b7f258cdf1157b5e5d61dd9477ffd3db53
https://github.com/llvm/llvm-project/commit/154d93b7f258cdf1157b5e5d61dd9477ffd3db53
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/dpp_combine.ll
Log Message:
-----------
[AMDGPU] Add a negative test for DPP combine into v_mul_lo_u32
Commit: 30d484fa994577216736e797b6c6e74483a56641
https://github.com/llvm/llvm-project/commit/30d484fa994577216736e797b6c6e74483a56641
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/RISCV/scatter-vectorize-reversed.ll
Log Message:
-----------
[SLP]Fix a crash when trying to convert masked gather nodes to strided.
Need to check if the loads node is masked gather. Only vectorized loads
can be converted to strided.
Commit: 2bde13cda1e389599413132028731f18fb5c03c3
https://github.com/llvm/llvm-project/commit/2bde13cda1e389599413132028731f18fb5c03c3
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang-tools-extra/clangd/Hover.cpp
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/ODRDiagsEmitter.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang] NFCI: use TemplateArgumentLoc for NTTP DefaultArgument (#92852)
This is an enabler for https://github.com/llvm/llvm-project/pull/92855
This allows an NTTP default argument to be set as an arbitrary
TemplateArgument, not just an expression.
This allows template parameter packs to have default arguments in the
AST, even though the language proper doesn't support the syntax for it.
This allows NTTP default arguments to be other kinds of arguments, like
packs, integral constants, and such.
Commit: cb6a62369a353f506a1dde087eeaf5ebea5d5c26
https://github.com/llvm/llvm-project/commit/cb6a62369a353f506a1dde087eeaf5ebea5d5c26
Author: Thomas Symalla <5754458+tsymalla at users.noreply.github.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/IRBuilder.cpp
Log Message:
-----------
Add `AddNull` argument to `CreateGlobalString`. (#93036)
There's currently no way to control whether a null terminator should be
appended to the string created in `CreateGlobalString` /
`CreateGlobalStringPtr`, since the methods don't expose an additional
argument.
This change adds an additional argument to the methods that has the same
default value, `true`, as in `ConstantDataArray::getString`, and passes
it down to this internal method.
Commit: 5b205956e16e09af117c45e2eab625fce7a05b95
https://github.com/llvm/llvm-project/commit/5b205956e16e09af117c45e2eab625fce7a05b95
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Reduce newTreeEntry usage. (#92994)
Commit: 3c67c227f2e16accd3cdb3aeb4c845edabd2f6c4
https://github.com/llvm/llvm-project/commit/3c67c227f2e16accd3cdb3aeb4c845edabd2f6c4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Test non-active union access
Commit: 821bcba00d5c22c4a829323f8920e0f2dfc1d665
https://github.com/llvm/llvm-project/commit/821bcba00d5c22c4a829323f8920e0f2dfc1d665
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv32.ll
A llvm/test/CodeGen/RISCV/GlobalISel/constbarrier-rv64.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-constbarrier-rv64.mir
Log Message:
-----------
[GISel] Add narrowScalar/widenScalar support for `G_CONSTANT_FOLD_BARRIER` (#93031)
Fixes an error that llc fails to legalize `G_CONSTANT_FOLD_BARRIER` with
i16/i128: https://godbolt.org/z/f9n6xM3sv
Commit: c0de13b05f9905dbbc582d234214081dd410db1d
https://github.com/llvm/llvm-project/commit/c0de13b05f9905dbbc582d234214081dd410db1d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-lshr-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/shift.ll
Log Message:
-----------
[GISel][RISCV] Legalize shifts with non-trivial shamt types (#93019)
This patch widens the illegal shamt type `i48` -> `i64` to fix
legalization failure: https://godbolt.org/z/4zMTnoW7h
Commit: 919df9d75ac2a721a8072327c803f34486884571
https://github.com/llvm/llvm-project/commit/919df9d75ac2a721a8072327c803f34486884571
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Decl.h
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/unittests/AST/DeclTest.cpp
Log Message:
-----------
[clang][AST] Fix end location of DeclarationNameInfo on instantiated methods (#92654)
Fixes #71161
[D64087](https://reviews.llvm.org/D64087) updated some locations of the
instantiated method but forgot `DNLoc`.
`FunctionDecl::getNameInfo()` constructs a `DeclarationNameInfo` using
`Decl::Loc` as the beginning of the declaration name, and
`FunctionDecl::DNLoc` to compute the end of the declaration name. The
former was updated, but the latter was not, so
`DeclarationName::getSourceRange()` would return a range where the end
of the declaration name could come before its beginning.
Patch by Alejandro Alvarez Ayllon
Co-authored-by: steakhal
CPP-5166
Co-authored-by: Alejandro Alvarez Ayllon <alejandro.alvarez at sonarsource.com>
Commit: eeb9fcddf5f29ce967442437f15dea174bb04345
https://github.com/llvm/llvm-project/commit/eeb9fcddf5f29ce967442437f15dea174bb04345
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/Passes.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
Log Message:
-----------
[flang][HLFIR][NFC] Use tablegen to reduce assignment pass boilerplate (#93030)
This pass is module-level and then runs on all operations implementing
the ordered assignment interface. It should not matter which top-level
operation the assignment is inside of.
This commit removes some unnecessary boilerplate that we can generate
automatically with tablegen.
Commit: 101f977f2c218f4a27f3a04b3b324b61c80570d6
https://github.com/llvm/llvm-project/commit/101f977f2c218f4a27f3a04b3b324b61c80570d6
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
Log Message:
-----------
[flang][CodeGen] Avoid out-of-bounds memory access in SelectCaseOp (#92955)
`SelectCaseOp::getCompareOperands` may return an empty range for the
"default" case. Do not dereference the range until it is expected to be
non-empty.
This was detected by address-sanitizer.
Commit: ac1dc05b331d35f341631f798673fe8aafdda53d
https://github.com/llvm/llvm-project/commit/ac1dc05b331d35f341631f798673fe8aafdda53d
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/source/Core/ValueObject.cpp
M lldb/source/Core/ValueObjectConstResultImpl.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/CompilerType.cpp
Log Message:
-----------
Change GetChildCompilerTypeAtIndex to return Expected (NFC) (#92979)
This change is a general improvement of the internal API. My motivation
is to use this in the Swift typesystem plugin.
Commit: 4fbc95d1360147e9c4aceeadd1bda17d68364b85
https://github.com/llvm/llvm-project/commit/4fbc95d1360147e9c4aceeadd1bda17d68364b85
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/EvaluationResult.cpp
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Skip union members in default initializers
Commit: c44fa3e8a9a44c2e9a575768a3c185354b9f6c17
https://github.com/llvm/llvm-project/commit/c44fa3e8a9a44c2e9a575768a3c185354b9f6c17
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
R clang/test/CodeGen/assume_attr.c
M clang/test/CodeGenCXX/assume_attr.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/remarks_parallel_in_multiple_target_state_machines.c
M clang/test/OpenMP/remarks_parallel_in_target_state_machine.c
R clang/test/Sema/attr-assume.c
M clang/test/SemaCXX/cxx23-assume.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/test/Transforms/OpenMP/custom_state_machines.ll
M llvm/test/Transforms/OpenMP/custom_state_machines_pre_lto.ll
M llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll
M llvm/test/Transforms/OpenMP/spmdization.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding.ll
M llvm/test/Transforms/OpenMP/spmdization_remarks.ll
M openmp/docs/remarks/OMP121.rst
M openmp/docs/remarks/OMP133.rst
M openmp/docs/remarks/OptimizationRemarks.rst
Log Message:
-----------
[Clang] Refactor `__attribute__((assume))` (#84934)
This is a followup to #81014 and #84582: Before this patch, Clang
would accept `__attribute__((assume))` and `[[clang::assume]]` as
nonstandard spellings for the `[[omp::assume]]` attribute; this
resulted in a potentially very confusing name clash with C++23’s
`[[assume]]` attribute (and GCC’s `assume` attribute with the same
semantics).
This pr replaces every usage of `__attribute__((assume))` with
`[[omp::assume]]` and makes `__attribute__((assume))` and
`[[clang::assume]]` alternative spellings for C++23’s `[[assume]]`;
this shouldn’t cause any problems due to differences in appertainment
and because almost no-one was using this variant spelling to begin
with (a use in libclc has already been changed to use a different
attribute).
Commit: dbfedc6b270256d62439271274ed2314fed9ca9c
https://github.com/llvm/llvm-project/commit/dbfedc6b270256d62439271274ed2314fed9ca9c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
Log Message:
-----------
[Offload] Use newer CUDA API functions when dynamically loaded (#93057)
Summary:
CUDA does its versioning by putting a redirection in the header so the
API functions remain the same while the symbol changes. These weren't
being used for some functions that required it in the dynamic cuda
version.
These functions have newer verisons that should be used. These are
fairly old as far as I'm aware so we should be able to sweep backward
compatibility under the rug.
Commit: b586149475d71440e4ef444f5df34630101bc669
https://github.com/llvm/llvm-project/commit/b586149475d71440e4ef444f5df34630101bc669
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/lib/Dialect/Tensor/Transforms/EmptyOpPatterns.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
Log Message:
-----------
[mlir][tensor] Fold pack and unpack of empty input tensor (#92247)
Extends `tensor.empty` folding patterns with pack and unpack consumers
to fold away the operations when their source is empty.
Commit: 7c5c8b2f479fbed6afcd4072bdef76ea867577de
https://github.com/llvm/llvm-project/commit/7c5c8b2f479fbed6afcd4072bdef76ea867577de
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
Log Message:
-----------
[BOLT][NFC] Move BAT::fetchParentAddress to header (#93061)
Unbreak shared build after
https://github.com/llvm/llvm-project/pull/91683
Commit: c8fc234ee28d0e2a10bd88bae391cb3e32e2ee77
https://github.com/llvm/llvm-project/commit/c8fc234ee28d0e2a10bd88bae391cb3e32e2ee77
Author: shaw young <58664393+shawbyoung at users.noreply.github.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/DynoStats.cpp
M bolt/lib/Passes/BinaryFunctionCallGraph.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/CacheMetrics.cpp
M bolt/lib/Passes/Inliner.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
Log Message:
-----------
[BOLT][NFC] Eliminate uses of throwing std::map::at (#92950)
Remove calls to std::unordered_map::at, std::map::at, and
std::vector::at.
Commit: 37e4945a8ac26fbeccb1626dbc4a1ffa7b5825d6
https://github.com/llvm/llvm-project/commit/37e4945a8ac26fbeccb1626dbc4a1ffa7b5825d6
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M bolt/include/bolt/Passes/MCF.h
M bolt/lib/Passes/MCF.cpp
Log Message:
-----------
[BOLT][NFC] Clean up MCF (#93065)
Drop unimplemented solveMCF and remnants of it.
Commit: 4ea21a0261cd8599a9ffa15f5c554ab0d4bbbe27
https://github.com/llvm/llvm-project/commit/4ea21a0261cd8599a9ffa15f5c554ab0d4bbbe27
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[Clang] [NFC] Add release note about libstdc++ bug (#93059)
Adding a release note about this as discussed in #92439.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: e8dd4df72bb5f63a235359d46d7825fe46761ed2
https://github.com/llvm/llvm-project/commit/e8dd4df72bb5f63a235359d46d7825fe46761ed2
Author: Tyler Lanphear <tylanphear at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
Log Message:
-----------
[NFC][TTI] Mark `getReplicationShuffleCost()` as `const` (#92194)
Commit: 271eb0686b7b0f9d2e016751399b948ccbbe7925
https://github.com/llvm/llvm-project/commit/271eb0686b7b0f9d2e016751399b948ccbbe7925
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__locale
M libcxxabi/include/cxxabi.h
M libcxxabi/src/cxa_exception.cpp
M libcxxabi/src/cxa_exception.h
Log Message:
-----------
[WebAssembly] Upstream misc. EH changes (#92990)
This upstreams more recent, mostly EH changes from libcxx and libcxxabi:
- `__cxa_init_primary_exception`-related changes made when updating to
LLVM 18.1.2 (https://github.com/emscripten-core/emscripten/pull/21638)
- Removes ctype macros
(https://github.com/emscripten-core/emscripten/pull/20960)
- Guard destructor changes with `__wasm__`
(https://github.com/emscripten-core/emscripten/pull/21974)
Commit: 6262763341fcd71a2b0708cf7485f9abd1d26ba8
https://github.com/llvm/llvm-project/commit/6262763341fcd71a2b0708cf7485f9abd1d26ba8
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/include/llvm/Bitcode/BitcodeWriter.h
M llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/import_callee_declaration.ll
M llvm/tools/llvm-lto/llvm-lto.cpp
Log Message:
-----------
[ThinLTO][Bitcode] Generate import type in bitcode (#87600)
For distributed ThinLTO, the LTO indexing step generates combined
summary for each module, and postlink pipeline reads the combined
summary which stores the information for link-time optimization.
This patch populates the 'import type' of a summary in bitcode, and
updates bitcode reader to parse the bit correctly.
Commit: 135ddd80bedc747405bd8d93be1dd1da1bee4bcc
https://github.com/llvm/llvm-project/commit/135ddd80bedc747405bd8d93be1dd1da1bee4bcc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupBWInsts.cpp
M llvm/test/CodeGen/X86/opt-pipeline.ll
Log Message:
-----------
[X86] Remove unused MachineLoopInfo from X86FixupBWInsts. NFC (#92984)
Commit: 9f0e59f3c1a56fd14025df973c9f944010efe09a
https://github.com/llvm/llvm-project/commit/9f0e59f3c1a56fd14025df973c9f944010efe09a
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M flang/test/Semantics/OpenMP/single01.f90
M flang/test/Semantics/OpenMP/single02.f90
M flang/test/Semantics/OpenMP/symbol01.f90
M flang/test/Semantics/OpenMP/symbol02.f90
M flang/test/Semantics/OpenMP/symbol03.f90
M flang/test/Semantics/OpenMP/symbol04.f90
M flang/test/Semantics/OpenMP/symbol05.f90
M flang/test/Semantics/OpenMP/symbol06.f90
M flang/test/Semantics/OpenMP/symbol07.f90
M flang/test/Semantics/OpenMP/symbol08.f90
M flang/test/Semantics/OpenMP/symbol09.f90
M flang/test/Semantics/OpenMP/threadprivate01.f90
M flang/test/Semantics/OpenMP/threadprivate02.f90
M flang/test/Semantics/OpenMP/threadprivate03.f90
M flang/test/Semantics/OpenMP/threadprivate04.f90
M flang/test/Semantics/OpenMP/threadprivate05.f90
M flang/test/Semantics/OpenMP/threadprivate06.f90
M flang/test/Semantics/OpenMP/threadprivate07.f90
Log Message:
-----------
[Flang][OpenMP] Re-enable tests on windows 2/n (#93013)
Re-enables the single, symbol and threadprivate tests
Commit: 8df5a37b848c6ac5a68b56eeddb4a7746b84d288
https://github.com/llvm/llvm-project/commit/8df5a37b848c6ac5a68b56eeddb4a7746b84d288
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
Log Message:
-----------
[lldb] Fix a warning
This patch fixes:
lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp:839:7: error:
ignoring return value of function declared with 'nodiscard'
attribute [-Werror,-Wunused-result]
Commit: f203cb03d93240cfd79e603b742006f96227a00b
https://github.com/llvm/llvm-project/commit/f203cb03d93240cfd79e603b742006f96227a00b
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/test/CXX/expr/expr.unary/expr.sizeof/p5-0x.cpp
Log Message:
-----------
Fix a benign typo in a test; NFC
We were still matching the expected diagnostic, but this ensures we
match the opening quotation mark as well.
Commit: f2bbb4cb3e211de82987b280aa98565bd3ff6ce7
https://github.com/llvm/llvm-project/commit/f2bbb4cb3e211de82987b280aa98565bd3ff6ce7
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
Log Message:
-----------
[GISel][RISCV] Legalize `G_{U|S}DIVREM` (#93067)
This patch expands `G_{U|S}DIVREM` into `G_{U|S}DIV + G_{U|S}REM`.
`G_{U|S}DIVREM` is generated by the following fold:
https://github.com/llvm/llvm-project/blob/4ea21a0261cd8599a9ffa15f5c554ab0d4bbbe27/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp#L1410-L1471
It always folds `div + rem` pairs into `divrem` during pre-legalization.
I tried to change `isLegalOrBeforeLegalizer` to `isLegal`, but it
produced worse codegen on AArch64.
Commit: e558d21e87882d40e29d858b1269ee8f1ddf2a38
https://github.com/llvm/llvm-project/commit/e558d21e87882d40e29d858b1269ee8f1ddf2a38
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M lldb/include/lldb/Host/Config.h.cmake
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/API/SBDebugger.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
A lldb/test/API/debuginfod/Normal/Makefile
A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
A lldb/test/API/debuginfod/Normal/main.c
A lldb/test/API/debuginfod/SplitDWARF/Makefile
A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
A lldb/test/API/debuginfod/SplitDWARF/main.c
Log Message:
-----------
[lldb] Added Debuginfod tests and fixed a couple issues (#92572)
Here we go with attempt number five. Again, no changes to the LLDB code
diff, which has been reviewed several times.
For the tests, I added a `@skipIfCurlSupportMissing` annotation so that
the Debuginfod mocked server stuff won't run, and I also disabled
non-Linux/FreeBSD hosts altogether, as they fail for platform reasons on
macOS and Windows. In addition, I updated the process for extracting the
GNU BuildID to no create a target, per some feedback on the previous
diff.
For reference, previous PR's (landed, backed out after the fact for
various reasons) #90622, #87676, #86812, #85693
---------
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: dfc6a1936731b545ad0880a9c52bd043e4c4309d
https://github.com/llvm/llvm-project/commit/dfc6a1936731b545ad0880a9c52bd043e4c4309d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/OpenMP/distribute_firstprivate_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_private_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_messages.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_messages.cpp
M clang/test/OpenMP/distribute_simd_loop_messages.cpp
M clang/test/OpenMP/distribute_simd_private_messages.cpp
M clang/test/OpenMP/distribute_simd_reduction_messages.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/requires_default_atomic_mem_order_messages.cpp
M clang/test/OpenMP/requires_messages.cpp
M clang/test/OpenMP/target_device_ancestor_messages.cpp
M clang/test/OpenMP/target_firstprivate_messages.cpp
M clang/test/OpenMP/target_map_messages.cpp
M clang/test/OpenMP/target_parallel_for_private_messages.cpp
M clang/test/OpenMP/target_parallel_for_simd_private_messages.cpp
M clang/test/OpenMP/target_private_messages.cpp
M clang/test/OpenMP/target_simd_private_messages.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp
M clang/test/OpenMP/teams_distribute_loop_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
M clang/test/OpenMP/teams_distribute_simd_loop_messages.cpp
Log Message:
-----------
Reword OpenMP diagnostics for style; NFC
Three different OpenMP diagnostics were starting with a capital letter,
so this makes them all lowercase and updates the tests accordingly.
Commit: 50574638140dc5083d0f272c5279f2ee5d97a833
https://github.com/llvm/llvm-project/commit/50574638140dc5083d0f272c5279f2ee5d97a833
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
Log Message:
-----------
[BOLT][NFC] Make BAT methods const (#91823)
Commit: 562c479c6e953f547f95bf6adfb1b17d4c9976be
https://github.com/llvm/llvm-project/commit/562c479c6e953f547f95bf6adfb1b17d4c9976be
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/include/llvm/Object/ObjectFile.h
Log Message:
-----------
Set ObjectFile's assignment operator to also be deleted like its copy constructor (#93072)
Reapply https://github.com/llvm/llvm-project/pull/92942, this time
double checking it compiles. @vgvassilev, @compnerd.
Commit: 554c47c8e925c5a1d26bd8590695155086a15ab7
https://github.com/llvm/llvm-project/commit/554c47c8e925c5a1d26bd8590695155086a15ab7
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AMDGPU/crash_extract_subvector_cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
Log Message:
-----------
[SLP]Fix undef poison vector values shuffles with poisonous vectors.
If trying to find vector value in shuffling of the extractelements and
one of the vector values is undef value, need to generate real mask value
for such vector and either undef vector, or incoming second vector, if
non-poisonous.
Commit: cc3b6c3ba9c0dd7df0fd7ac23c8609c4675dd62a
https://github.com/llvm/llvm-project/commit/cc3b6c3ba9c0dd7df0fd7ac23c8609c4675dd62a
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/test/Sema/x86-eval-method.c
M clang/test/Sema/x86_64-eval-method.c
Log Message:
-----------
Fix more diagnostic wording for style; NFC
Commit: 96378b3da8c5980471af0046feb0427c77f16c60
https://github.com/llvm/llvm-project/commit/96378b3da8c5980471af0046feb0427c77f16c60
Author: shaw young <58664393+shawbyoung at users.noreply.github.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
Log Message:
-----------
[BOLT] Add NamedRegionTimer to inferStaleProfile (#93078)
Commit: c618ae17341315af5fcc97ffd3ed2b19f6d9e412
https://github.com/llvm/llvm-project/commit/c618ae17341315af5fcc97ffd3ed2b19f6d9e412
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/cmake/Modules/LibomptargetGetDependencies.cmake
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
M openmp/docs/SupportAndFAQ.rst
Log Message:
-----------
[Offload] Rework handling for loading vendor runtimes (#93073)
Summary:
We previously had multiple options for this, this patch replaces them
with `LIBOMPTARGET_DLOPEN_PLUGINS=` to be a list of plugins to
dynamically use. It defaults to everything right now. This ignores the
`host` plugin because the `libffi` dependency is going to be removed
soon hopefully in https://github.com/llvm/llvm-project/pull/91264.
Commit: 29456e9bcc478d458f40a93d309f992f0a314523
https://github.com/llvm/llvm-project/commit/29456e9bcc478d458f40a93d309f992f0a314523
Author: Zaara Syeda <syzaara at ca.ibm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
A llvm/test/CodeGen/PowerPC/toc-data-no-data-sections.ll
Log Message:
-----------
[PowerPC] Fix assembler error with toc-data and data-sections (#91976)
We should not emit the label for the toc-data variable when
data-sections=false.
Commit: 0370beb230a35f00b7d07c50ab95f8777662a0c6
https://github.com/llvm/llvm-project/commit/0370beb230a35f00b7d07c50ab95f8777662a0c6
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Perform derived-to-base conversion on explicit object parameter in lambda (#89828)
Consider this code:
```c++
template <typename... Ts>
struct Overloaded : Ts... { using Ts::operator()...; };
template <typename... Ts>
Overloaded(Ts...) -> Overloaded<Ts...>;
void f() {
int x;
Overloaded o {
[&](this auto& self) {
return &x;
}
};
o();
}
```
To access `x` in the lambda, we need to perform derived-to-base
conversion on `self` (since the type of `self` is not the lambda type,
but rather `Overloaded<(lambda type)>`). We were previously missing this
step, causing us to attempt to load the entire lambda (as the base
class, it would end up being the ‘field’ with index `0` here), which
would then assert later on in codegen.
Moreover, this is only valid in the first place if there is a unique and
publicly accessible cast path from the derived class to the lambda’s
type, so this also adds a check in Sema to diagnose problematic
cases.
This fixes #87210 and fixes #89541.
Commit: 9329b20d5d906c59f7d21ac013b908930d496374
https://github.com/llvm/llvm-project/commit/9329b20d5d906c59f7d21ac013b908930d496374
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/include/mlir/Interfaces/TilingInterface.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/test/Dialect/Linalg/transform-tile-reduction.mlir
Log Message:
-----------
[mlir][TilingInterface] Allow multiple results in PartialReductionOpInterface (#92624)
This patch adds support for reducing operations with multiple results
using PartialReductionOpInterface. Also adds an implementation of
PartialReductionOpInterface for multiple results for linalg.generic.
Commit: da88e7fbd74cef33411bb5115f20e4b474d2d8b1
https://github.com/llvm/llvm-project/commit/da88e7fbd74cef33411bb5115f20e4b474d2d8b1
Author: Sirraide <aeternalmail at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
[Clang] Remove parameter that shouldn't be there (#93086)
The parameter of `getAddress()` was not being used, as I recall, and
seems to have been removed in the meantime. Merging this w/o review
since this is breaking builds.
Commit: 8baf96f3060bc26a308b3614feed4117e5299d3c
https://github.com/llvm/llvm-project/commit/8baf96f3060bc26a308b3614feed4117e5299d3c
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/test/Analysis/builtin_signbit.cpp
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
M clang/test/CodeGen/constantexpr-fneg.c
M clang/test/CodeGenCXX/cxx11-thread-local.cpp
M clang/test/CodeGenCXX/ubsan-nullability-arg.cpp
M clang/test/CodeGenCXX/weak-external.cpp
M clang/test/Driver/linker-wrapper-image.c
M clang/test/OpenMP/threadprivate_codegen.cpp
M llvm/include/llvm/Analysis/TargetFolder.h
M llvm/include/llvm/IR/ConstantFolder.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/test/Assembler/ConstantExprFold.ll
M llvm/test/Assembler/ConstantExprNoFold.ll
M llvm/test/Assembler/vector-cmp.ll
M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
M llvm/test/CodeGen/AMDGPU/lower-multiple-ctor-dtor.ll
M llvm/test/Instrumentation/MemorySanitizer/check-constant-shadow.ll
M llvm/test/Instrumentation/SanitizerBinaryMetadata/atomics.ll
M llvm/test/Transforms/Attributor/value-simplify.ll
M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
M llvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
M llvm/test/Transforms/InstCombine/pr33453.ll
M llvm/test/Transforms/InstCombine/pr83947.ll
M llvm/test/Transforms/InstCombine/rem.ll
M llvm/test/Transforms/InstCombine/select-and-or.ll
M llvm/test/Transforms/InstCombine/select-safe-transforms.ll
M llvm/test/Transforms/InstSimplify/ConstProp/bitcast.ll
M llvm/test/Transforms/InstSimplify/ConstProp/icmp-global.ll
M llvm/test/Transforms/InstSimplify/bitcast-vector-fold.ll
M llvm/test/Transforms/InstSimplify/compare.ll
M llvm/test/Transforms/InstSimplify/past-the-end.ll
M llvm/test/Transforms/JumpThreading/constant-fold-status.ll
M llvm/test/Transforms/LowerTypeTests/cfi-direct-call1.ll
M llvm/test/Transforms/LowerTypeTests/function-weak.ll
M llvm/test/Transforms/SCCP/conditions-ranges.ll
M llvm/test/Transforms/SimplifyCFG/phi-to-select-constexpr-icmp.ll
Log Message:
-----------
Revert "[IR] Avoid creating icmp/fcmp constant expressions" (#93087)
Reverts llvm/llvm-project#92885 due to LLDB CI breakages.
Commit: 0a62a99aa610a7a8cf739208603646bc01b37347
https://github.com/llvm/llvm-project/commit/0a62a99aa610a7a8cf739208603646bc01b37347
Author: David Green <david.green at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/test/CodeGen/AArch64/selectopt-not.ll
Log Message:
-----------
[SelectOpt] Add handling for not conditions. (#92517)
This patch attempts to help the SelectOpt pass detect select groups made
up of conditions and not(conditions). Usually these are canonicalized in
instcombine to remove the not and invert the true/false values, but this
will not happen for Loginal operations, which can be beneficial to
convert if they are part of a larger select group. The handling for
not's are mostly handled in the SelectLike, which can be marked as
Inverted in order to reverse the TrueValue and FalseValue.
This helps fix a regression in fortran minloc constructs, after #84628
helped simplify a loop with branches into a loop with selects.
Commit: 990bed64fb2df0857471b954f9f9ef0e1a0a8fc4
https://github.com/llvm/llvm-project/commit/990bed64fb2df0857471b954f9f9ef0e1a0a8fc4
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.pops.exiting.wave.id.ll
Log Message:
-----------
[AMDGPU] New intrinsic llvm.amdgcn.pops.exiting.wave.id (#89612)
This provides access to the special scalar source value
SRC_POPS_EXITING_WAVE_ID on GFX9 and GFX10.
Commit: f3dc732b3623c86164f9d95f7563f982cecc5558
https://github.com/llvm/llvm-project/commit/f3dc732b3623c86164f9d95f7563f982cecc5558
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M bolt/include/bolt/Passes/MCF.h
M bolt/lib/Passes/MCF.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
Log Message:
-----------
[BOLT][NFC] Make estimateEdgeCounts a BinaryFunctionPass (#93074)
Commit: ff3f41deb04c03ba57658776e4e0dc26ef01187d
https://github.com/llvm/llvm-project/commit/ff3f41deb04c03ba57658776e4e0dc26ef01187d
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/CXX/temp/temp.decls/temp.alias/p2.cpp
M clang/test/SemaTemplate/cwg2398.cpp
Log Message:
-----------
[clang] Implement CWG2398 provisional TTP matching to class templates (#92855)
This solves some ambuguity introduced in P0522 regarding how template
template parameters are partially ordered, and should reduce the
negative impact of enabling `-frelaxed-template-template-args` by
default.
When performing template argument deduction, we extend the provisional
wording introduced in https://github.com/llvm/llvm-project/pull/89807 so
it also covers deduction of class templates.
Given the following example:
```C++
template <class T1, class T2 = float> struct A;
template <class T3> struct B;
template <template <class T4> class TT1, class T5> struct B<TT1<T5>>; // #1
template <class T6, class T7> struct B<A<T6, T7>>; // #2
template struct B<A<int>>;
```
Prior to P0522, `#2` was picked. Afterwards, this became ambiguous. This
patch restores the pre-P0522 behavior, `#2` is picked again.
This has the beneficial side effect of making the following code valid:
```C++
template<class T, class U> struct A {};
A<int, float> v;
template<template<class> class TT> void f(TT<int>);
// OK: TT picks 'float' as the default argument for the second parameter.
void g() { f(v); }
```
---
Since this changes provisional implementation of CWG2398 which has not
been released yet, and already contains a changelog entry, we don't
provide a changelog entry here.
Commit: 47ed2bfa711efe85b1149c3800f9c66fdc83ae70
https://github.com/llvm/llvm-project/commit/47ed2bfa711efe85b1149c3800f9c66fdc83ae70
Author: dpalermo <dan.palermo at amd.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
[flang] cmake fix for FLANG_RUNTIME_F128_MATH_LIB build (#93054)
Remove an extra '-D' in the call to add_compile_definitions. The extra
-D causes -D-DFLANG_RUNTIME_F128_MATH_LIB=libquadmath to appear in
compile options which results in a compilation failure. This occurs only
on systems using cmake versions 3.22.1 or 3.24.3. Using cmake 3.28.1
seems to automatically remove the duplicate -D.
Fixes https://github.com/llvm/llvm-project/pull/81971
Commit: bd3f5a4bd3d9d7ee8ae801c24c5081073b20abd4
https://github.com/llvm/llvm-project/commit/bd3f5a4bd3d9d7ee8ae801c24c5081073b20abd4
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
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_generate.h
M libcxx/include/__algorithm/pstl_is_partitioned.h
M libcxx/include/__algorithm/pstl_merge.h
M libcxx/include/__algorithm/pstl_replace.h
M libcxx/include/__algorithm/pstl_sort.h
R libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/numeric.ops/reduce/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/numeric.ops/reduce/pstl.reduce.pass.cpp
R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
A libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
A libcxx/test/std/numerics/numeric.ops/reduce/pstl.reduce.pass.cpp
A libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
A libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
Log Message:
-----------
[libc++][pstl] Improve exception handling (#88998)
There were various places where we incorrectly handled exceptions in the
PSTL. Typical issues were missing `noexcept` and taking iterators by
value instead of by reference.
This patch fixes those inconsistent and incorrect instances, and adds
proper tests for all of those. Note that the previous tests were often
incorrectly turned into no-ops by the compiler due to copy ellision,
which doesn't happen with these new tests.
Commit: d635b860f3d660b1b31692a231284afe47a9c8a2
https://github.com/llvm/llvm-project/commit/d635b860f3d660b1b31692a231284afe47a9c8a2
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
A mlir/test/Dialect/Linalg/mesh-sharding-propagation.mlir
M mlir/test/Dialect/Mesh/sharding-propagation.mlir
M mlir/test/Dialect/Mesh/spmdization.mlir
Log Message:
-----------
[mlir][mesh] Insert resharding during sharding propagation (#84514)
If there are conflicts between the sharding annotations of some op,
insert resharding.
Make the Spmdization pass more forgiving to allow for more than 2
chained `mesh.shard` ops.
Implement `getReductionLoopIteratorKinds` in ShardingInterface for
linalg ops.
Commit: 6de14c61e40aa12b85d97bdd91e037a2def824d2
https://github.com/llvm/llvm-project/commit/6de14c61e40aa12b85d97bdd91e037a2def824d2
Author: Miguel Saldivar <miguel.saldivar at hpe.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve-pr92779.ll
Log Message:
-----------
[AArch64][SVE2] UZP should only have one result (#93041)
`UZP1` and `UZP2` are only expecting one result value, so this `getNode`
call should be updated to match that.
This is in response to #92779.
Commit: 25b65be43df56c1b7bea3fe2596fb36c2788d7af
https://github.com/llvm/llvm-project/commit/25b65be43df56c1b7bea3fe2596fb36c2788d7af
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/CodeGen/RISCV/loop-strength-reduce-loop-invar.ll
Log Message:
-----------
[RISCV][LSR] Account for temporary register for base addition (#92296)
An LSR formula may require the addition of multiple base or scale
registers, this sum reduction requires a temporary register to perform.
Since the formulas are independent, we only need one temporary,
regardless of the number of unique formula. Each formula can reuse the
same temporary. A later CSE pass may come along and combine
sub-expressions - but then the register pressure would be that passes
problem to consider.
This change fixes up the costing in the RISCV specific way, but this is
really a generic LSR problem. I just didn't feel like fighting with LSR
and dealing with all the various targets swinging slightly in hard to
reason about ways. This problem is more pronounced on RISCV than any
other target due to our lack of addressing modes.
This change is not hugely important on it's own, but I have an upcoming
change to add support fo shNadd in LSR which biases us fairly strongly
towards adding more "base adds". Without this change, we see net
regression due to the increase in register pressure which is not
accounted for.
Commit: 848bef5d8549cdc79bb0eb3c5a8e0495e432b577
https://github.com/llvm/llvm-project/commit/848bef5d8549cdc79bb0eb3c5a8e0495e432b577
Author: Chinmay Deshpande <chinmay1dd at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/include/llvm/MCA/InstrBuilder.h
M llvm/lib/MCA/InstrBuilder.cpp
A llvm/test/tools/llvm-mca/X86/call-latency.s
M llvm/tools/llvm-mca/llvm-mca.cpp
M llvm/unittests/tools/llvm-mca/MCATestBase.cpp
M llvm/unittests/tools/llvm-mca/X86/TestIncrementalMCA.cpp
Log Message:
-----------
[llvm-mca] Add command line option -call-latency (#92958)
Currently we assume a constant latency of 100 cycles for call
instructions. This commit allows the user to specify a custom value for
the same as a command line argument. Default latency is set to 100.
Commit: 1529ec085a31e60fa4de0bed27a5ba88b1a7d7fa
https://github.com/llvm/llvm-project/commit/1529ec085a31e60fa4de0bed27a5ba88b1a7d7fa
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M bolt/lib/Profile/CMakeLists.txt
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT][NFC] Move out PrintProgramStats from Profile into Rewrite (#93075)
Eliminate the dependence of Profile on Passes.
Test Plan: NFC
Commit: c93a67038dcc1adeafa74e105fba02714732097a
https://github.com/llvm/llvm-project/commit/c93a67038dcc1adeafa74e105fba02714732097a
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M lldb/include/lldb/Host/Config.h.cmake
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/API/SBDebugger.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.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:
-----------
Revert "[lldb] Added Debuginfod tests and fixed a couple issues" (#93094)
Reverts llvm/llvm-project#92572 due to Fuchsia CI breakages (using CLI
tools in tests that weren't necessarily built).
Commit: a79acb0ce56422aeaadf82b8eeb5001108c23f94
https://github.com/llvm/llvm-project/commit/a79acb0ce56422aeaadf82b8eeb5001108c23f94
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Fix setHasSymbolsWithFileName (#92625)
The function is used to ignore the parameter and set
`HasSymbolsWithFileName` unconditionally.
Commit: 3061fed2f05cde574c84a26c702b1e7932fa4d7e
https://github.com/llvm/llvm-project/commit/3061fed2f05cde574c84a26c702b1e7932fa4d7e
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
Log Message:
-----------
[BOLT][NFC] Simplify FuncHashesTy (#91815)
Make EntryTy a thin wrapper struct.
Commit: 0ee6646d6fb3b0b9a3655b14bd1cbc18a4e99600
https://github.com/llvm/llvm-project/commit/0ee6646d6fb3b0b9a3655b14bd1cbc18a4e99600
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocate-directive.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/combined-constructs.f90
M flang/test/Semantics/OpenMP/common-block.f90
M flang/test/Semantics/OpenMP/compiler-directive.f90
M flang/test/Semantics/OpenMP/copyin01.f90
M flang/test/Semantics/OpenMP/copyin02.f90
M flang/test/Semantics/OpenMP/copyin03.f90
M flang/test/Semantics/OpenMP/copyin04.f90
M flang/test/Semantics/OpenMP/copyin05.f90
M flang/test/Semantics/OpenMP/copying.f90
M flang/test/Semantics/OpenMP/copyprivate01.f90
M flang/test/Semantics/OpenMP/copyprivate02.f90
M flang/test/Semantics/OpenMP/copyprivate03.f90
M flang/test/Semantics/OpenMP/critical-empty.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
Log Message:
-----------
[Flang][OpenMP] Re-enable tests on windows 3/n (#93070)
Enables copying, copyprivate, critical, and a few other tests
Commit: c98a79939234e41f5b95ddfa1651c732daa10cda
https://github.com/llvm/llvm-project/commit/c98a79939234e41f5b95ddfa1651c732daa10cda
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
Log Message:
-----------
NFC: DebugInfo: use early return to reduce indentation
Commit: bdbf927a838e1b23982987febc0945a9f9a3acf0
https://github.com/llvm/llvm-project/commit/bdbf927a838e1b23982987febc0945a9f9a3acf0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
A flang/test/Lower/Intrinsics/selected_logical_kind.f90
Log Message:
-----------
[flang] Lower selected_logical_kind to its runtime call (#93091)
Runtime support has been added in #89691. This patch adds lowering in a
similar way than `selected_int_kind` and `selected_real_kind`.
Commit: 66db7c609cebb8aa7db17f83fbc9f79be0cd5af1
https://github.com/llvm/llvm-project/commit/66db7c609cebb8aa7db17f83fbc9f79be0cd5af1
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
A flang/test/Lower/Intrinsics/selected_char_kind.f90
Log Message:
-----------
[flang] Lower selected_char_kind to runtime call (#93095)
Runtime support has been added in
https://github.com/llvm/llvm-project/pull/89691. This patch adds
lowering in a similar way than `selected_int_kind`, `selected_real_kind`
and `selected_logical_kind` added in #93091.
Some gfortran tests can be enabled after this patch is landed.
- `Fortran/gfortran/regression/selected_char_kind_1.f90`
- `Fortran/gfortran/regression/selected_char_kind_4.f90`
Commit: ab29203e465aefc158eb718cbb478edae1535db6
https://github.com/llvm/llvm-project/commit/ab29203e465aefc158eb718cbb478edae1535db6
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
M mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
M mlir/test/Dialect/Polynomial/ops.mlir
Log Message:
-----------
[mlir][polynomial] use typed attributes for polynomial.constant op (#92818)
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: bd5c6367bd79c01665ff8ab9848afbf5b1249ce6
https://github.com/llvm/llvm-project/commit/bd5c6367bd79c01665ff8ab9848afbf5b1249ce6
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/test/DebugInfo/X86/debug-names-types.ll
Log Message:
-----------
DWARF: debug_names: Don't emit entries for skeleton type units
When a type unit is emitted, the CU referencing the type unit ends up
with a little DW_TAG_*_type with the DW_AT_signature and
DW_AT_declaration sometimes referred to (by me? maybe other people?) as
a skeleton type.
We shouldn't produce .debug_names reference to these - only to the
actual type definition in the type unit. So this patch does that.
But, inversely, the .debug_gnu_pubtypes /does/ need to reference the
skeleton type (& gcc does this too, when it produces a skeleton type
(gcc doesn't always produce these - if the type is only referenced once
via DW_AT_type, gcc uses a direct DW_FORM_ref_sig8 on the DW_AT_type
without the intermediate skeleton type)) - so there's a little special
case added in to preserve that behavior which is covered by existing
tests.
Commit: e53c53559bb6ca6d69b9c0f45988e33fd0cefb6e
https://github.com/llvm/llvm-project/commit/e53c53559bb6ca6d69b9c0f45988e33fd0cefb6e
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M lld/test/ELF/compress-debug-sections-zstd.s
M lld/test/ELF/compress-sections-special.s
M lld/test/ELF/compress-sections.s
M lld/test/ELF/compressed-debug-level.test
M lld/test/ELF/linkerscript/compress-debug-sections.s
M lld/test/ELF/linkerscript/compress-sections.s
Log Message:
-----------
[ELF,test] Improve --compress-debug-sections/--compress-sections tests
Make sections larger so that compressed content will be smaller than
uncompressed content. Add a few dedicated tests where compressed content
is larger.
Commit: cfa97699f76761f25c4c4b686a503466c427afce
https://github.com/llvm/llvm-project/commit/cfa97699f76761f25c4c4b686a503466c427afce
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
M lld/docs/ld.lld.1
M lld/test/ELF/compress-debug-sections-zstd.s
M lld/test/ELF/compress-sections.s
Log Message:
-----------
[ELF] Retain uncompressed if compressed content is larger
--compress-debug-sections in GNU ld, gas, and LLVM integrated assembler
retain the uncompressed content if the compressed content is larger.
This patch also updates the manpage (-O2 does not enable zlib level 6)
and fixes a crash of --compress-sections when the uncompressed section
is empty.
Commit: 7c937df05b7c636287e6058bb2e700618ff57c2f
https://github.com/llvm/llvm-project/commit/7c937df05b7c636287e6058bb2e700618ff57c2f
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/lib/CodeGen/ValueTypes.cpp
Log Message:
-----------
[CodeGen] Forbid passing a PointerType to MVT::getVT and EVT::getEVT (#92671)
There is the expectation throughout CodeGen that, for types representing
"real" values, the MVT or EVT is self-contained. However, MVT::iPTR is
challenging, because it has no address space, and even if it did, there
often is no DataLayout immediately accessible to determine what actually
is the underlying type.
Historically it was documented as being TableGen-only, but that was lost
in 631bfdbee5b45eda9f99dff6a716d63c5698e4bd's conversion to using the
generated defines. Let's preserve that intent by not allowing it to
originate through accidental calls to get(E)VT with a PointerType. If
you need to support that, be sure to use something like TargetLowering's
getValueType, which takes a DataLayout and can map pointers to their
concrete MVTs. Whilst here, reintroduce documentation about these value
types being TableGen-only.
Commit: 465bfd41fa27383d93521a31458e6496ebfc590d
https://github.com/llvm/llvm-project/commit/465bfd41fa27383d93521a31458e6496ebfc590d
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFC] Simplify BBHashMapTy (#91812)
Commit: bc0cdefffe621af7d79eb637f570297752d215c8
https://github.com/llvm/llvm-project/commit/bc0cdefffe621af7d79eb637f570297752d215c8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
Log Message:
-----------
[mlir] Fix warnings
This patch fixes:
mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp:73:27:
error: unused function 'operator<<' [-Werror,-Wunused-function]
mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp:97:27:
error: unused function 'operator<<' [-Werror,-Wunused-function]
Commit: f049d72ac2bcc40fd91d4e95148658021fb24bf1
https://github.com/llvm/llvm-project/commit/f049d72ac2bcc40fd91d4e95148658021fb24bf1
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
M clang/test/SemaCXX/eval-crashes.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
Reapply "[Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer" (#92527)
This PR reapply https://github.com/llvm/llvm-project/pull/87933
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: b91b8fea8c58e9b414e291df677b12ca44197784
https://github.com/llvm/llvm-project/commit/b91b8fea8c58e9b414e291df677b12ca44197784
Author: Charlie Barto <chbarto at microsoft.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp
Log Message:
-----------
[asan][windows] Further relax how deep in the callstack main can be in some asan tests (#92329)
This is needed because there will be an extra layer of wrapper when
linking to the static-CRT after the static asan runtime is removed by
#81677.
Commit: 5ae8567640e495296acc0e20c966548aec401119
https://github.com/llvm/llvm-project/commit/5ae8567640e495296acc0e20c966548aec401119
Author: Ayke <aykevanlaethem at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M lld/ELF/Arch/AVR.cpp
M lld/test/ELF/avr-reloc-error.s
M lld/test/ELF/avr-reloc.s
Log Message:
-----------
Fix R_AVR_7_PCREL and R_AVR_13_PCREL range checking (#92695)
Fix incorrect range check of R_AVR_7_PCREL. R_AVR_7_PCREL has 7 bits
available, but it works in instruction words and the actual range is [-128, 126].
Disable range check of R_AVR_13_PCREL. This matches the behavior of avr-ld,
and is needed for devices like the ATtiny85 which only have rjmp/rcall but have
8KiB flash memory.
Commit: 282d2ab58f56c89510f810a43d4569824a90c538
https://github.com/llvm/llvm-project/commit/282d2ab58f56c89510f810a43d4569824a90c538
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Headers/CMakeLists.txt
R clang/lib/Headers/avx512erintrin.h
R clang/lib/Headers/avx512pfintrin.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/module.modulemap
M clang/lib/Sema/SemaChecking.cpp
R clang/test/CodeGen/X86/avx512er-builtins.c
R clang/test/CodeGen/X86/avx512pf-builtins.c
M clang/test/CodeGen/attr-cpuspecific.c
M clang/test/CodeGen/attr-target-x86.c
M clang/test/CodeGen/function-target-features.c
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/Driver/cl-x86-flags.c
M clang/test/Driver/x86-target-features.c
M clang/test/Frontend/x86-target-cpu.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Sema/builtins-x86.c
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86Instr3DNow.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/test/CodeGen/X86/avx512-cmp-kor-sequence.ll
M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin-deprecated.ll
M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin.ll
R llvm/test/CodeGen/X86/avx512er-intrinsics.ll
M llvm/test/CodeGen/X86/crc32-target-feature.ll
M llvm/test/CodeGen/X86/insert-prefetch-invalid-instr.ll
M llvm/test/CodeGen/X86/prefetch.ll
M llvm/test/CodeGen/X86/speculative-load-hardening-gather.ll
M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
M llvm/test/Transforms/LoopStrengthReduce/X86/pr40514.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/SLPVectorizer/X86/vector_gep.ll
Log Message:
-----------
[X86] Remove knl/knm specific ISAs supports (#92883)
Cont. patch after https://github.com/llvm/llvm-project/pull/75580
Commit: aa4069ea96e5eb62bc8c7895b9d920f129611b3a
https://github.com/llvm/llvm-project/commit/aa4069ea96e5eb62bc8c7895b9d920f129611b3a
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/avx512erintrin.h
A clang/lib/Headers/avx512pfintrin.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/module.modulemap
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/X86/avx512er-builtins.c
A clang/test/CodeGen/X86/avx512pf-builtins.c
M clang/test/CodeGen/attr-cpuspecific.c
M clang/test/CodeGen/attr-target-x86.c
M clang/test/CodeGen/function-target-features.c
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/Driver/cl-x86-flags.c
M clang/test/Driver/x86-target-features.c
M clang/test/Frontend/x86-target-cpu.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Sema/builtins-x86.c
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86Instr3DNow.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/test/CodeGen/X86/avx512-cmp-kor-sequence.ll
M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin-deprecated.ll
M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin.ll
A llvm/test/CodeGen/X86/avx512er-intrinsics.ll
M llvm/test/CodeGen/X86/crc32-target-feature.ll
M llvm/test/CodeGen/X86/insert-prefetch-invalid-instr.ll
M llvm/test/CodeGen/X86/prefetch.ll
M llvm/test/CodeGen/X86/speculative-load-hardening-gather.ll
M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
M llvm/test/Transforms/LoopStrengthReduce/X86/pr40514.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/SLPVectorizer/X86/vector_gep.ll
Log Message:
-----------
Revert "[X86] Remove knl/knm specific ISAs supports (#92883)" (#93123)
This reverts commit 282d2ab58f56c89510f810a43d4569824a90c538.
Commit: 2375921d6734016c9079727f798c5585653e858c
https://github.com/llvm/llvm-project/commit/2375921d6734016c9079727f798c5585653e858c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[ProfileData] Use default member initializations (NFC) (#93120)
This patch uses default member initializations for all the fields in
Header. The intent is to prevent accidental uninitialized fields and
reduce the number of times we need to mention each member variable.
Commit: beac910c3bfcbf1395f2617874350ee59bc61289
https://github.com/llvm/llvm-project/commit/beac910c3bfcbf1395f2617874350ee59bc61289
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-22 (Wed, 22 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[nfc][InstrProfWriter]Wrap vtable writes in a method. (#93081)
- This way `InstrProfWriter::writeImpl` itself is simpler.
Commit: 896bceb9537ecd906668fdd2bcb0310b32174917
https://github.com/llvm/llvm-project/commit/896bceb9537ecd906668fdd2bcb0310b32174917
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
A clang/test/CoverageMapping/mcdc-scratch-space.c
Log Message:
-----------
[MC/DC][Coverage] Add assertions into emitSourceRegions() (#89572)
`emitSourceRegions()` has bugs to emit malformed MC/DC coverage
mappings. They were detected in `llvm-cov` as the crash.
Detect inconsistencies earlier in `clang` with assertions.
* mcdc-scratch-space.c covers #87000.
Commit: 7f5c71efc441083282a5365d245acfe6afcd0dd5
https://github.com/llvm/llvm-project/commit/7f5c71efc441083282a5365d245acfe6afcd0dd5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
Log Message:
-----------
InterleavedLoadCombine: Correctly query PM for TargetTransformInfo (#93103)
Commit: 5ec91b392d7ea7991052892c79e0b315ab54f3c4
https://github.com/llvm/llvm-project/commit/5ec91b392d7ea7991052892c79e0b315ab54f3c4
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/norecurse.ll
Log Message:
-----------
[AttributorLight] Without liveness checks, look at all functions (#91004)
Commit: ca478bc6cc0e5a5ca6c973772d39404571255a84
https://github.com/llvm/llvm-project/commit/ca478bc6cc0e5a5ca6c973772d39404571255a84
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/exit-count-non-strict.ll
M llvm/test/CodeGen/PowerPC/ctrloop-le.ll
M llvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll
Log Message:
-----------
[SCEV] Support ule/sle exit counts via widening (#92206)
If we have an exit condition of the form IV <= Limit, we will first try
to convert it into IV < Limit+1 or IV-1 < Limit based on range info (in
icmp simplification). If that fails, we try to convert it to IV < Limit
+ 1 based on controlling exits in non-infinite loops.
However, if all else fails, we can still determine the exit count by
rewriting to ext(IV) < ext(Limit) + 1, where the zero/sign extension
ensures that the addition does not overflow.
Proof: https://alive2.llvm.org/ce/z/iR-iYd
Commit: f64732195c1030ee2627ff4e4142038e01df1d26
https://github.com/llvm/llvm-project/commit/f64732195c1030ee2627ff4e4142038e01df1d26
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/read-write-scc.ll
M llvm/test/Transforms/FunctionAttrs/willreturn.ll
Log Message:
-----------
[FunctionAttrs] Regenerate test checks (NFC)
Commit: 58ddf3a0c6b6bbdf682ef3421d05e846a6e00527
https://github.com/llvm/llvm-project/commit/58ddf3a0c6b6bbdf682ef3421d05e846a6e00527
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
Log Message:
-----------
[mlir][nvvm] Fix filecheck notation and the test (#93026)
Commit: af6812085cc7a7251a3095acbc96343ce660f135
https://github.com/llvm/llvm-project/commit/af6812085cc7a7251a3095acbc96343ce660f135
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Fix initializing a union from an InitLIstExpr
We can't just count the field to initialize but need to consult the
InitListExpr to give us the right field.
Commit: 7aa382fd7257d9bd4f7fc50bb7078a3c26a1628c
https://github.com/llvm/llvm-project/commit/7aa382fd7257d9bd4f7fc50bb7078a3c26a1628c
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
Log Message:
-----------
[RISCV] Zicfilp implies Zicsr. (#93143)
The Zicfilp extension depends on the Zicsr extension.
Ref: https://github.com/riscv/riscv-cfi/blob/main/src/cfi_forward.adoc
Commit: d81170873c004fc694bf4b6f91aabe74963a7845
https://github.com/llvm/llvm-project/commit/d81170873c004fc694bf4b6f91aabe74963a7845
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
Log Message:
-----------
AtomicExpand: Preserve metadata when expanding partword RMW (#89769)
This will be important for AMDGPU in a future patch.
Commit: 781b13538e55a42b2d02bb4d21779f15ff8a640c
https://github.com/llvm/llvm-project/commit/781b13538e55a42b2d02bb4d21779f15ff8a640c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaX86.h
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/lib/Sema/SemaX86.cpp
Log Message:
-----------
[clang] Introduce `SemaX86` (#93098)
This patch moves `Sema` functions that are specific for x86 into the new
`SemaX86` class. This continues previous efforts to split `Sema` up.
Additional context can be found in #84184 and #92682.
Commit: 4c48b3cb5c681b34345e0dffe920649a5c26aaf4
https://github.com/llvm/llvm-project/commit/4c48b3cb5c681b34345e0dffe920649a5c26aaf4
Author: Dhruv Chawla <dhruvc at nvidia.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
M llvm/test/CodeGen/AArch64/pr58431.ll
Log Message:
-----------
[GISel][CombinerHelper] Push freeze through non-poison-producing operands (#90618)
This combine matches the existing fold in InstCombine, i.e.
InstCombinerImpl::pushFreezeToPreventPoisonFromPropagating.
It tries to push freeze through an operand if the operand has only one
maybe-poison operand and all other operands are guaranteed non-poison,
and if the operation itself cannot generate poison (eg. add with nsw can
generate poison, even with non-poison operands).
This is beneficial because it can potentially enable other optimizations
to occur that would otherwise be blocked because of the freeze.
Commit: 1a2a0c0dc9aab6f440033f36ff2323685080f46a
https://github.com/llvm/llvm-project/commit/1a2a0c0dc9aab6f440033f36ff2323685080f46a
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
A offload/test/offloading/fortran/dump_map_tables.f90
Log Message:
-----------
Fixing the location attribute added to mapInfoOp (#90764)
Named location attribute added to `tgt_offload_entry` shall be used by
runtime calls like `ompx_dump_mapping_tables` to print the information
of variables that are mapped to the device. `ompx_dump_mapping_tables`
was printing the wrong location information and this change fixes it.
A sample execution of example before the change:
```
omptarget device 0 info: OpenMP Host-Device pointer mappings after block at libomptarget:0:0:
omptarget device 0 info: Host Ptr Target Ptr Size (B) DynRefCount HoldRefCount Declaration
omptarget device 0 info: 0x0000000000206df0 0x00007f02cdc00000 20000000 1 0 <program-file-loc> at unknown:18:35
```
The change replaces unknown to the mapped symbol and location to the
declaration location.
Commit: 951b13d9a7220d761b1ee0dc09a50b635692ecf8
https://github.com/llvm/llvm-project/commit/951b13d9a7220d761b1ee0dc09a50b635692ecf8
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/AST/Interp/Record.cpp
M clang/lib/AST/Interp/Record.h
Log Message:
-----------
[clang][Interp][NFC] Save IsUnion bit for Records
Now that we call this more often, try to keep pointer chasing to a
minimum.
Commit: 335e00faaf74f3f7463b32a415d39af0973f521f
https://github.com/llvm/llvm-project/commit/335e00faaf74f3f7463b32a415d39af0973f521f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp][NFC] Add another union test case
Commit: 4cc6d0f4dfb26deb9863901c70258d6d7f0c8ba4
https://github.com/llvm/llvm-project/commit/4cc6d0f4dfb26deb9863901c70258d6d7f0c8ba4
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M lldb/bindings/python/python-swigsafecast.swig
M lldb/bindings/python/python-wrapper.swig
M lldb/include/lldb/API/SBEvent.h
M lldb/include/lldb/API/SBStream.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
A lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Target/ThreadPlanPython.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Target/ThreadPlanPython.cpp
M lldb/test/API/functionalities/step_scripted/Steps.py
M lldb/test/API/functionalities/thread_plan/wrap_step_over.py
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
[lldb] Make use of Scripted{Python,}Interface for ScriptedThreadPlan (Reland #70392) (#93149)
This patch makes ScriptedThreadPlan conforming to the ScriptedInterface
& ScriptedPythonInterface facilities by introducing 2
ScriptedThreadPlanInterface & ScriptedThreadPlanPythonInterface classes.
This allows us to get rid of every ScriptedThreadPlan-specific SWIG
method and re-use the same affordances as other scripting offordances,
like Scripted{Process,Thread,Platform} & OperatingSystem.
To do so, this adds new transformer methods for `ThreadPlan`, `Stream` &
`Event`, to allow the bijection between C++ objects and their python
counterparts.
This just re-lands #70392 after fixing test failures.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 8f50bcaadced3041a6a132286e3b62ad6fd9cf74
https://github.com/llvm/llvm-project/commit/8f50bcaadced3041a6a132286e3b62ad6fd9cf74
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn build] Port 781b13538e55
Commit: ae3f68066c8f282145435880107c1d3dc26ec3b8
https://github.com/llvm/llvm-project/commit/ae3f68066c8f282145435880107c1d3dc26ec3b8
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M lldb/bindings/python/python-swigsafecast.swig
M lldb/bindings/python/python-wrapper.swig
M lldb/include/lldb/API/SBEvent.h
M lldb/include/lldb/API/SBStream.h
M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
R lldb/include/lldb/Interpreter/Interfaces/ScriptedThreadPlanInterface.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Target/ThreadPlanPython.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Target/ThreadPlanPython.cpp
M lldb/test/API/functionalities/step_scripted/Steps.py
M lldb/test/API/functionalities/thread_plan/wrap_step_over.py
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
Revert "[lldb] Make use of Scripted{Python,}Interface for ScriptedThreadPlan (Reland #70392)" (#93153)
Reverts llvm/llvm-project#93149 since it breaks
https://lab.llvm.org/buildbot/#/builders/68/builds/74799
Commit: bf4d99e16789dd711eb61b36ce92b8519f450dd5
https://github.com/llvm/llvm-project/commit/bf4d99e16789dd711eb61b36ce92b8519f450dd5
Author: Mubashar Ahmad <mubashar.ahmad at arm.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][vector] Add deinterleave operation to vector dialect (#92409)
The deinterleave operation constructs two vectors from a single input
vector. The first result vector contains the elements from even indexes
of the input, and the second contains elements from odd indexes. This is
the inverse of a `vector.interleave` operation.
Each output's trailing dimension is half of the size of the input
vector's trailing dimension. This operation requires the input vector
to have a rank > 0 and an even number of elements in its trailing
dimension.
The operation supports scalable vectors.
Example:
```mlir
%0, %1 = vector.deinterleave %a
: vector<8xi8> -> vector<4xi8>
%2, %3 = vector.deinterleave %b
: vector<2x8xi8> -> vector<2x4xi8>
%4, %5 = vector.deinterleave %c
: vector<2x8x4xi8> -> vector<2x8x2xi8>
%6, %7 = vector.deinterleave %d
: vector<[8]xf32> -> vector<[4]xf32>
%8, %9 = vector.deinterleave %e
: vector<2x[6]xf64> -> vector<2x[3]xf64>
%10, %11 = vector.deinterleave %f
: vector<2x4x[6]xf64> -> vector<2x4x[3]xf64>
```
Commit: 8930ba98e01bc66949e482b396f8389d64388359
https://github.com/llvm/llvm-project/commit/8930ba98e01bc66949e482b396f8389d64388359
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/CodeGenCXX/fmv-namespace.cpp
A clang/test/Sema/fmv-namespace.cpp
Log Message:
-----------
[clang][FMV] Allow declaration of function versions in namespaces. (#93044)
Fixes the following bug:
namespace Name {
int __attribute((target_version("default"))) foo() { return 0; }
}
namespace Name {
int __attribute((target_version("sve"))) foo() { return 1; }
}
int bar() { return Name::foo(); }
error: redefinition of 'foo'
int __attribute((target_version("sve"))) foo() { return 1; }
note: previous definition is here
int __attribute((target_version("default"))) foo() { return 0; }
While fixing this I also found that in the absence of default version
declaration, the one we implicitly create has incorrect mangling if
we are in a namespace:
namespace OtherName {
int __attribute((target_version("sve"))) foo() { return 2; }
}
int baz() { return OtherName::foo(); }
In this example instead of creating a declaration for the symbol
@_ZN9OtherName3fooEv.default we are creating one for the symbol
@_Z3foov.default (the namespace mangling prefix is omitted).
This has now been fixed.
Commit: a2824632cba8e7d98a5cbf9acb3ca5d9960c95cb
https://github.com/llvm/llvm-project/commit/a2824632cba8e7d98a5cbf9acb3ca5d9960c95cb
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
A lldb/test/Shell/SymbolFile/DWARF/x86/invalid_abbreviation.s
Log Message:
-----------
[lldb/DWARF] Make sure bad abbreviation codes do not crash lldb (#93006)
We currently cannot represent abbreviation codes with more than 16 bits,
and we were lldb-asserting if we ever ran into one. While I haven't seen
any real DWARF with these kinds of abbreviations, it is possible to hit
this with handcrafted evil dwarf, due some sort of corruptions, or just
bugs (the addition of PeekDIEName makes these bugs more likely, as the
function blindly dereferences offsets within the debug info section) .
Missing abbreviations were already reporting an error. This patch turns
sure that large abbreviations into an error as well, and adds a test for
both cases.
Commit: 8a3537bfefa295e12ddbdb59cb8f76281ce302a0
https://github.com/llvm/llvm-project/commit/8a3537bfefa295e12ddbdb59cb8f76281ce302a0
Author: csstormq <swust_xiaoqiangxu at 163.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/CodeGen/ScheduleDAG.cpp
M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
A llvm/test/CodeGen/X86/misched-critical-path.ll
Log Message:
-----------
[llvm][ScheduleDAG] SUnit::biasCriticalPath() does not find the critical path consistently (#93001)
Patch co-authored by AtariDreams (gfunni234 at gmail.com).
Fixes #38037.
[AMDGPU] Update test results to fix build (#92982)
Commit: 44086133c53599c3aaa7f93426bffdc2ef6cb42a
https://github.com/llvm/llvm-project/commit/44086133c53599c3aaa7f93426bffdc2ef6cb42a
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/Passes.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Tools/CLOptions.inc
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
Log Message:
-----------
[flang][HLFIR][NFC] Reduce intrinsic lowering pass boilerplate (#93062)
The pass constructor can be generated automatically.
This pass is module-level and then runs on all relevant intrinsic
operations inside of the module, no matter what top level operation they
are inside of.
Commit: f81da75693fff6c2ffefbb3883e08f11b21ee643
https://github.com/llvm/llvm-project/commit/f81da75693fff6c2ffefbb3883e08f11b21ee643
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret_from_streaming_mode.c
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[Clang][AArch64] Use __clang_arm_builtin_alias for overloaded svreinterpret's (#92427)
The intrinsics are currently defined as:
```
__aio __attribute__((target("sve")))
svint8_t svreinterpret_s8(svuint8_t op) __arm_streaming_compatible {
return __builtin_sve_reinterpret_s8_u8(op);
}
```
which doesn't work when calling it from an __arm_streaming function when
only +sme is available. By defining it in the same way as we've defined
all the other intrinsics, we can leave it to the code in SemaChecking to
verify that either +sve or +sme is available.
This PR also fixes the target guards for the svreinterpret_c and
svreinterpret_b intrinsics, that convert between svcount_t and svbool_t,
as these are available both in SME2 and SVE2p1.
Commit: 10dc3a8e916d73291269e5e2b82dd22681489aa1
https://github.com/llvm/llvm-project/commit/10dc3a8e916d73291269e5e2b82dd22681489aa1
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Fix empty InitListExprs for unions
We still need to handle Inits.size() == 0, but we can do that earlier.
Commit: 5e06050efdaa36bc63987b0e15c30b3cf358e70c
https://github.com/llvm/llvm-project/commit/5e06050efdaa36bc63987b0e15c30b3cf358e70c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
A llvm/test/Transforms/SCCP/range-with-undef.ll
Log Message:
-----------
[SCCP] Add tests for #93096 (NFC)
Commit: 45a95c3c543c88a669cffd3f7ee2a1b7e02b44e8
https://github.com/llvm/llvm-project/commit/45a95c3c543c88a669cffd3f7ee2a1b7e02b44e8
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Fix DeclRefExprs of void-typed dummy pointers
Commit: 4d9e7b14e45120557e57da2f00f6d23cf122dd95
https://github.com/llvm/llvm-project/commit/4d9e7b14e45120557e57da2f00f6d23cf122dd95
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
Log Message:
-----------
[lldb][Windows] Fixed the TestBreakpointCommand test (#93122)
The TestBreakpointCommand test is incorrectly disabled for Windows
target. We can disable it for Windows host instead or just fix the
issue. This patch fixes the path separator in
BreakpointResolverFileLine::DeduceSourceMapping() and the Windows
specific absolute path in the test in case of the Windows host.
Commit: e37da2cef7ea44f6aa52dd37978b287a0741c39f
https://github.com/llvm/llvm-project/commit/e37da2cef7ea44f6aa52dd37978b287a0741c39f
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M lldb/test/API/functionalities/thread/exit_during_expression/main.c
Log Message:
-----------
[lldb] Fixed the TestExitDuringExpression test in case of a remote target (#93119)
Sometimes this test failed on the assert `The thread exited` in case of
a remote target. Increase the timeout to 1 second to avoid a racing
condition.
Commit: aefd2572a504d675ef623d2f3d61364232b19f26
https://github.com/llvm/llvm-project/commit/aefd2572a504d675ef623d2f3d61364232b19f26
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/abds-vector-128.ll
M llvm/test/CodeGen/X86/abds-vector-256.ll
M llvm/test/CodeGen/X86/abdu-vector-128.ll
M llvm/test/CodeGen/X86/abdu-vector-256.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
Log Message:
-----------
[DAG][X86] expandABD - add branchless abds/abdu expansion for 0/-1 comparison result cases (#92780)
If the comparison results are allbits masks, we can expand as `abd(lhs, rhs) -> sub(cmpgt(lhs, rhs), xor(sub(lhs, rhs), cmpgt(lhs, rhs)))`, replacing a sub+sub+select pattern with the simpler sub+xor+sub pattern.
This allows us to remove a lot of X86 specific legalization code, and will be useful in future generic expansion for the legalization work in #92576
Alive2: https://alive2.llvm.org/ce/z/sj863C
Commit: 7c137f7e510c0fcc1bfa46f8c85063c2a2b190dd
https://github.com/llvm/llvm-project/commit/7c137f7e510c0fcc1bfa46f8c85063c2a2b190dd
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x8_8x128_noswizzle.mlir
Log Message:
-----------
[mlir][nvvm] Remove unused check-ptx (#93147)
The test used the check generated ptx with `CHECK-PTX`, but does not
check that anymore. The PR removes these lines.
Commit: 31f1590e4fb324c43dc36199587c453e27b6f6fa
https://github.com/llvm/llvm-project/commit/31f1590e4fb324c43dc36199587c453e27b6f6fa
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
A llvm/test/Transforms/Coroutines/coro-await-suspend-handle-in-ramp.ll
Log Message:
-----------
[Coroutines] Always set the calling convention of generated resuming call from 'llvm.coro.await.suspend.handle' as fast
See the post commit message in
https://github.com/llvm/llvm-project/pull/89751
We met a regression due to a change of calling convention of this patch.
Previously, the calling convention of indirect resume calls is always
fast.
And in this patch, although we tried to take care of it in the cloner,
we forget the case that we have to update the resuming calls in the
ramp functions. So this is the root cause of the downstream failure.
This patch tries to mark the generated resuming calls as fast
immediately after they got created to make sure the calling convention
is correct.
Commit: d7c37130008374341e79c355ad85cc48942136ff
https://github.com/llvm/llvm-project/commit/d7c37130008374341e79c355ad85cc48942136ff
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
A llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
A llvm/lib/Target/AMDGPU/AMDGPUSplitModule.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
A llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize-with-call.ll
A llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize.ll
A llvm/test/tools/llvm-split/AMDGPU/debug-name-hiding.ll
A llvm/test/tools/llvm-split/AMDGPU/kernels-alias-dependencies.ll
A llvm/test/tools/llvm-split/AMDGPU/kernels-cost-ranking.ll
A llvm/test/tools/llvm-split/AMDGPU/kernels-dependencies.ll
A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-duplication.ll
A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-external.ll
A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-indirect.ll
A llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-overridable.ll
A llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables-noexternal.ll
A llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables.ll
A llvm/test/tools/llvm-split/AMDGPU/kernels-load-balancing.ll
A llvm/test/tools/llvm-split/AMDGPU/kernels-no-dependencies.ll
A llvm/test/tools/llvm-split/AMDGPU/large-kernels-merging.ll
A llvm/test/tools/llvm-split/AMDGPU/lit.local.cfg
Log Message:
-----------
[AMDGPU] Add AMDGPU-specific module splitting (#89245)
This enables the --lto-partitions option to work more consistently.
This module splitting logic is fully aware of AMDGPU modules and their
specificities and takes advantage of
them to split modules in a way that avoids compilation issue (such as
resource usage being incorrectly represented).
This also includes a logging system that's more elaborate than just
LLVM_DEBUG which allows
printing logs to uniquely named files, and optionally with all value
names hidden so they can be safely shared without leaking informatiton
about the source. Logs can also be enabled through an environment
variable, which avoids the sometimes complicated process of passing a
-mllvm option all the way from clang driver to the offload linker that
handles full LTO codegen.
Commit: 8d4d85de1eeb23bc13a51bffbc12d9f158ca1921
https://github.com/llvm/llvm-project/commit/8d4d85de1eeb23bc13a51bffbc12d9f158ca1921
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
R llvm/test/Transforms/Coroutines/coro-await-suspend-handle-in-ramp.ll
Log Message:
-----------
Revert "[Coroutines] Always set the calling convention of generated resuming call from 'llvm.coro.await.suspend.handle' as fast"
This reverts commit 31f1590e4fb324c43dc36199587c453e27b6f6fa.
It looks like some bots are not happy about the FileChecks
Commit: 6552af196812bfad22a8bec4d2cae3d51a84b1e4
https://github.com/llvm/llvm-project/commit/6552af196812bfad22a8bec4d2cae3d51a84b1e4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port d7c371300083
Commit: 3c23047413957024294872e38c27707c71d05805
https://github.com/llvm/llvm-project/commit/3c23047413957024294872e38c27707c71d05805
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
A clang/lib/StaticAnalyzer/Checkers/PutenvStackArrayChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp
R clang/test/Analysis/cert/pos34-c-fp-suppression.cpp
R clang/test/Analysis/cert/pos34-c.cpp
A clang/test/Analysis/putenv-stack-array.c
Log Message:
-----------
[clang][analyzer] Move checker 'cert.pos.34c' (in alpha.security) into 'PutenvStackArray' (#92424)
The "cert" package looks not useful and the checker has not a meaningful name with the old naming scheme.
Additionally tests and documentation is updated.
Commit: 964079d6501af7073e4420a221511b3067130ac4
https://github.com/llvm/llvm-project/commit/964079d6501af7073e4420a221511b3067130ac4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port 3c2304741395
Commit: b6468766f73e7a294fce71da60b9ec90f3900281
https://github.com/llvm/llvm-project/commit/b6468766f73e7a294fce71da60b9ec90f3900281
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] refactor program logic (NFC) (#92101)
Implement NFC improvements spotted during a cursory reading of
LoopAccessAnalysis.
Commit: 1d0e8b24001d854a848a3810b90244a6bc94cf03
https://github.com/llvm/llvm-project/commit/1d0e8b24001d854a848a3810b90244a6bc94cf03
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/records.cpp
Log Message:
-----------
[clang][Interp] Remove a no longer needed dummy check
Since we now have type info for dummy pointers, we don't need this
check anymore and can also have the same output for the test case
in records.cpp.
Commit: 55e5842385ef18eaf7b5b6548413f4ee6f555dfc
https://github.com/llvm/llvm-project/commit/55e5842385ef18eaf7b5b6548413f4ee6f555dfc
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
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/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[mlir][OpenMP] Remove deprecated omp.reduction (#92732)
This operation did not model the behaviour of reductions in the openmp
standard. It has since been replaced by block arguments on the outer
operation. See https://github.com/llvm/llvm-project/pull/79308 and
https://github.com/llvm/llvm-project/pull/80019
Commit: 85b9826c34bbefb0bdd42697edfda7d5192c5d1e
https://github.com/llvm/llvm-project/commit/85b9826c34bbefb0bdd42697edfda7d5192c5d1e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/sad.ll
Log Message:
-----------
[AMDGPU] Regenerate sad.ll test checks
Improve test checks for better codegen review of #92576
Commit: 27f53b266cbfcbc956687be45cb0fdc80667b98e
https://github.com/llvm/llvm-project/commit/27f53b266cbfcbc956687be45cb0fdc80667b98e
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M offload/test/offloading/dynamic_module.c
Log Message:
-----------
[Offload] Disable flaky test on host-offloading (#93174)
While we investigate the issue, we disable the test on host-offloading
so the buildbots are back to more useful state.
Issue is tracked: https://github.com/llvm/llvm-project/issues/93173
Commit: 4e0f8a4919b1920ed715ca19314e6b3e06a70763
https://github.com/llvm/llvm-project/commit/4e0f8a4919b1920ed715ca19314e6b3e06a70763
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
Log Message:
-----------
[AMDGPU] Fix EXPENSIVE_CHECKS failure in #89612
Commit: 5b5af52bad647321d19476cea39293802fa3cfd3
https://github.com/llvm/llvm-project/commit/5b5af52bad647321d19476cea39293802fa3cfd3
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
Log Message:
-----------
[AArch64] Extend efficient lowering of experimental.cttz.elts (#92114)
This patch extends support for more efficient lowering of the
experimental.cttz.elts intrinsic to fixed-width vector types, by first
creating an SVE predicate register mask from the fixed-width vector.
Commit: 84729c9df30b29d5f4e903ad71235a6aa0c764d6
https://github.com/llvm/llvm-project/commit/84729c9df30b29d5f4e903ad71235a6aa0c764d6
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
A clang/test/AST/Interp/objc.mm
Log Message:
-----------
[clang][Interp] Don't diagnose ObjCIvarDecls as invalid reads
Commit: fbd643fb22607b933a4e129ae86a7334b62c9b55
https://github.com/llvm/llvm-project/commit/fbd643fb22607b933a4e129ae86a7334b62c9b55
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/cxx98.cpp
Log Message:
-----------
[clang][Interp] Don't try to activate root pointers
No inline descriptor means we can't do that.
Commit: 63a4133912b5b737c75c18c609d711de6f70367f
https://github.com/llvm/llvm-project/commit/63a4133912b5b737c75c18c609d711de6f70367f
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
A flang/test/Integration/debug-complex-1.f90
A flang/test/Transforms/debug-complex-1.fir
Log Message:
-----------
[flang][debug] Support complex types. (#92559)
This PR adds supports for conversion of complex type to corresponding
DITypeAttr. Both fir and mlir types are supported.
Apart from lit testing, I have also tested the types in debugger and
they work correctly. An exception is 128 bit complex which somehow
requires that its name be different from `complex`. I am going to open a
separate PR to add (kind=n) in the type names similar to what gfortran
does.
Commit: 7b185719a8bed373b83b92db73eaf8b84af8da72
https://github.com/llvm/llvm-project/commit/7b185719a8bed373b83b92db73eaf8b84af8da72
Author: 2LoS <aurumpuro at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M libcxx/include/forward_list
M libcxx/include/list
Log Message:
-----------
Removed redundant template in '__delete_node()' member function of '__forward_list_base' and '__list_imp' classes. (#84323)
Commit: 01f143dd39dc14029943dcf6eb2f7bbc2d82d6d4
https://github.com/llvm/llvm-project/commit/01f143dd39dc14029943dcf6eb2f7bbc2d82d6d4
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/AST/TemplateBase.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
Log Message:
-----------
[clang] fix printing of canonical template template parameters (#93124)
Commit: 32c3561d44aa792ef08d72b5a4c342c9965bc4c2
https://github.com/llvm/llvm-project/commit/32c3561d44aa792ef08d72b5a4c342c9965bc4c2
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M lldb/test/API/lang/c/enum_types/TestEnumTypes.py
Log Message:
-----------
[lldb][Test] Escape | chars in enum tests
| is a reserved character in regex.
Commit: 4feae05c6abda364a9295aecfa600d7d4e7dfeb6
https://github.com/llvm/llvm-project/commit/4feae05c6abda364a9295aecfa600d7d4e7dfeb6
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/CMakeLists.txt
M clang/tools/scan-build-py/tests/functional/exec/CMakeLists.txt
M lldb/cmake/modules/LLDBConfig.cmake
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Remove some `try_compile` CMake checks for compiler flags (#92953)
This patch remove 36 checks for compiler flags that are done via
invoking the compiler across LLVM, Clang, and LLDB. It's was made
possible by raising the bar for supported compilers that has been
happening over the years since the checks were added.
This is going to improve CMake configuration times. This topic was
highlighted in
https://discourse.llvm.org/t/cmake-compiler-flag-checks-are-really-slow-ideas-to-speed-them-up/78882.
Commit: 300e5b91144249a5b142b02d6331fcb33e13cf1d
https://github.com/llvm/llvm-project/commit/300e5b91144249a5b142b02d6331fcb33e13cf1d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M offload/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/CMakeLists.txt
M offload/plugins-nextgen/cuda/CMakeLists.txt
M offload/plugins-nextgen/host/CMakeLists.txt
Log Message:
-----------
[Offload] Fix enabling plugins on unsupported platforms (#93186)
Summary:
Certain plugins can only be built on specific platforms. Previously this
didn't cause issues becaues each one was handled independently. However,
now that we link these all directly they need to be in a CMake list.
Furthermore we use this list to generate a config file. For this reason
these checks are moved to where we normalize the support.
Fixes: https://github.com/llvm/llvm-project/issues/93183
Commit: 27392a35ef052aa515f38359de89aced11a4363d
https://github.com/llvm/llvm-project/commit/27392a35ef052aa515f38359de89aced11a4363d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/test/Transforms/SCCP/ip-add-range-to-call.ll
M llvm/test/Transforms/SCCP/range-with-undef.ll
Log Message:
-----------
[SCCP] Don't allow undef ranges when performing operations (#93163)
When performing some range operation (e.g. and) on a constant range that
includes undef, we currently just ignore the undef value, which is
obviously incorrect. Instead, we can do one of two things:
* Say that the result range also includes undef.
* Treat undef as a full range.
This patch goes with the second approach -- I'd expect it to be a bit
better overall, e.g. it allows preserving the fact that a zext of a
range with undef isn't a full range.
Fixes https://github.com/llvm/llvm-project/issues/93096.
Commit: f06c1ce8603faa343833063e2bb6616536f996a6
https://github.com/llvm/llvm-project/commit/f06c1ce8603faa343833063e2bb6616536f996a6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
Log Message:
-----------
AMDGPU: Clean up maximum3/minimum3 tests (#93025)
These were using patterns copied from older tests, before non-kernel
functions were supported and manually written checks. Also stop using
-flat-for-global, which only exists to try to share tests between SI/CI
and VI+.
This was also missing test coverage, we're incorrectly forming
maximum3/minimum3 pre-gfx12. This is a pre-commit before fixing that.
Commit: 05c154f2bcba34f002b1f0c22c7a9e9614e9d83c
https://github.com/llvm/llvm-project/commit/05c154f2bcba34f002b1f0c22c7a9e9614e9d83c
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtl.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/test/CodeGen/AArch64/sme2-intrinsics-cvt.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-cvtl.ll
Log Message:
-----------
[SME] Add intrinsics for FCVT(wid.) and FCVTL (#90215)
According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics
```
svfloat32x2_t svcvt_f32[_f16_x2](svfloat16_t zn) __arm_streaming;
svfloat32x2_t svcvtl_f32[_f16_x2](svfloat16_t zn) __arm_streaming;
```
These are available only if __ARM_FEATURE_SME_F16F16 is enabled.
---------
Co-authored-by: Caroline Concatto <caroline.concatto at arm.com>
Commit: 7a1022a3895f51a3c11dd326c47d861575ffaf55
https://github.com/llvm/llvm-project/commit/7a1022a3895f51a3c11dd326c47d861575ffaf55
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_zero.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2p1-intrinsics-zero.ll
Log Message:
-----------
[AArch64][SME] Add intrinsics for vector groups ZERO (#88114)
According to the specification in
https://github.com/ARM-software/acle/pull/309 this adds the intrinsics:
```
void svzero_za64_vg1x2(uint32_t slice)
__arm_streaming __arm_inout("za");
void svzero_za64_vg1x4(uint32_t slice)
__arm_streaming __arm_inout("za");
void svzero_za64_vg2x1(uint32_t slice)
__arm_streaming __arm_inout("za");
void svzero_za64_vg2x2(uint32_t slice)
__arm_streaming __arm_inout("za");
void svzero_za64_vg2x4(uint32_t slice)
__arm_streaming __arm_inout("za");
void svzero_za64_vg4x1(uint32_t slice)
__arm_streaming __arm_inout("za");
void svzero_za64_vg4x2(uint32_t slice)
__arm_streaming __arm_inout("za");
void svzero_za64_vg4x4(uint32_t slice)
__arm_streaming __arm_inout("za");
```
Commit: 2401b6126d3330f8cbd929f49c7e85c513366a9b
https://github.com/llvm/llvm-project/commit/2401b6126d3330f8cbd929f49c7e85c513366a9b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
Log Message:
-----------
AMDGPU: Fix creating minimum3/maximum3 nodes pre-gfx12 (#93027)
These would fail to select.
Commit: 8dcbc4cfbf987dad0a9f9ddffa2a87420b00f88f
https://github.com/llvm/llvm-project/commit/8dcbc4cfbf987dad0a9f9ddffa2a87420b00f88f
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
R clang/test/CodeGen/aarch64-sme2p1-intrinsics/acle_sme2p1_zero.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
R llvm/test/CodeGen/AArch64/sme2p1-intrinsics-zero.ll
Log Message:
-----------
Revert "[AArch64][SME] Add intrinsics for vector groups ZERO" (#93195)
Reverts llvm/llvm-project#88114
Commit: 90a469057e9edb8eadfb328ac8bc06a4b5e0434f
https://github.com/llvm/llvm-project/commit/90a469057e9edb8eadfb328ac8bc06a4b5e0434f
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
R clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtl.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/test/CodeGen/AArch64/sme2-intrinsics-cvt.ll
R llvm/test/CodeGen/AArch64/sme2-intrinsics-cvtl.ll
Log Message:
-----------
Revert "[SME] Add intrinsics for FCVT(wid.) and FCVTL" (#93196)
Reverts llvm/llvm-project#90215
Commit: ed803c879a8c100c59b5476a2ef6de64b2bf625f
https://github.com/llvm/llvm-project/commit/ed803c879a8c100c59b5476a2ef6de64b2bf625f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Properly initialize `CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG` CMake variable
A follow-up for #92953. Addresses the following buildbot failures:
https://lab.llvm.org/buildbot/#/builders/36/builds/45836
https://lab.llvm.org/buildbot/#/builders/57/builds/35200
Commit: 0bf181eb34bbac1a65522dbbef42c81a705d3102
https://github.com/llvm/llvm-project/commit/0bf181eb34bbac1a65522dbbef42c81a705d3102
Author: YunQiang Su <syq at debian.org>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/test/CodeGen/Mips/mipsr6-minmaxnum.ll
M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
Log Message:
-----------
MIPS: Fix llvm.{min,max}num for R6 (#93125)
MIPS max.fmt/min.fmt instructions is IEEE2008 compatiable. If either
argument is sNaN, the result will be NaN.
So we define fminnum_ieee instead of fminnum in Mips32r6InstrInfo.td. We
also should define fcanonicalize. So that we can define fminnum as
expand to fcanonicalize and fminnum_ieee.
Commit: 9c60010a61e5824c64706ff21a1222da1f6b3af9
https://github.com/llvm/llvm-project/commit/9c60010a61e5824c64706ff21a1222da1f6b3af9
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/CodeGen/AArch64/GlobalISel/combine-integer.mir
Log Message:
-----------
[GlobalIsel] Combine G_ADD and G_SUB (#92879)
Commit: 44430de0f117deb09d7391f1cdddd64875486061
https://github.com/llvm/llvm-project/commit/44430de0f117deb09d7391f1cdddd64875486061
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
A llvm/test/Transforms/Coroutines/coro-await-suspend-handle-in-ramp.ll
Log Message:
-----------
[Coroutines] Always set the calling convention of generated resuming call from 'llvm.coro.await.suspend.handle' as fast (#93167)
See the post commit message in
https://github.com/llvm/llvm-project/pull/89751
We met a regression due to a change of calling convention of this patch.
Previously, the calling convention of indirect resume calls is always
fast.
And in this patch, although we tried to take care of it in the cloner,
we forget the case that we have to update the resuming calls in the ramp
functions. So this is the root cause of the downstream failure.
This patch tries to mark the generated resuming calls as fast
immediately after they got created to make sure the calling convention
is correct.
Commit: ac88ad3c805f0cc0ea85975d52b2037940b2d040
https://github.com/llvm/llvm-project/commit/ac88ad3c805f0cc0ea85975d52b2037940b2d040
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp
Log Message:
-----------
[libc++] Refactor tests for std::condition_variable (#91530)
These tests have always been flaky, which led us to using ALLOW_RETRIES
on them. However, while investigating #89083 (using Github provided
macOS builders), these tests surfaced as being basically unworkably
flaky in that environment.
This patch solves that problem by refactoring the tests to make them
succeed deterministically.
Commit: 7e476eb11c60d0292213034d03c4581f15bfc68f
https://github.com/llvm/llvm-project/commit/7e476eb11c60d0292213034d03c4581f15bfc68f
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
A clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Log Message:
-----------
[AMDGPU][Clang] Add check of size for __builtin_amdgcn_global_load_lds (#93064)
Commit: 21f3a6091f71f6651f604733bba65cdc97b0b6b4
https://github.com/llvm/llvm-project/commit/21f3a6091f71f6651f604733bba65cdc97b0b6b4
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M offload/plugins-nextgen/common/include/JIT.h
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/JIT.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/src/PluginManager.cpp
Log Message:
-----------
[Offload] Only initialize a plugin if it is needed (#92765)
Summary:
Initializing the plugins requires initializing the runtime like CUDA or
HSA. This has a considerable overhead on most platforms, so we should
only actually initialize a plugin if it is needed by any image that is
loaded.
Commit: f02e074552593435f97b97b81340014075f689e0
https://github.com/llvm/llvm-project/commit/f02e074552593435f97b97b81340014075f689e0
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Make sure `-Wnon-virtual-dtor` is passed only when compiling with Clang
Another follow-up for #92953. Addresses buildbot failure https://lab.llvm.org/buildbot/#/builders/193/builds/52421
Commit: a0e6f83781bde8474fcf772595fc3da79b3fabc4
https://github.com/llvm/llvm-project/commit/a0e6f83781bde8474fcf772595fc3da79b3fabc4
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll
M llvm/test/CodeGen/X86/pr59305.ll
Log Message:
-----------
[ConstraintFP] Model rounding control registers for inline asm (#92846)
We have an internal test affected by
https://github.com/llvm/llvm-project/commit/a69673615bb9f14794056470a32f70f60a52213d.
The reason is we haven't modeled rounding control registers for inline
asm under constraint FP.
Here is a reduced case: https://godbolt.org/z/s4EsKP94e
Commit: 477b48e8dc6fe2c911332fc40f2fa67f3be016b9
https://github.com/llvm/llvm-project/commit/477b48e8dc6fe2c911332fc40f2fa67f3be016b9
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/include/clang/AST/RecursiveASTVisitor.h
Log Message:
-----------
[OpenACC][NFC] Implement RecursiveASTVisitor for clauses
Clauses that have sub expressions are storing them in 'children', so
make sure we visit these properly.
Commit: 5064ff9bec006e7553c5da90328b81a360e52cd9
https://github.com/llvm/llvm-project/commit/5064ff9bec006e7553c5da90328b81a360e52cd9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Lower*EXTEND - pull out repeated SDLoc calls. NFC.
Commit: 905b402a5d8f1490d668f40942390ebd6e87aa8f
https://github.com/llvm/llvm-project/commit/905b402a5d8f1490d668f40942390ebd6e87aa8f
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/AST/ParentMap.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/test/Analysis/cxx-uninitialized-object.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
Log Message:
-----------
[Analyzer][CFG] Correctly handle rebuilt default arg and default init expression (#91879)
Depends on https://github.com/llvm/llvm-project/pull/92527
Clang now support the following:
- Extending lifetime of object bound to reference members of aggregates,
that are created from default member initializer.
- Rebuild `CXXDefaultArgExpr` and `CXXDefaultInitExpr` as needed where
called or constructed.
But CFG and ExprEngine need to be updated to address this change.
This PR add `CXXDefaultArgExpr` and `CXXDefaultInitExpr` into CFG, and
correct handle these expressions in ExprEngine
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: b8efe370497a6cfe83185ab7e57124ed5f5b125f
https://github.com/llvm/llvm-project/commit/b8efe370497a6cfe83185ab7e57124ed5f5b125f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M libcxx/test/std/utilities/utility/mem.res/mem.res.global/new_delete_resource.pass.cpp
Log Message:
-----------
[test][libcxx] Update deallocation after #90373 (#93145)
Asan detects new/delete missmatch here after #90373.
Commit: 5a81db311cf8e15b7c6a33100bb5c1fb256754ce
https://github.com/llvm/llvm-project/commit/5a81db311cf8e15b7c6a33100bb5c1fb256754ce
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
[NFC][Clang] Use `isa_and_nonnull` instead of `VD && isa<VarDecl>(VD)` (#93207)
This issue was found in https://github.com/llvm/llvm-project/pull/86960.
But I'd like to avoid mixing together a bunch of cleanups with actual
changes.
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: dd32c3d36fbf21cf90d47ea83ad40ee959dd38d3
https://github.com/llvm/llvm-project/commit/dd32c3d36fbf21cf90d47ea83ad40ee959dd38d3
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] Only check exprs that might be immediate escalating in evaluated contexts (#93187)
As per https://eel.is/c++draft/expr.const#17
Fixes #91308
---------
Co-authored-by: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Commit: 942a6af6ad1d71c8f4219a2d4ab8ca886959c06d
https://github.com/llvm/llvm-project/commit/942a6af6ad1d71c8f4219a2d4ab8ca886959c06d
Author: Fred Grim <fgrim at apple.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/test/tools/llvm-readobj/ELF/note-core-ntfile.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm-readobj] Fixes malformed json on JSON printed corefiles (#92835)
This patch fixes an issue where, when printing corefile notes with
llvm-readobj as json, the dumper generated llvm formatted output which
isn't valid json. This alters the dumper to, in the NT_FILE, note, dump
properly formatted json data.
Prior to this patch the JSON output was formatted like:
```
"Mapping": [
"Start": 4096,
"End": 8192,
"Offset": 12288,
"Filename": "/path/to/a.out"
],
```
Whereas now it is formatted as:
```
"Mappings": [
{
"Start": 4096,
"End": 8192,
"Offset": 12288,
"Filename": "/path/to/a.out"
},
```
Which is valid. Additionally the LLVM output has changed to match the
structure of the JSON output (i.e. instead of lists of keys it is a list
of dictionaries)
Commit: 89245b6cf808d4ed27cdea8d1e85fd9f4c6c844b
https://github.com/llvm/llvm-project/commit/89245b6cf808d4ed27cdea8d1e85fd9f4c6c844b
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Split sched classes for vrgather.vv and vrgatherei16.vv (#92768)
These can behave different on a subtarget since EEW=16 and EMUL =
(16/SEW)*LMUL for the indices in vs1.
Commit: 558cb29feae6011beb2d384b1ef094bb9f7f2c27
https://github.com/llvm/llvm-project/commit/558cb29feae6011beb2d384b1ef094bb9f7f2c27
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-frem-rv32.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-frem-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/libcalls.ll
Log Message:
-----------
[GISel][RISCV] Legalize `G_FREM` (#93063)
This patch adds support for `G_FREM` on RISCV.
Commit: 729403e244c9970efa7aa17be32c197eb8e28fac
https://github.com/llvm/llvm-project/commit/729403e244c9970efa7aa17be32c197eb8e28fac
Author: Björn Svensson <bjorn.a.svensson at est.tech>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
Log Message:
-----------
[clang-tidy] Correcting issues in `readability-implicit-bool-conversion` on C23 (#92241)
`readability-implicit-bool-conversion` supports language-versions with
`LangOpts.Bool` which includes C23.
This PR corrects an issue that the fixer suggests `static_cast<>()`
which is not available in C23,
and will instead suggest C-style casts on other than C++.
The fixer will also suggest using `nullptr` instead of `0` and avoid a
problem with recursive fixes on C23.
The recursive issue, a function taking bool and a comparison, is now
excluded as in C++.
Commit: 910292c3ac2ebe43cdbc90223c6c9702128316db
https://github.com/llvm/llvm-project/commit/910292c3ac2ebe43cdbc90223c6c9702128316db
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
R llvm/test/Transforms/Coroutines/coro-debug-frame-variable-O1.ll
A llvm/test/Transforms/Coroutines/coro-debug-frame-variable-inlined.ll
Log Message:
-----------
[LLVM][Coroutines] Check variable decl scope instead of optimization level for hoisted DbgDeclare Loc (#92978)
Minor patch following up on
https://github.com/llvm/llvm-project/pull/75402.
The more generalized version of [this
error](https://github.com/llvm/llvm-project/pull/75104#issuecomment-1853497609)
is whenever we have a debug variable created in one subprogram scope
inlined into another subprogram scope. So instead of checking
optimization level, it is safer to just check whether the subprogram
scope of the variable matches the subprogram scope of the hoisted
position.
Commit: 8cc8e5d6c6ac9bfc888f3449f7e424678deae8c2
https://github.com/llvm/llvm-project/commit/8cc8e5d6c6ac9bfc888f3449f7e424678deae8c2
Author: Nuri Amari <nuri.amari99 at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
A clang/test/CodeGen/thinlto-distributed-objc-contract-pass.ll
M lld/MachO/LTO.cpp
M llvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/ARM/O3-pipeline.ll
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/X86/O0-pipeline.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
Log Message:
-----------
Run ObjCContractPass in Default Codegen Pipeline (#92331)
Prior to this patch, when using -fthinlto-index= the ObjCARCContractPass isn't run prior to CodeGen, and instruction selection fails on IR containing arc intrinsics. This patch is motivated by that usecase.
The pass was previously added in various places codegen is performed. This patch adds the pass to the default codegen pipepline, makes sure it bails immediately if no arc intrinsics are found, and removes the adhoc scheduling of the pass.
Co-authored-by: Nuri Amari <nuriamari at fb.com>
Commit: b17d44558ba4c30a3005089b334f68593d6a9c7c
https://github.com/llvm/llvm-project/commit/b17d44558ba4c30a3005089b334f68593d6a9c7c
Author: Andrei Homescu <ahomescu at google.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
Log Message:
-----------
[scudo] Compute the default aligned pointer without tag (#92989)
https://github.com/llvm/llvm-project/pull/83493 slightly
changed the order of computation of block addresses and
pointers, causing the value of DefaultAlignedPtr to
include the MTE tag. Move this computation earlier so it
matches the old behavior.
This fixes a UBSan failure in Trusty:
secure os: UBSan: (overflow:-)
external/scudo/standalone/combined.h:1070:35
secure os: Details: unsigned integer overflow: 8988807738704 -
144124176883594576 cannot be represented in type 'uptr'
Commit: 2d61692d4b75b7d92b44bfafb1011c1723955151
https://github.com/llvm/llvm-project/commit/2d61692d4b75b7d92b44bfafb1011c1723955151
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
A llvm/test/Transforms/Attributor/issue87856.ll
Log Message:
-----------
Attributor: Do not assume function context in AANoCapture (#91462)
If the calling function has the null_pointer_is_valid attribute, somehow
a null constant reaches here. I'm not sure why exactly, it doesn't
happen for other types of constants.
Fixes #87856
Commit: d70cab4663f7893dce7e3be25b122e54a6b8deeb
https://github.com/llvm/llvm-project/commit/d70cab4663f7893dce7e3be25b122e54a6b8deeb
Author: Angel Zhang <anzhouzhang913 at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
A mlir/test/mlir-vulkan-runner/addui_extended.mlir
R mlir/test/mlir-vulkan-runner/iaddcarry_extended.mlir
Log Message:
-----------
[mlir][spirv] Add LIT test for vector.interleave to spirv.VectorShuffle (#93189)
The plan is to replace this with a dedicated pattern
fom`vector.interleave` to `spirv.shuffle` in the future.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 779be6fd1d5a7b9b93654abb363c28e7ff51483e
https://github.com/llvm/llvm-project/commit/779be6fd1d5a7b9b93654abb363c28e7ff51483e
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
Fix update-test-checks.py on Python 3.6 (#93116)
re.Match apparently doesn't exist in older versions.
Commit: 1a28f26b16a3eaefb26acaa410712f337f1cda2c
https://github.com/llvm/llvm-project/commit/1a28f26b16a3eaefb26acaa410712f337f1cda2c
Author: Jeremy Kun <jkun at google.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
M mlir/test/Dialect/Polynomial/canonicalization.mlir
Log Message:
-----------
[polynomial] distribute add/sub through ntt to reduce ntts (#93132)
Addresses
https://github.com/google/heir/issues/542#issuecomment-2126175775
Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Commit: 89e3da83bcc4ccadbd48de0f0be56cf84f90b796
https://github.com/llvm/llvm-project/commit/89e3da83bcc4ccadbd48de0f0be56cf84f90b796
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
Log Message:
-----------
[Frontend][OpenMP] Fix typo in comment: varuant -> variant, NFC
Commit: 0f6c4d8b0653d75cf944278337e69771857ee4d7
https://github.com/llvm/llvm-project/commit/0f6c4d8b0653d75cf944278337e69771857ee4d7
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M libc/docs/ctype.rst
M libc/docs/fenv.rst
M libc/docs/signal.rst
M libc/docs/stdbit.rst
M libc/docs/threads.rst
M libc/utils/docgen/ctype.json
M libc/utils/docgen/docgen.py
M libc/utils/docgen/fenv.json
A libc/utils/docgen/header.py
M libc/utils/docgen/signal.json
M libc/utils/docgen/stdbit.json
M libc/utils/docgen/threads.json
Log Message:
-----------
[libc][docs] adds macro handling, POSIX status, and validation to docgen (#89421)
docgen now lists macro implementation status in the generated rst files.
Adds POSIX definition link property to docgen json API (`posix-definition`) and
changes the `defined` property of docgen json API to `c-definition`. Now that
docgen's api is getting more specified, adds validation checks to docgen to
start codifying the docgen api spec.
To make sure this all looks good, I've added POSIX definition links to signal.h
as a tester.
Commit: 264aaa5f9038a7e575b3aa1ae67bceabd65ee13a
https://github.com/llvm/llvm-project/commit/264aaa5f9038a7e575b3aa1ae67bceabd65ee13a
Author: Jeff Niu <jeff at modular.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M mlir/test/mlir-tblgen/op-decl-and-defs.td
M mlir/test/mlir-tblgen/op-operand.td
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][ods] Optimize FoldAdaptor constructor (#93219)
FoldAdaptor is generated as a subclass of the operation's generic
adaptor, which requires an OperationName instance. It called into the
generic base constructor that constructed the OperationName from a
string, requiring a StringMap lookup inside the MLIRContext.
This makes constructing FoldAdaptors really slow, which is a shame
because the `Operation *` is right there. This PR changes GenericAdaptor
constructor from an operation to grab the OperationName directly from
the `Operation *`. In addition, it generates the constructor inline if
the operation doesn't have properties, since otherwise it requires the
definition of the op.
Commit: 650635586220aa8878397579744b71effb35938e
https://github.com/llvm/llvm-project/commit/650635586220aa8878397579744b71effb35938e
Author: Kavan Bickerstaff <kavanbickerstaff at googlemail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/CommonFolders.h
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Only fold splats for static shape result types (#93102)
This prevents an assertion when constructing the DenseElementsAttr
result, where the passed-in type is expected to have a static shape.
Fixes https://github.com/llvm/llvm-project/issues/92057
Commit: 998fc2c2a6a3bc0758c7964a988fa0dea5a4c620
https://github.com/llvm/llvm-project/commit/998fc2c2a6a3bc0758c7964a988fa0dea5a4c620
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Rename from VPseudoVGTR_VV_EEW to VPseudoVGTR_EI16_VV. NFC.
This function only takes EEW=16 so we use that directly.
This commit comes from suggestion on #92768.
Commit: dd2d132fb3521f37f44656edd65cca75430c251e
https://github.com/llvm/llvm-project/commit/dd2d132fb3521f37f44656edd65cca75430c251e
Author: Mogball <jeff at modular.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M mlir/test/mlir-tblgen/op-decl-and-defs.td
Log Message:
-----------
[mlir][ods] Fix broken test
Commit: 73eb9b33147ba5157cbf5d8276ee718629dfbbda
https://github.com/llvm/llvm-project/commit/73eb9b33147ba5157cbf5d8276ee718629dfbbda
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/lib/ProfileData/InstrProf.cpp
A llvm/test/tools/llvm-profdata/show-order-error.proftext
M llvm/test/tools/llvm-profdata/show-order.proftext
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ProfileData/BPFunctionNodeTest.cpp
Log Message:
-----------
[InstrProf] Evaluate function order using test traces (#92451)
The `llvm-profdata order` command is used to compute a function order
using traces from the input profile. Add the `--num-test-traces` flag to
keep aside N traces to evalute this order. These test traces are assumed
to be the actual function execution order in some experiment. The output
is a number that represents how many page faults we got. Lower is
better.
I tested on a large profile I already had.
```
llvm-profdata order default.profdata --num-test-traces=30
# Ordered 149103 functions
# Total area under the page fault curve: 2.271827e+09
...
```
I also improved `TemporalProfTraceTy::createBPFunctionNodes()` in a few
ways:
* Simplified how `UN`s are computed
* Change how the initial `Node` order is computed
* Filter out rare and common `UN`s
* Output vector is an aliased argument instead of a return
These changes slightly improved the evaluation in my test.
```
llvm-profdata order default.profdata --num-test-traces=30
# Ordered 149103 functions
# Total area under the page fault curve: 2.268586e+09
...
```
Commit: a38f0157f2a9efcae13b691c63723426e8adc0ee
https://github.com/llvm/llvm-project/commit/a38f0157f2a9efcae13b691c63723426e8adc0ee
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Passes/BinaryPasses.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
Log Message:
-----------
[BOLT] Set InitialDynoStats after EstimateEdgeCounts (#93218)
InitialDynoStats used to be assigned inside `runAllPasses`, but the
assignment executed before any of the passes. As we've moved
`EstimateEdgeCounts` into a pass out of ProfileReader, it needs to
execute before initial dyno stats are set.
Thus move `InitialDynoStats` into BinaryContext and assignment into
`DynoStatsSetPass`.
Commit: b49ce9c304b00dae49148b6a2f5f27965000206c
https://github.com/llvm/llvm-project/commit/b49ce9c304b00dae49148b6a2f5f27965000206c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/CodeGen/SystemZ/sync-builtins-i128-8Al.c
M clang/test/Driver/android-unversioned-fallback-warning.cpp
M clang/test/Driver/cl-x86-flags.c
M clang/test/Driver/cuda-cross-compiling.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/loongarch-mlasx-error.c
M clang/test/Driver/loongarch-mlsx-error.c
M clang/test/Driver/openmp-offload-infer.c
M clang/test/Driver/openmp-system-arch.c
M clang/test/Frontend/optimization-remark-options.c
M clang/test/Frontend/x86-target-cpu.c
M clang/test/InstallAPI/binary-attributes.test
M clang/test/OpenMP/atomic_messages.c
M clang/test/OpenMP/target_update_messages.cpp
M clang/test/Parser/objcbridge-related-attribute.m
M clang/test/Parser/pragma-attribute.cpp
M clang/test/Profile/misexpect-branch.c
M clang/test/Profile/misexpect-switch-default.c
M clang/test/Profile/misexpect-switch.c
M clang/test/Sema/attr-objc-bridge-related.m
M clang/test/Sema/constant_builtins_vector.cpp
M clang/test/SemaCUDA/device-var-init.cu
M clang/test/SemaCUDA/function-overload.cu
M clang/test/SemaCUDA/union-init.cu
M clang/test/SemaCXX/addr-label-in-coroutines.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-pragma-misuse.cpp
M clang/test/SemaOpenCL/vector_swizzle_length.cl
M clang/unittests/Driver/DXCModeTest.cpp
M flang/test/Driver/fopenmp.f90
M flang/test/Driver/w-arg-unsupported.f90
M flang/test/Driver/wextra-ok.f90
Log Message:
-----------
Fix more diagnostic wording for style; NFC (#93190)
This tries to fix all of the places where a diagnostic message starts
with a capital letter (other than acroynyms or proper nouns) or ends
with punctuation (other than a question mark).
This is in support of a planned change to tablegen to start diagnosing
incorrect diagnostic message styles.
Commit: f3d6db36f8c22ac87b20ac46ed2d6391c5af2108
https://github.com/llvm/llvm-project/commit/f3d6db36f8c22ac87b20ac46ed2d6391c5af2108
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/utils/TableGen/Common/CMakeLists.txt
Log Message:
-----------
[TableGen][CMake] Add missing dependency to intrinsics_gen (#93134)
A missing dependency resulted in `fatal error: 'llvm/IR/Attributes.inc'
file not found` errors when performing an Apple-stage2 build with
LLVM_ENABLE_MODULES enabled.
This resolves the scheduling issue when building LLVMTableGenCommon
library target.
resolves: rdar://128536914
Commit: 300663a190537cfd2692003dc4af0aebb904bde0
https://github.com/llvm/llvm-project/commit/300663a190537cfd2692003dc4af0aebb904bde0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[memprof] Use std::move in toMemProfRecord (#93133)
std::move and reserve here result in a measurable speed-up in
llvm-profdata modified to deserialize all MemProfRecords. The cycle
count goes down by 7.1% while the instruction count goes down by 21%.
Commit: 0da9e8ec44e49a73924441d88b4a6a2a9503f9c1
https://github.com/llvm/llvm-project/commit/0da9e8ec44e49a73924441d88b4a6a2a9503f9c1
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port #92331 (#93232)
Commit: 10be6c96b831a3511d2b381d5e1130d6b7e3e2ff
https://github.com/llvm/llvm-project/commit/10be6c96b831a3511d2b381d5e1130d6b7e3e2ff
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/unittests/Driver/DXCModeTest.cpp
Log Message:
-----------
Fix an accidental escape sequence in a unit test
This amends b49ce9c304b00dae49148b6a2f5f27965000206c
Commit: 72417920d3f2471705fda3e40de1afde5f449411
https://github.com/llvm/llvm-project/commit/72417920d3f2471705fda3e40de1afde5f449411
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M libcxx/include/__algorithm/copy_move_common.h
M libcxx/include/__algorithm/pstl_copy.h
M libcxx/include/__algorithm/pstl_move.h
Log Message:
-----------
[libc++] Remove a few unused includes of trivially_copyable.h (#93200)
Commit: 42b5daba504a8b4fd60a57dde93ee5d0118abf0b
https://github.com/llvm/llvm-project/commit/42b5daba504a8b4fd60a57dde93ee5d0118abf0b
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M libunwind/src/UnwindCursor.hpp
Log Message:
-----------
[libunwind][AIX] Cast NULL as type uintptr_t. (#93204)
Casting NULL as type `uintptr_t` to allow type checking in both 32-bit
and 64-bit mode.
Commit: 208544fc70d2cfd5b2c13232a267048108da1978
https://github.com/llvm/llvm-project/commit/208544fc70d2cfd5b2c13232a267048108da1978
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/include/flang/Common/api-attrs.h
M flang/include/flang/Common/visit.h
M flang/runtime/terminator.h
Log Message:
-----------
[flang][runtime] Added noinline for some functions in device build. (#93128)
This helps reducing the compilation time spent by the device
compiler optimizer and then the code generator. Since F18 RT
is going to be distributed as LLVM BC for some targets
(same way as LLVM liboffload device library is distributed)
and linked to the user offload code, the compilation time
of the produced LLVM BC will be critical.
Commit: 70d1844abebb786c1510f72f79558ff3e8710d39
https://github.com/llvm/llvm-project/commit/70d1844abebb786c1510f72f79558ff3e8710d39
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
Log Message:
-----------
[flang] Fix crash in error recovery (#92786)
EQUIVALENCE set processing assumes that any arrays have explicit shape
and constant lower bounds. When an erroneous program violates those
assumptions, the compiler crashes. Fix.
Fixes https://github.com/llvm/llvm-project/issues/92636.
Commit: c9f94baca5d603392ed1739747dd0f9b2bd3adb3
https://github.com/llvm/llvm-project/commit/c9f94baca5d603392ed1739747dd0f9b2bd3adb3
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/include/flang/Semantics/scope.h
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/procinterface05.f90
Log Message:
-----------
[flang] Fix crash in error recovery (implicit host association) (#92795)
When a symbol appears in a specification expression in a subprogram
contained in a host program unit, semantics may have to create a symbol
in the host and use host association to it. This shouldn't happen for
nested subprograms that can't import such a symbol, such as interface
blocks by default. Further, when host association fails, semantics
shouldn't crash.
Fixes https://github.com/llvm/llvm-project/issues/92647.
Commit: 46541a363695b9014cd95267fa78592be752d64d
https://github.com/llvm/llvm-project/commit/46541a363695b9014cd95267fa78592be752d64d
Author: David Green <david.green at arm.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/ARM/mve-known-trip-count.ll
Log Message:
-----------
[ARM] Add a extra MVE low-trip-count loop. NFC
This makes use of half floats, which makes the masked stores expensive.
Commit: 87452bcb806c9a45b09dab7c2e6594a7ebb085a2
https://github.com/llvm/llvm-project/commit/87452bcb806c9a45b09dab7c2e6594a7ebb085a2
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/test/Semantics/OpenMP/simd01.f90
M flang/test/Semantics/OpenMP/simd02.f90
M flang/test/Semantics/OpenMP/struct.f90
M flang/test/Semantics/OpenMP/sync-critical01.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
M flang/test/Semantics/OpenMP/workshare01.f90
M flang/test/Semantics/OpenMP/workshare02.f90
M flang/test/Semantics/OpenMP/workshare03.f90
M flang/test/Semantics/OpenMP/workshare04.f90
M flang/test/Semantics/OpenMP/workshare05.f90
Log Message:
-----------
[Flang][OpenMP] Reenable a few tests 4/n (#93214)
Re-enable a few simd, critical, workshare tests.
Commit: 8ad980d7dc7070aa9ccb226b92d5dfa3c75d8652
https://github.com/llvm/llvm-project/commit/8ad980d7dc7070aa9ccb226b92d5dfa3c75d8652
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/InstrProfReader.cpp
Log Message:
-----------
[memprof] Refactor getMemProfRecord (NFC) (#93138)
This patch refactors getMemProfRecord for readability while adding
consistency checks.
- This patch adds a switch statement on the MemProf version just like
most places dealing with MemProf serialization/deserialization.
- This patch adds asserts to ensure that the exact set of data
structures are available while ones we do not use are not present.
That is, getMemProfRecord no longer determines the version based on
the availability of MemProfCallStackTable.
Commit: f6dc3ccd8c6957bdf8ccf2b7cb25b44240a160a3
https://github.com/llvm/llvm-project/commit/f6dc3ccd8c6957bdf8ccf2b7cb25b44240a160a3
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
[docs] Office hours trial - Renato Golin
Commit: faa0bd3ca2d1ee1dba1cd790e6e8e8b7cf8fca5c
https://github.com/llvm/llvm-project/commit/faa0bd3ca2d1ee1dba1cd790e6e8e8b7cf8fca5c
Author: Renato Golin <rengolin at systemcall.eu>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
[docs] Fix bug in office hours link
Commit: dc1bfbc9735ba82bf319e6aa2209e1a795fb659f
https://github.com/llvm/llvm-project/commit/dc1bfbc9735ba82bf319e6aa2209e1a795fb659f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/utils/ci/buildkite-pipeline.yml
M clang/utils/ci/run-buildbot
Log Message:
-----------
[clang][ci] Remove unnecessary BuildKite jobs for Clang (#93233)
1. Remove the format-checking job from the BuildKite pipeline. We now
have a monorepo-wide format checker implemented with Github Actions, so
that should not be necessary anymore.
2. Stop building and testing Clang on Windows via the clang-ci pipeline.
We already do that in the github-pull-requests pipeline, so that's just
duplicate work.
3. Stop testing Clang on Linux in the clang-ci pipeline. We already do
that in the github-pull-requests pipeline too, so that's also duplicate
work. For now we still build Clang because the other jobs in the
clang-ci pipeline require its artifacts, but that could be improved.
Commit: af31883341a122a7285e9b4f0a034470024021eb
https://github.com/llvm/llvm-project/commit/af31883341a122a7285e9b4f0a034470024021eb
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M lldb/source/Host/common/Socket.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/Symbol.cpp
M lldb/source/Symbol/SymbolFileOnDemand.cpp
M lldb/source/Symbol/TypeSystem.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Utility/Status.cpp
M llvm/include/llvm/Support/Error.h
Log Message:
-----------
Add a createError variant without error code (NFC) (#93209)
For the significant amount of call sites that want to create an
incontrovertible error, such a wrapper function creates a significant
readability improvement and lowers the cost of entry to add error
handling in more places.
Commit: a4490217fc04f00342501bdc49efcd314e2787da
https://github.com/llvm/llvm-project/commit/a4490217fc04f00342501bdc49efcd314e2787da
Author: drazi <fengxie83 at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
A mlir/test/Transforms/test-convert-func-op.mlir
M mlir/test/lib/Conversion/FuncToLLVM/CMakeLists.txt
A mlir/test/lib/Conversion/FuncToLLVM/TestConvertFuncOp.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
merge code for llvm.emit_c_interface into convertFuncOpToLLVMFuncOp (#92986)
In today's repo, attribute `llvm.emit_c_interface` of func op is handled
outside of `mlir::convertFuncOpToLLVMFuncOp` in `FuncOpConversion`
pattern. In some cases, `FuncOpConversion` can't be directly re-used,
but we still want to re-use the code to emit c interface for
`llvm.emit_c_interface`.
Changes in this PR
* move the code to generate c with "llvm.emit_c_interface" interface
into `mlir::convertFuncOpToLLVMFuncOp` to be able to re-use it.
* added unit test to verify c interface for jit can be generated
correctly if only call `convertFuncOpToLLVMFuncOp`.
* removed `FuncOpConversionBase`
---------
Co-authored-by: Fung Xie <ftse at nvidia.com>
Commit: fafc6271c6b14bb0fd6457f856b2382fd941d051
https://github.com/llvm/llvm-project/commit/fafc6271c6b14bb0fd6457f856b2382fd941d051
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Port #92986 (#93248)
Commit: 63e8c0a0e48939371652f907bb868d74869ae00a
https://github.com/llvm/llvm-project/commit/63e8c0a0e48939371652f907bb868d74869ae00a
Author: Ivan Kulagin <ivan.i.kulagin at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M mlir/lib/Analysis/Liveness.cpp
M mlir/test/Analysis/test-liveness.mlir
Log Message:
-----------
[mlir] Fix liveness analysis for block arguments (#88848)
The current implementation does not take into account definitions
created by arguments of nested blocks. This leads to an incorrect
construction of the live-in set of an outer block. Arguments of nested
blocks are added to the live-in set of an outer block.
---------
Signed-off-by: ikulagin <i.kulagin at ispras.ru>
Co-authored-by: ikulagin <i.kulagin at ispras.ru>
Commit: 6d2b23c46e6ad174d16721c4c42a00a2835eab92
https://github.com/llvm/llvm-project/commit/6d2b23c46e6ad174d16721c4c42a00a2835eab92
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-declarations.cpp
Log Message:
-----------
[flang] Fix crash in error recovery (bad binding) (#92800)
A type-bound procedure that's bound to a name that isn't a procedure is
caught as an error, but can also lead to a crash in compatibility
checking later. Make that code more robust to failure.
Fixes https://github.com/llvm/llvm-project/issues/92678.
Commit: 975579bd94d4b130cf6363375d9e723281cb0ce5
https://github.com/llvm/llvm-project/commit/975579bd94d4b130cf6363375d9e723281cb0ce5
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/runtime/external-unit.cpp
M flang/runtime/unit.cpp
Log Message:
-----------
[flang] Fix variable unformatted I/O bug with output after input (#92828)
When reading variable-length unformatted records, the external I/O
library frames the input buffer so that the footer of the previous
record remains in frame. This is done so that a BACKSPACE doesn't have
to do an extra read to get the length of the previous record before
repositioning over it.
When switching from input to output to overwrite or append new records
after reading any, it is necessary to undo this framing of the last word
in the previous record, since the new output isn't going to define it in
the buffer and it'll be overwritten in the filesystem with garbage.
Commit: c24f881340c854e369d372cb4d0cbe23b3262a35
https://github.com/llvm/llvm-project/commit/c24f881340c854e369d372cb4d0cbe23b3262a35
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
Log Message:
-----------
[flang] Silence warnings from module files after recent change (#92834)
I modified declaration checking for interoperable objects to buffer its
generated messages as I had previously done for derived types and
procedure interfaces, but failed to modify all of the message creation
statements to use the new buffer, so some are now escaping when a module
file is being compiled. Fix to ensure that the new buffer is always
used.
Commit: 8ccb56cf3500ad41192881a3a7b07513bea79281
https://github.com/llvm/llvm-project/commit/8ccb56cf3500ad41192881a3a7b07513bea79281
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/lib/Evaluate/shape.cpp
M flang/test/Semantics/shape.f90
Log Message:
-----------
[flang] Fix bad shape analysis of assumed-rank dummy (#92936)
Shape analysis for the results of SHAPE, LBOUND, and UBOUND (without
DIM=) needs to account for an assumed-rank dummy argument, and return a
shape vector with a single unknown element.
Commit: d03e56b27cd992e29482a21d88693f626f3dfffb
https://github.com/llvm/llvm-project/commit/d03e56b27cd992e29482a21d88693f626f3dfffb
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M llvm/include/llvm/Option/ArgList.h
Log Message:
-----------
[Driver] Simplify -f[no-]sized-deallocation forwarding. NFC
Commit: 47b485c052d3ced9d846cf0e9b6a1a7d450f6dee
https://github.com/llvm/llvm-project/commit/47b485c052d3ced9d846cf0e9b6a1a7d450f6dee
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Evaluate/triplets01.f90
Log Message:
-----------
[flang] Fix type of array constructor triplet (extension) (#92970)
The type of "[lo:hi:str]" is being forced to INTEGER(8), ignoring the
types of the operands to the triplet. The type of a triplet should be
whatever the type of "lo+hi+str" would be.
(Array constructor triplets are a syntactic sugar extension for an
implied DO loop.)
Commit: 9ce8e63ceb447f7c2a0e92595466ed13a5acac48
https://github.com/llvm/llvm-project/commit/9ce8e63ceb447f7c2a0e92595466ed13a5acac48
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/include/flang/Evaluate/constant.h
M flang/include/flang/Evaluate/expression.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Semantics/semantics.h
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/test/Semantics/modfile03.f90
Log Message:
-----------
[flang] Better renaming in module files (#93106)
When a symbol from one module is used in another without an explicit USE
association, the module file output code may need to use another name
for it -- either with a name that is already available via USE
association with renaming, or by means of a new private USE association,
possibly with renaming to avoid a clash.
Module file output was dealing properly with names of derived types, but
wasn't accounting for symbols that appear in expressions other than
initializations. This was specifically a problem with an application
module that had a call to a NOPASS type-bound procedure in an array
bound specification expression, which semantics had resolved to the name
of a private module function.
This patch implements renaming, when necessary, for all symbols
appearing in expressions and type names, and replaces the previous
implementation of derived type renaming. It also gets a little smarter
about avoiding the creation of compiler-generated names when a name from
another module has been brought into scope already by means of USE
association with renaming.
Commit: 79c2a1e4efc8a772744ae4df36622b3bbbbbdc3f
https://github.com/llvm/llvm-project/commit/79c2a1e4efc8a772744ae4df36622b3bbbbbdc3f
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/runtime/numeric.cpp
Log Message:
-----------
[flang][runtime] Correct SELECTED_LOGICAL_KIND() (#93108)
The implementation of the runtime version of this intrinsic function in
https://github.com/llvm/llvm-project/pull/89691 was incorrect. Fix it to
interpret its argument as a bit count.
Commit: e2a3880d7ffeefb433d686b0eda59a9e34d98e16
https://github.com/llvm/llvm-project/commit/e2a3880d7ffeefb433d686b0eda59a9e34d98e16
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/bind-c12.f90
Log Message:
-----------
[flang] Revert two new interoperability semantic checks (#93112)
Two checks related to BIND(C) vs non-BIND(C) entry points with the same
dummy argument added by https://github.com/llvm/llvm-project/pull/92474
have turned out to be unnecessary. Revert them and adjust the tests.
Commit: 83b3e13e89f92c1d74ac4ea193c2fbc9d7287517
https://github.com/llvm/llvm-project/commit/83b3e13e89f92c1d74ac4ea193c2fbc9d7287517
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Allow processing of binaries with stripped FILE symbols mismatching the profile (#93238)
Reintroduce allow-stripped as a fallback mechanism after enforcement of
HasSymbolsWithFileName was fixed in
https://github.com/llvm/llvm-project/pull/92625.
This partially reverts commit ccabbfff86a00a0b211f5d0835916a1250ebcf0f.
Commit: dc78329dbbf5b9988b02cab9092ccca32c6517bc
https://github.com/llvm/llvm-project/commit/dc78329dbbf5b9988b02cab9092ccca32c6517bc
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/call05.f90
Log Message:
-----------
[flang] Extension: associating polymorphic pointer/allocatable actual… (#93211)
… with monomorphic dummy
The relevant standard requires (F'2023 15.5.2.6 p2) that when a pointer
or allocatable actual argument is associated with an
identically-attributed dummy argument, either both are polymorphic or
neither is. We already relax this requirement in the case of an
INTENT(IN) dummy argument, since a change of type cannot occur. Further,
like other compilers do, we can also relax this requirement in the case
of a limited polymorphic actual argument being associated with a
monomorphic dummy, as our implementation always passes a reference to
the actual descriptor, where any change of type that occurs during the
call due to reallocation will be properly recorded.
Commit: 9223ccb0e56d6d4de17808e2e4000c8019a9a218
https://github.com/llvm/llvm-project/commit/9223ccb0e56d6d4de17808e2e4000c8019a9a218
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M llvm/include/llvm/Support/Error.h
M llvm/lib/Support/Error.cpp
Log Message:
-----------
Avoid std::string -> (char *) roundtrip in createStringError() (NFC) (#93242)
The current API first creates a temporary std::string, then passes it as
a C string, only to then convert it into a std::string for storage, thus
unnecessarily computing the length of the string and copying it.
Commit: ddee8eff9c2419724aa5ce78d8a3a6a9715b784b
https://github.com/llvm/llvm-project/commit/ddee8eff9c2419724aa5ce78d8a3a6a9715b784b
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/test/Driver/fast-math.c
M clang/test/Driver/fat-archive-unbundle-ext.c
M clang/test/Driver/fatal-warnings.c
M clang/test/Driver/fbinutils-version.c
M clang/test/Driver/fdirect-access-external-data.c
M clang/test/Driver/fembed-bitcode.c
M clang/test/Driver/fexcess-precision.c
M clang/test/Driver/fextend-args.c
M clang/test/Driver/fforce-dwarf-frame.c
M clang/test/Driver/fgnuc-version.c
M clang/test/Driver/flags.c
M clang/test/Driver/flang/msvc-link.f90
M clang/test/Driver/fmemprof.cpp
M clang/test/Driver/fopenmp.c
M clang/test/Driver/fortran.f95
M clang/test/Driver/fpatchable-function-entry.c
M clang/test/Driver/frame-pointer-elim.c
M clang/test/Driver/freebsd-mips-as.c
M clang/test/Driver/freebsd.cpp
M clang/test/Driver/fsanitize-coverage.c
M clang/test/Driver/fsanitize-ignorelist.c
M clang/test/Driver/fsanitize-memory-param-retval.c
M clang/test/Driver/fsanitize-metadata-ignorelist.c
M clang/test/Driver/fsanitize-object-size.c
M clang/test/Driver/fsemantic-interposition.c
M clang/test/Driver/fsjlj-exceptions.c
M clang/test/Driver/fuse-ld-windows.c
M clang/test/Driver/fuse-ld.c
M clang/test/Driver/fuzzer.c
M clang/test/Driver/fveclib.c
Log Message:
-----------
[Driver][test] Replace legacy -target with --target=
Similar to previous cleanup.
Commit: 06aadbeb2538c3e28cca7c82db102dffc7bdc269
https://github.com/llvm/llvm-project/commit/06aadbeb2538c3e28cca7c82db102dffc7bdc269
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/CXX/temp/temp.decls/temp.alias/p2.cpp
M clang/test/SemaTemplate/cwg2398.cpp
Log Message:
-----------
Revert "[clang] Implement CWG2398 provisional TTP matching to class templates" (#93258)
Reverts llvm/llvm-project#92855
This is causing issues, there are still being reduced, but does look
like a problem.
See PR for user reports.
Commit: 8f5a2325c39221efb6a0512639edb750ded62c44
https://github.com/llvm/llvm-project/commit/8f5a2325c39221efb6a0512639edb750ded62c44
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/tools/llvm-profgen/PerfReader.cpp
Log Message:
-----------
[llvm-profgen] Trim tail CR+LF for LBR record line (#93210)
On Windows, perfscript generated by sep contains CR+LF at the end of
LBR records line. This '\r' will be treated as a LBR record when running
llvm-profgen on Linux and then generate warning.
Commit: 39d32b238dde06999ddf4d6cc7285e275a138131
https://github.com/llvm/llvm-project/commit/39d32b238dde06999ddf4d6cc7285e275a138131
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M lld/test/wasm/shared64.s
M lld/wasm/Driver.cpp
M lld/wasm/Symbols.cpp
M lld/wasm/Symbols.h
M lld/wasm/SyntheticSections.cpp
M lld/wasm/Writer.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
R llvm/test/CodeGen/WebAssembly/fast-isel-call-indirect64.ll
M llvm/test/CodeGen/WebAssembly/function-pointer64.ll
Log Message:
-----------
[WebAssembly] Use 64-bit table when targeting wasm64 (#92042)
See https://github.com/WebAssembly/memory64/issues/51
Commit: 29189738b832b111b905fcc037a287eeeb0aab2c
https://github.com/llvm/llvm-project/commit/29189738b832b111b905fcc037a287eeeb0aab2c
Author: Dan Liew <dan at su-root.co.uk>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/Type.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
A clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
A clang/test/AST/attr-counted-by-struct-ptrs.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/attr-counted-by-late-parsed-off.c
A clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
A clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
A clang/test/Sema/attr-counted-by-struct-ptrs.c
A clang/test/Sema/attr-counted-by-vla-sizeless-types.c
A clang/test/Sema/attr-counted-by-vla.c
R clang/test/Sema/attr-counted-by.c
Log Message:
-----------
Reland #90786 ([BoundsSafety] Allow 'counted_by' attribute on pointers in structs in C) (#93121)
[BoundsSafety] Reland #93121 Allow 'counted_by' attribute on pointers in structs in C (#93121)
Fixes #92687.
Previously the attribute was only allowed on flexible array members.
This patch patch changes this to also allow the attribute on pointer
fields in structs and also allows late parsing of the attribute in some
contexts.
For example this previously wasn't allowed:
```
struct BufferTypeDeclAttributePosition {
size_t count;
char* buffer __counted_by(count); // Now allowed
}
```
Note the attribute is prevented on pointee types where the size isn't
known at compile time. In particular pointee types that are:
* Incomplete (e.g. `void`) and sizeless types
* Function types (e.g. the pointee of a function pointer)
* Struct types with a flexible array member
This patch also introduces late parsing of the attribute when used in
the declaration attribute position. For example
```
struct BufferTypeDeclAttributePosition {
char* buffer __counted_by(count); // Now allowed
size_t count;
}
```
is now allowed but **only** when passing
`-fexperimental-late-parse-attributes`. The motivation for using late
parsing here is to avoid breaking the data layout of structs in existing
code that want to use the `counted_by` attribute. This patch is the
first use of `LateAttrParseExperimentalExt` in `Attr.td` that was
introduced in a previous patch.
Note by allowing the attribute on struct member pointers this now allows
the possiblity of writing the attribute in the type attribute position.
For example:
```
struct BufferTypeAttributePosition {
size_t count;
char *__counted_by(count) buffer; // Now allowed
}
```
However, the attribute in this position is still currently parsed
immediately rather than late parsed. So this will not parse currently:
```
struct BufferTypeAttributePosition {
char *__counted_by(count) buffer; // Fails to parse
size_t count;
}
```
The intention is to lift this restriction in future patches. It has not
been done in this patch to keep this size of this commit small.
There are also several other follow up changes that will need to be
addressed in future patches:
* Make late parsing working with anonymous structs (see
`on_pointer_anon_buf` in `attr-counted-by-late-parsed-struct-ptrs.c`).
* Allow `counted_by` on more subjects (e.g. parameters, returns types)
when `-fbounds-safety` is enabled.
* Make use of the attribute on pointer types in code gen (e.g. for
`_builtin_dynamic_object_size` and UBSan's array-bounds checks).
This work is heavily based on a patch originally written by Yeoul Na.
** Differences between #93121 and this patch **
* The memory leak that caused #93121 to be reverted (see #92687) should
now be fixed. See "The Memory Leak".
* The fix to `pragma-attribute-supported-attributes-list.test`
(originally in cef6387) has been incorporated into this patch.
* A relaxation of counted_by semantics (originally in 112eadd) has been
incorporated into this patch.
* The assert in `Parser::DistributeCLateParsedAttrs` has been removed
because that broke downstream code.
* The switch statement in `Parser::ParseLexedCAttribute` has been
removed in favor of using `Parser::ParseGNUAttributeArgs` which does
the same thing but is more feature complete.
* The `EnterScope` parameter has been plumbed through
`Parser::ParseLexedCAttribute` and `Parser::ParseLexedCAttributeList`.
It currently doesn't do anything but it will be needed in future
commits.
** The Memory Leak **
The problem was that these lines parsed the attributes but then did nothing to free the memory
```
assert(!getLangOpts().CPlusPlus);
for (auto *LateAttr : LateFieldAttrs)
ParseLexedCAttribute(*LateAttr);
```
To fix this this a new `Parser::ParseLexedCAttributeList` method has been
added (based on `Parser::ParseLexedAttributeList`) which does the
necessary memory management. The intention is to merge these two
methods together so there is just one implementation in a future patch
(#93263).
A more principled fixed here would be to fix the ownership of the
`LateParsedAttribute` objects. In principle `LateParsedAttrList` should own
its pointers exclusively and be responsible for deallocating them.
Unfortunately this is complicated by `LateParsedAttribute` objects also
being stored in another data structure (`LateParsedDeclarations`) as
can be seen below (`LA` gets stored in two places).
```
// Handle attributes with arguments that require late parsing.
LateParsedAttribute *LA =
new LateParsedAttribute(this, *AttrName, AttrNameLoc);
LateAttrs->push_back(LA);
// Attributes in a class are parsed at the end of the class, along
// with other late-parsed declarations.
if (!ClassStack.empty() && !LateAttrs->parseSoon())
getCurrentClass().LateParsedDeclarations.push_back(LA);
```
this means the ownership of LateParsedAttribute objects isn't very
clear.
rdar://125400257
Commit: d1d9545ed3db2105449d7fe86e7ccaed1eedd0da
https://github.com/llvm/llvm-project/commit/d1d9545ed3db2105449d7fe86e7ccaed1eedd0da
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/bb-with-two-tail-calls.s
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
Log Message:
-----------
[BOLT][BAT] Add entries for deleted basic blocks
Deleted basic blocks are required for correct mapping of branches
modified by SCTC.
Increases BAT size, bytes:
- large binary: 8622496 -> 8703244.
- small binary (X86/bolt-address-translation.test): 928 -> 940.
Test Plan: updated bb-with-two-tail-calls.s
Reviewers: ayermolo, dcci, maksfb, rafaelauler
Reviewed By: rafaelauler
Pull Request: https://github.com/llvm/llvm-project/pull/91906
Commit: 09c5525610579d71f45502c304146db1d7b38107
https://github.com/llvm/llvm-project/commit/09c5525610579d71f45502c304146db1d7b38107
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-wasm.c
M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.td
M llvm/test/CodeGen/WebAssembly/half-precision.ll
M llvm/test/MC/WebAssembly/simd-encodings.s
Log Message:
-----------
[WebAssembly] Implement prototype f16x8.splat instruction. (#93228)
Adds a builtin and intrinsic for the f16x8.splat instruction.
Specified at:
https://github.com/WebAssembly/half-precision/blob/29a9b9462c9285d4ccc1a5dc39214ddfd1892658/proposals/half-precision/Overview.md
Note: the current spec has f16x8.splat as opcode 0x123, but this is
incorrect and will be changed to 0x120 soon.
Commit: f9e9e599c0138b2403bc89934ddace0c2a8d84d6
https://github.com/llvm/llvm-project/commit/f9e9e599c0138b2403bc89934ddace0c2a8d84d6
Author: Wentao Zhang <35722712+whentojump at users.noreply.github.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/builtinmacro.c
M clang/test/CoverageMapping/macros.c
M clang/test/CoverageMapping/mcdc-scratch-space.c
Log Message:
-----------
[Coverage][Expansion] handle nested macros in scratch space (#89869)
The problematic program is as follows:
```shell
#define pre_a 0
#define PRE(x) pre_##x
void f(void) {
PRE(a) && 0;
}
int main(void) { return 0; }
```
in which after token concatenation (`##`), there's another nested macro
`pre_a`.
Currently only the outer expansion region will be produced. ([compiler
explorer
link](https://godbolt.org/#g:!((g:!((g:!((h:codeEditor,i:(filename:'1',fontScale:14,fontUsePx:'0',j:1,lang:___c,selection:(endColumn:29,endLineNumber:8,positionColumn:29,positionLineNumber:8,selectionStartColumn:29,selectionStartLineNumber:8,startColumn:29,startLineNumber:8),source:'%23define+pre_a+0%0A%23define+PRE(x)+pre_%23%23x%0A%0Avoid+f(void)+%7B%0A++++PRE(a)+%26%26+0%3B%0A%7D%0A%0Aint+main(void)+%7B+return+0%3B+%7D'),l:'5',n:'0',o:'C+source+%231',t:'0')),k:51.69491525423727,l:'4',n:'0',o:'',s:0,t:'0'),(g:!((g:!((h:compiler,i:(compiler:cclang_assertions_trunk,filters:(b:'0',binary:'1',binaryObject:'1',commentOnly:'0',debugCalls:'1',demangle:'0',directives:'0',execute:'0',intel:'0',libraryCode:'1',trim:'1',verboseDemangling:'0'),flagsViewOpen:'1',fontScale:14,fontUsePx:'0',j:2,lang:___c,libs:!(),options:'-fprofile-instr-generate+-fcoverage-mapping+-fcoverage-mcdc+-Xclang+-dump-coverage-mapping+',overrides:!(),selection:(endColumn:1,endLineNumber:1,positionColumn:1,positionLineNumber:1,selectionStartColumn:1,selectionStartLineNumber:1,startColumn:1,startLineNumber:1),source:1),l:'5',n:'0',o:'+x86-64+clang+(assertions+trunk)+(Editor+%231)',t:'0')),k:34.5741843594503,l:'4',m:28.903654485049834,n:'0',o:'',s:0,t:'0'),(g:!((h:output,i:(compilerName:'x86-64+clang+(trunk)',editorid:1,fontScale:14,fontUsePx:'0',j:2,wrap:'1'),l:'5',n:'0',o:'Output+of+x86-64+clang+(assertions+trunk)+(Compiler+%232)',t:'0')),header:(),l:'4',m:71.09634551495017,n:'0',o:'',s:0,t:'0')),k:48.30508474576271,l:'3',n:'0',o:'',t:'0')),l:'2',m:100,n:'0',o:'',t:'0')),version:4))
```text
f:
File 0, 4:14 -> 6:2 = #0
Decision,File 0, 5:5 -> 5:16 = M:0, C:2
Expansion,File 0, 5:5 -> 5:8 = #0 (Expanded file = 1)
File 0, 5:15 -> 5:16 = #1
Branch,File 0, 5:15 -> 5:16 = 0, 0 [2,0,0]
File 1, 2:16 -> 2:23 = #0
File 2, 1:15 -> 1:16 = #0
File 2, 1:15 -> 1:16 = #0
Branch,File 2, 1:15 -> 1:16 = 0, 0 [1,2,0]
```
The inner expansion region isn't produced because:
1. In the range-based for loop quoted below, each sloc is processed and
possibly emit a corresponding expansion region.
2. For our sloc in question, its direct parent returned by
`getIncludeOrExpansionLoc()` is a `<scratch space>`, because that's how
`##` is processed.
https://github.com/llvm/llvm-project/blob/88b6186af3908c55b357858eb348b5143f21c289/clang/lib/CodeGen/CoverageMappingGen.cpp#L518-L520
3. This `<scratch space>` cannot be found in the FileID mapping so
`ParentFileID` will be assigned an `std::nullopt`
https://github.com/llvm/llvm-project/blob/88b6186af3908c55b357858eb348b5143f21c289/clang/lib/CodeGen/CoverageMappingGen.cpp#L521-L526
4. As a result this iteration of for loop finishes early and no
expansion region is added for the sloc.
This problem gets worse with MC/DC: as the example shows, there's a
branch from File 2 but File 2 itself is missing. This will trigger
assertion failures.
The fix is more or less a workaround and takes a similar approach as
#89573.
~~Depends on #89573.~~ This includes #89573. Kudos to @chapuni!
This and #89573 together fix #87000: I tested locally, both the reduced
program and my original use case (fwiw, Linux kernel) can run
successfully.
---------
Co-authored-by: NAKAMURA Takumi <geek4civic at gmail.com>
Commit: cd9bab2e2acbdc22943703d5649dede72b09cad7
https://github.com/llvm/llvm-project/commit/cd9bab2e2acbdc22943703d5649dede72b09cad7
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFastISel.cpp
M llvm/test/CodeGen/PowerPC/aix-tocdata-fastisel.ll
M llvm/test/CodeGen/PowerPC/toc-data.ll
Log Message:
-----------
[PowerPC] handle toc-data in load selection of fast-isel (#91916)
Support the address selection for toc-data globals in fast isel. This
benefits instruction selection for fast-isel for toc data symbol for
example for load selection. This also aligns the code generation
with/without -mtocdata.
Commit: 1b803fe53dda11ca63f008f5ab8e206f3954ce48
https://github.com/llvm/llvm-project/commit/1b803fe53dda11ca63f008f5ab8e206f3954ce48
Author: Jeff Niu <jeff at modular.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M mlir/include/mlir/Support/ThreadLocalCache.h
Log Message:
-----------
[mlir] Optimize ThreadLocalCache by removing atomic bottleneck (#93270)
The ThreadLocalCache implementation is used by the MLIRContext (among
other things) to try to manage thread contention in the StorageUniquers.
There is a bunch of fancy shared pointer/weak pointer setups that
basically keeps everything alive across threads at the right time, but a
huge bottleneck is the `weak_ptr::lock` call inside the `::get` method.
This is because the `lock` method has to hit the atomic refcount several
times, and this is bottlenecking performance across many threads.
However, all this is doing is checking whether the storage is
initialized. We know that it cannot be an expired weak pointer because
the thread local cache object we're calling into owns the memory and is
still alive for the method call to be valid. Thus, we can store and
extra `Value *` inside the thread local cache for speedy retrieval if
the cache is already initialized for the thread, which is the common
case.
This also tightens the size of the critical section in the same method
by scoping the mutex more to just the mutation on `perInstanceState`.
Before:
<img width="560" alt="image"
src="https://github.com/llvm/llvm-project/assets/15016832/f4ea3f32-6649-4c10-88c4-b7522031e8c9">
After:
<img width="344" alt="image"
src="https://github.com/llvm/llvm-project/assets/15016832/1216db25-3dc1-4b0f-be89-caeff622dd35">
Commit: dae55c89835347a353619f506ee5c8f8a2c136a7
https://github.com/llvm/llvm-project/commit/dae55c89835347a353619f506ee5c8f8a2c136a7
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/test/CodeGen/M68k/pipeline.ll
Log Message:
-----------
[M68k] Fix compilation pipeline check
- This change is after running ObjCContractPass in default codegen
pipeline (#92331).
Commit: 3c9641e7f00fdd5a7b3a8972b19364db25d6b67b
https://github.com/llvm/llvm-project/commit/3c9641e7f00fdd5a7b3a8972b19364db25d6b67b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
LangRef: Rephrase fma description to avoid referring to libm (#92729)
Commit: 06b5a7c205cbf33d1c40efc77e0820ddd4e060fa
https://github.com/llvm/llvm-project/commit/06b5a7c205cbf33d1c40efc77e0820ddd4e060fa
Author: huangqinjin <huangqinjin at gmail.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/x-args.c
Log Message:
-----------
[clang][driver] Support `-x` for all languages in CL mode (#89772)
After https://github.com/llvm/llvm-project/pull/68921, clang-cl gained
option `-x` but only for CUDA/HIP. This commit simply removes the
restriction on parameters to `-x`. Especially, it is able to use `-x
c++-module` and `-x c++-system-header` to build C++20 modules and header
units with clang-cl.
This effectively reverts commit
fe082124faa8455cc9a68be5fdf10fc46a4d066c.
Closes https://github.com/llvm/llvm-project/issues/88006.
Commit: 5287bb97f90e0d54e7fca280ead36ec6432f87b4
https://github.com/llvm/llvm-project/commit/5287bb97f90e0d54e7fca280ead36ec6432f87b4
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M flang/test/Semantics/OpenMP/sections01.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/OpenMP/simd-aligned.f90
M flang/test/Semantics/OpenMP/simd-nontemporal.f90
M flang/test/Semantics/OpenMP/taskloop01.f90
M flang/test/Semantics/OpenMP/taskloop02.f90
M flang/test/Semantics/OpenMP/taskwait.f90
M flang/test/Semantics/OpenMP/use_device_addr.f90
M flang/test/Semantics/OpenMP/use_device_addr1.f90
M flang/test/Semantics/OpenMP/use_device_ptr.f90
M flang/test/Semantics/OpenMP/use_device_ptr1.f90
Log Message:
-----------
[Flang][OpenMP] Re-enable more OpenMP tests 5/n (#93246)
Enables a few sections, simd, taskloop, use_device tests.
Commit: 4def1ce1012897d4f80f5094c29e5383b9aa6a0b
https://github.com/llvm/llvm-project/commit/4def1ce1012897d4f80f5094c29e5383b9aa6a0b
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Headers/CMakeLists.txt
R clang/lib/Headers/avx512erintrin.h
R clang/lib/Headers/avx512pfintrin.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/module.modulemap
M clang/lib/Sema/SemaX86.cpp
R clang/test/CodeGen/X86/avx512er-builtins.c
R clang/test/CodeGen/X86/avx512pf-builtins.c
M clang/test/CodeGen/attr-cpuspecific.c
M clang/test/CodeGen/attr-target-x86.c
M clang/test/CodeGen/function-target-features.c
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/Driver/cl-x86-flags.c
M clang/test/Driver/x86-target-features.c
M clang/test/Frontend/x86-target-cpu.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Sema/builtins-x86.c
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86Instr3DNow.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/test/CodeGen/X86/avx512-cmp-kor-sequence.ll
M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin-deprecated.ll
M llvm/test/CodeGen/X86/avx512-gather-scatter-intrin.ll
R llvm/test/CodeGen/X86/avx512er-intrinsics.ll
M llvm/test/CodeGen/X86/crc32-target-feature.ll
M llvm/test/CodeGen/X86/insert-prefetch-invalid-instr.ll
M llvm/test/CodeGen/X86/prefetch.ll
M llvm/test/CodeGen/X86/speculative-load-hardening-gather.ll
M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
M llvm/test/Transforms/LoopStrengthReduce/X86/pr40514.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/LoopVectorize/X86/pr54634.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/SLPVectorizer/X86/vector_gep.ll
Log Message:
-----------
Reland "[X86] Remove knl/knm specific ISAs supports (#92883)" (#93136)
This reverts commit aa4069ea96e5eb62bc8c7895b9d920f129611b3a.
Commit: fddf350f96405d2b0f4b17025e7c7bb2d159798e
https://github.com/llvm/llvm-project/commit/fddf350f96405d2b0f4b17025e7c7bb2d159798e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 4def1ce10128
Commit: 84be76f5f3095fcf804ba33c2ab55e548e800338
https://github.com/llvm/llvm-project/commit/84be76f5f3095fcf804ba33c2ab55e548e800338
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pr90844.ll
Log Message:
-----------
[X86][EVEX512] Move 512-bit operations under useAVX512Regs
Commit: 7c220c4bd31b832167b9fceadc3d27e7989728b9
https://github.com/llvm/llvm-project/commit/7c220c4bd31b832167b9fceadc3d27e7989728b9
Author: Vincent Lee <thevinster at users.noreply.github.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
M lld/test/ELF/compressed-debug-level.test
Log Message:
-----------
[lld][ELF][test] Fix compressed-debug-level.test (#93264)
When running `check-lld-elf` on my CentOS 9 linux box, the test seems to
expect `000021` instead of `00001{{[def]}}`
Commit: 1579e9ca9ce17364963861517fecf13b00fe4d8a
https://github.com/llvm/llvm-project/commit/1579e9ca9ce17364963861517fecf13b00fe4d8a
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
R clang/test/CodeGen/thinlto-distributed-objc-contract-pass.ll
M lld/MachO/LTO.cpp
M llvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/test/CodeGen/AArch64/O0-pipeline.ll
M llvm/test/CodeGen/AArch64/O3-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/ARM/O3-pipeline.ll
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/M68k/pipeline.ll
M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/X86/O0-pipeline.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
Log Message:
-----------
Revert "Run ObjCContractPass in Default Codegen Pipeline (#92331)"
This reverts commit 8cc8e5d6c6ac9bfc888f3449f7e424678deae8c2.
This reverts commit dae55c89835347a353619f506ee5c8f8a2c136a7.
Causes major compile-time regressions for unoptimized builds.
Commit: fb1d752364ea06e8cd5f5d3233bd70141e56964f
https://github.com/llvm/llvm-project/commit/fb1d752364ea06e8cd5f5d3233bd70141e56964f
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
Fix build warning for 4def1ce10 (#93274)
Commit: 5a48223d1c3457a61b4830537c82972c17fe607e
https://github.com/llvm/llvm-project/commit/5a48223d1c3457a61b4830537c82972c17fe607e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-05-23 (Thu, 23 May 2024)
Changed paths:
R llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
R llvm/lib/Target/AMDGPU/AMDGPUSplitModule.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
R llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize-with-call.ll
R llvm/test/tools/llvm-split/AMDGPU/address-taken-externalize.ll
R llvm/test/tools/llvm-split/AMDGPU/debug-name-hiding.ll
R llvm/test/tools/llvm-split/AMDGPU/kernels-alias-dependencies.ll
R llvm/test/tools/llvm-split/AMDGPU/kernels-cost-ranking.ll
R llvm/test/tools/llvm-split/AMDGPU/kernels-dependencies.ll
R llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-duplication.ll
R llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-external.ll
R llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-indirect.ll
R llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-overridable.ll
R llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables-noexternal.ll
R llvm/test/tools/llvm-split/AMDGPU/kernels-global-variables.ll
R llvm/test/tools/llvm-split/AMDGPU/kernels-load-balancing.ll
R llvm/test/tools/llvm-split/AMDGPU/kernels-no-dependencies.ll
R llvm/test/tools/llvm-split/AMDGPU/large-kernels-merging.ll
R llvm/test/tools/llvm-split/AMDGPU/lit.local.cfg
Log Message:
-----------
Revert "[AMDGPU] Add AMDGPU-specific module splitting" (#93275)
Fails on https://lab.llvm.org/buildbot/#/builders/85/builds/24181
and https://lab.llvm.org/buildbot/#/builders/5/builds/43589
Reverts llvm/llvm-project#89245
Commit: fa6377119c0624773cb698935692d46843e9f6ec
https://github.com/llvm/llvm-project/commit/fa6377119c0624773cb698935692d46843e9f6ec
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_logpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setFunctionBreakpoints.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/completions/TestDAP_completions.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_redirection_to_console.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/disconnect/TestDAP_disconnect.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/optimized/TestDAP_optimized.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/API/tools/lldb-dap/stackTraceMissingFunctionName/TestDAP_stackTraceMissingFunctionName.py
M lldb/test/API/tools/lldb-dap/startDebugging/TestDAP_startDebugging.py
M lldb/test/API/tools/lldb-dap/step/TestDAP_step.py
M lldb/test/API/tools/lldb-dap/stop-hooks/TestDAP_stop_hooks.py
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/test/API/tools/lldb-dap/threads/TestDAP_threads.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
Log Message:
-----------
[lldb-dap] Automatically skip lldb-dap tests for remote platforms (#93169)
The don't currently work (and they're also not particularly useful,
since all of the remote stuff happens inside lldb).
This saves us from annotating tests one by one.
Commit: d6541fc74b0a3706f76276c08bc4f1582b5b93f2
https://github.com/llvm/llvm-project/commit/d6541fc74b0a3706f76276c08bc4f1582b5b93f2
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/test/Dialect/Tensor/fold-reassociative-reshapes.mlir
Log Message:
-----------
[mlir][tensor] Fold padding expand_shape into insert_slice (#93018)
Commit: 04c94ba65f2123879332b6fbb851a60265e5c271
https://github.com/llvm/llvm-project/commit/04c94ba65f2123879332b6fbb851a60265e5c271
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M mlir/python/mlir/dialects/linalg/__init__.py
M mlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
Log Message:
-----------
[mlir][py] NFC: remove exception-based isa from linalg module (#92556)
When this code was written, we didn't have proper isinstance support for
operation classes in Python. Now we do, so there is no reason to keep
the expensive exception-based flow.
Commit: b80d982a62676314ec93dc8881b9f8957217192a
https://github.com/llvm/llvm-project/commit/b80d982a62676314ec93dc8881b9f8957217192a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[alpha.webkit.UncountedLocalVarsChecker] Detect assignments to uncounted local variable and parameters. (#92639)
This PR updates alpha.webkit.UncountedLocalVarsChecker to emit warnings
for assignments to uncounted local variable and parameters instead of
just the initialization during the declaration.
Commit: a1f92592c1753e7aeba6b72d4a8120c55b4c6041
https://github.com/llvm/llvm-project/commit/a1f92592c1753e7aeba6b72d4a8120c55b4c6041
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
[gn build] Port 5a48223d1c34
Commit: 77ae18b0d99e1fc29b1e9345ce824dde2436c02c
https://github.com/llvm/llvm-project/commit/77ae18b0d99e1fc29b1e9345ce824dde2436c02c
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Send terminated event only once (#93172)
This is a regression from #91591. Turns out std::mutex does not prevent
code from running twice. :facepalm:
Commit: f0b0c02504899c1bc00c6e6428e7aebe9ea5beb1
https://github.com/llvm/llvm-project/commit/f0b0c02504899c1bc00c6e6428e7aebe9ea5beb1
Author: klensy <klensy at users.noreply.github.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M mlir/test/Analysis/DataFlow/test-next-access.mlir
M mlir/test/Conversion/BufferizationToMemRef/bufferization-to-memref.mlir
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir
M mlir/test/Conversion/SPIRVToLLVM/spirv-storage-class-mapping.mlir
M mlir/test/Dialect/Arith/unsigned-when-equivalent.mlir
M mlir/test/Dialect/ArmSME/tile-allocation-liveness.mlir
M mlir/test/Dialect/Bufferization/Transforms/lower-deallocations-func.mlir
M mlir/test/Dialect/Bufferization/Transforms/lower-deallocations.mlir
M mlir/test/Dialect/GPU/barrier-elimination.mlir
M mlir/test/Dialect/GPU/ops.mlir
M mlir/test/Dialect/GPU/outlining.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Math/expand-math.mlir
M mlir/test/Dialect/SCF/transform-ops.mlir
M mlir/test/Dialect/SPIRV/IR/logical-ops.mlir
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
M mlir/test/IR/parser.mlir
M mlir/test/Target/LLVMIR/Import/global-variables.ll
M mlir/test/Target/LLVMIR/Import/metadata-loop.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/Target/LLVMIR/omptarget-array-sectioning-host.mlir
M mlir/test/python/dialects/transform_structured_ext.py
Log Message:
-----------
[mlir][test] Fix filecheck annotation typos (#92897)
Moved fixes for mlir from
https://github.com/llvm/llvm-project/pull/91854, plus few additional in
second commit.
---------
Co-authored-by: klensy <nightouser at gmail.com>
Commit: d776346afe790e5d51ca6c6e2238a6ba91d130a1
https://github.com/llvm/llvm-project/commit/d776346afe790e5d51ca6c6e2238a6ba91d130a1
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/test/Dialect/Linalg/block-pack-matmul.mlir
Log Message:
-----------
[mlir][linalg] Avoid emitting errors in block pack matmul (#93170)
Tweaks linalg.generic verification in block pack matmul pass to avoid
using emitting errors which pollute stderr during operation matching.
Commit: e3ed9e30b7b7102daf37f9464efc06b3d2e1a160
https://github.com/llvm/llvm-project/commit/e3ed9e30b7b7102daf37f9464efc06b3d2e1a160
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
Log Message:
-----------
[mlir] add missing include to MemRefTransformOps.h (#92361)
The ODS-generated code has the following:
```
::mlir::TypedValue<::mlir::transform::OperationType> getAlloca() {
return ::llvm::cast<::mlir::TypedValue<::mlir::transform::OperationType>>(
*getODSOperands(0).begin());
}
```
that may require the compiler seing the definition of `OperationType` so
include the corresponding header.
Commit: a79a0c52885c3a60d6afdda3b125866b8ed75fce
https://github.com/llvm/llvm-project/commit/a79a0c52885c3a60d6afdda3b125866b8ed75fce
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
Log Message:
-----------
[mlir][tensor] Simplify pad-like tensor pack and unpack (#92388)
Extend existing tensor patterns to simplify pad-like tensor pack/unpack
into expand/collapse shape operations.
Commit: 6977bfb57c3efb9488aef463cd7ea521fd25a067
https://github.com/llvm/llvm-project/commit/6977bfb57c3efb9488aef463cd7ea521fd25a067
Author: Jeff Niu <jeff at modular.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M mlir/include/mlir/Support/ThreadLocalCache.h
Log Message:
-----------
[mlir] Fix race condition introduced in ThreadLocalCache (#93280)
Okay, so an apparently not-so-rare crash could occur if the
`perInstanceState` point got re-allocated to the same pointer as before.
All the values have been destroyed, so the TLC is left with dangling
pointers, but then the same `ValueT *` is pulled out of the TLC and
dereferenced, leading to a crash.
I suppose the purpose of the `weak_ptr` was that it would get reset to a
default state when the `perInstanceState` shared pointer got destryoed
(its reference count would only ever be 1, very briefly 2 when it gets
aliased to a `ValueT *` but then assigned to a `weak_ptr`).
Basically, there are circular references between TLC instances and
`perInstanceState` instances and we have to ensure there are no dangling
references.
1. Ensure the TLC entries are reset to a valid default state if the TLC
(i.e. owning thread) lives longer than the `perInstanceState`. a. This
is currently achieved by storing `weak_ptr` in the TLC.
2. If `perInstanceState` lives longer than the TLC, it cannot contain
dangling references to entries in destroyed TLCs. a. This is not
currently the case.
3. If both are being destroyed at the same time, we cannot race. a. The
destructors are synchronized because the TLC destructor locks `weak_ptr`
while it is destructing, preventing the owning `perInstanceState` of the
entry from destructing. If `perInstanceState` got destructed first, the
`weak_ptr` lock would fail.
And
4. Ensure `get` in the common (initialized) case is as fast as possible
(no atomics).
We need to change the TLC to store a `ValueT **` so that it can be
shared with entries owned by `perInstanceState` and written to null when
they are destroyed. However, this is no longer something synchronized by
an atomic, meaning that (2) becomes a problem. This is fine because when
TLC destructs, we remove the entries from `perInstanceState` that could
reference the TLC entries.
This patch shows the same perf gain as before but hopefully without the
bug.
Commit: b2f65e809e423b988e66b96029b5effe766cc62d
https://github.com/llvm/llvm-project/commit/b2f65e809e423b988e66b96029b5effe766cc62d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Use DomTreeUpdater to automatically update DT for vector loop. (#92525)
Use DTU to queue DominatorTree updates directly when connecting basic
blocks during VPlan execution.
This simplifies DT updates and will also automatically allow updating
the DT for the VPlan-native path as additional benefit in a follow-up.
PR: https://github.com/llvm/llvm-project/pull/92525
Commit: dc148c9fb87e720814d4b377cde0f73907ae932b
https://github.com/llvm/llvm-project/commit/dc148c9fb87e720814d4b377cde0f73907ae932b
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
A llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
Log Message:
-----------
[LV] add test for #47665, #88802 (#91135)
Commit: f1acd9d57766052c8fe537dea3eb801373430528
https://github.com/llvm/llvm-project/commit/f1acd9d57766052c8fe537dea3eb801373430528
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
Log Message:
-----------
[LAA] increase test coverage in symbolic-stride (#92253)
The test symbolic-stride.ll does not exercise all codepaths in
getStrideFromPointer, particularly when the operand is an
SCEVIntegralCastExpr. Cover these codepaths as well. This patch serves
as pre-commit tests for #92119.
Commit: c455ab73d8b2ba0e0423fe838d30f4284b785064
https://github.com/llvm/llvm-project/commit/c455ab73d8b2ba0e0423fe838d30f4284b785064
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M mlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir
Log Message:
-----------
[mlir] Fix test expectation.
Commit: 430729d71e4e582aa04b5d30796de14404fed56a
https://github.com/llvm/llvm-project/commit/430729d71e4e582aa04b5d30796de14404fed56a
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp
Log Message:
-----------
[NFC][LLVM] Clean up TLI VECFUNC macros. (#93178)
Move the undef'ing of library specific macros to the places in the code
base where they are defined.
Commit: ebc6c28a252915e6689ba7559bdc17eed0eea10c
https://github.com/llvm/llvm-project/commit/ebc6c28a252915e6689ba7559bdc17eed0eea10c
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M mlir/include/mlir/Support/ThreadLocalCache.h
Log Message:
-----------
Revert "[mlir] Fix race condition introduced in ThreadLocalCache (#93… (#93290)
…280)"
This reverts commit 6977bfb57c3efb9488aef463cd7ea521fd25a067.
Commit: 2171f34121759a1495a6de840bcb92982d1b7a64
https://github.com/llvm/llvm-project/commit/2171f34121759a1495a6de840bcb92982d1b7a64
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.h
M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
R mlir/include/mlir/Dialect/LLVMIR/Transforms/TypeConsistency.h
M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
R mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
R mlir/test/Dialect/LLVMIR/type-consistency.mlir
Log Message:
-----------
[MLIR][LLVM] Remove the type consistency pass (#93283)
This commit removes the LLVM dialect's type consistency pass. This pass
was originally introduced to make type information on memory operations
consistent. The main benefactor of this consistency where Mem2Reg and
SROA, which were in the meantime improved to no longer require
consistent type information.
Apart from providing a no longer required functionality, the pass had
some fundamental flaws that lead to issues:
* It introduced trivial GEPs (only zero indices) that could be folded
again.
* Aggressively splitting stores lead to substantial performance
regressions in some cases. Subsequent memory coalescing were not able to
recover this information, due to using non-trivial bit-fiddling.
Commit: fcd086ca272e5758a13f9b4e3f48bb4440e4c2fa
https://github.com/llvm/llvm-project/commit/fcd086ca272e5758a13f9b4e3f48bb4440e4c2fa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/freeze-binary.ll
Log Message:
-----------
[X86] canCreateUndefOrPoisonForTargetNode - SSE vector shifts handle out of bounds shift amounts
SHL/SRL are guaranteed to fold to zero, SRA is guaranteed to fold to 'all sign bits'
Commit: 5434b04234a86273d719f96e9efa6332a53c0eba
https://github.com/llvm/llvm-project/commit/5434b04234a86273d719f96e9efa6332a53c0eba
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
A flang/test/Integration/debug-fixed-array-type-2.f90
A flang/test/Transforms/debug-fixed-array-type.fir
Log Message:
-----------
[flang][debug] Add support for fixed size arrays. (#92568)
This PR adds the type conversion support for fixed size arrays. Mostly
mechanical changes converting dimension values to subrange fields. A
limitation is that lower bound is always one for the moment as that
information is missing in `SequenceType`.
With this change in place, I can evaluate fixed size arrays in debugger.
```
(gdb) p x
$1 = ((2, 3, 4, 5) (3, 4, 5, 6) (4, 5, 6, 7) (5, 6, 7, 8) (6, 7, 8, 9))
(gdb) ptype x
type = integer (4,5)
```
---------
Co-authored-by: Tom Eccles <t at freedommail.info>
Commit: 0ad4c8075985a0b82c01b28750a49e9e46a8c220
https://github.com/llvm/llvm-project/commit/0ad4c8075985a0b82c01b28750a49e9e46a8c220
Author: Andrew Ng <andrew.ng at sony.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/lib/CodeGen/ItaniumCXXABI.cpp
A clang/test/CodeGenCXX/ps-dllstorage-vtable-rtti.cpp
R clang/test/CodeGenCXX/ps4-dllstorage-vtable-rtti.cpp
Log Message:
-----------
[clang] Fix PS "selective" DLL import/export of vtable & typeinfo (#92579)
Prior to this patch, for "selective" DLL import/export, the vtable &
typeinfo would be imported/exported on the condition that all non-inline
virtual methods are imported/exported. This condition was based upon MS
guidelines related to "selective" DLL import/export.
However, in reality, this condition is too rigid and can result in
undefined vtable & typeinfo symbols for code that builds fine with MSVC.
Therefore, relax this condition to be if any non-inline method is
imported/exported.
Commit: 214e6b40f8487cec03ab5d211369d8836de0ef68
https://github.com/llvm/llvm-project/commit/214e6b40f8487cec03ab5d211369d8836de0ef68
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
A llvm/lib/Target/SPIRV/SPIRVInlineAsmLowering.cpp
A llvm/lib/Target/SPIRV/SPIRVInlineAsmLowering.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBanks.td
M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_inline_assembly/inline_asm.ll
Log Message:
-----------
[SPIR-V] Inline assembly support (#93164)
This PR introduces support for inline assembly calls for SPIR-V Backend
in general, and support for SPV_INTEL_inline_assembly [1] extension in
particular. The former part of the PR is agnostic towards
vendor-specific requirements and resolves the task of supporting
successful transformation of inline assembly as long as it's possible
without specific SPIR-V instruction codes.
As a part of the PR there appears an opportunity to bring coherent
inline assembly information up to latest passes of the transformation
process (emitting final SPIR-V instructions), so that PR makes it easy
to add any another required flavor of inline assembly, other then
supported by the vendor specific SPV_INTEL_inline_assembly extension,
if/when needed.
At the moment, however, SPV_INTEL_inline_assembly is the only
implemented way to bring LLVM IR inline assembly calls up to valid
SPIR-V instructions and also the default one. This means that inline
assembly calls will generate an error message of such extension is not
used to prevent LLVM-generated error messages at the final stages of
translation. When the SPV_INTEL_inline_assembly extension is mentioned
among supported, translation of inline assembly is intercepted by this
extension implementation on a pre-legalizer step, and this is a place
where support for a new inline assembly extension may be added if
needed.
This PR also extends support for register classes, improves type
inference during pre-legalizer pass, and fixes a minor bug with
asm-printing of string literals.
[1]
https://github.com/intel/llvm/blob/sycl/sycl/doc/design/spirv-extensions/SPV_INTEL_inline_assembly.asciidoc
Commit: f35aac699167ef1046e2f177d2ba899c6975374e
https://github.com/llvm/llvm-project/commit/f35aac699167ef1046e2f177d2ba899c6975374e
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/unions.cpp
Log Message:
-----------
[clang][Interp] Fix zero-initializing unions
Only with primitive fields for now.
Commit: fb9f5aa00fb92fd6ec6a5c9cf3b2e6acdc325083
https://github.com/llvm/llvm-project/commit/fb9f5aa00fb92fd6ec6a5c9cf3b2e6acdc325083
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_shader_clock/shader_clock.ll
Log Message:
-----------
[SPIR-V] Enable spirv-val in SPV_KHR_shader_clock test (#93292)
Validation succeeds on this test since SPIRV-Tools commit `e2646f5e
("spirv-val: Consider target env for OpReadClockKHR scope",
2024-05-21)`.
Commit: 879b7268b8edca42f35648c4b54e5426bf0877bb
https://github.com/llvm/llvm-project/commit/879b7268b8edca42f35648c4b54e5426bf0877bb
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
A flang/test/Semantics/OpenMP/do02.f90
M flang/test/Semantics/OpenMP/sections03.f90
M flang/test/Semantics/OpenMP/simd03.f90
A flang/test/Semantics/OpenMP/taskloop03.f90
Log Message:
-----------
[Flang][OpenMP] Reenable and fix final few tests 6/6 (#93295)
Add do02.f90 and taskloop03.f90 that were removed in
https://github.com/llvm/llvm-project/pull/92739
Replace shell script tests with python.
Commit: 0f26aa562018afc1105bc9ab0aa64fbe92ae9c04
https://github.com/llvm/llvm-project/commit/0f26aa562018afc1105bc9ab0aa64fbe92ae9c04
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/docs/SPIRVUsage.rst
Log Message:
-----------
[SPIR-V] Update docs to describe support of SPV_KHR_shader_clock (#93168)
This PR updates docs to describe support of SPV_KHR_shader_clock
extension added by https://github.com/llvm/llvm-project/pull/92771.
Commit: 70a54bca6f7f9f45b4b17974ddaa01cd7a5d64be
https://github.com/llvm/llvm-project/commit/70a54bca6f7f9f45b4b17974ddaa01cd7a5d64be
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
M llvm/test/Transforms/SLPVectorizer/X86/hadd-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/hadd.ll
M llvm/test/Transforms/SLPVectorizer/X86/scalarazied-result.ll
Log Message:
-----------
[SLP]Improve/fix extracts calculations for non-power-of-2 elements.
One of the previous patches introduced initial support for non-power-of-2
number of elements but some parts of the SLP vectorizer still were not
adjusted to handle the costs correctly. Patch fixes it by improving
analysis of the non-power-of-2 number of elements and fixes in the cost
of the extractelements instructions.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/93213
Commit: 14304055e0d223a6dd224625b8fd128e6f711eb5
https://github.com/llvm/llvm-project/commit/14304055e0d223a6dd224625b8fd128e6f711eb5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/funnel-shift.ll
Log Message:
-----------
[X86] funnel-shifts.ll - add VBMI2 and non-uniform shift amounts test coverage
VBMI2 has legal FSHL/FSHR operations which makes it easier to test non-uniform shift amounts as it won't get expanded
Commit: 729fdb6bb656f30d7868251a06a6f4ab111e1335
https://github.com/llvm/llvm-project/commit/729fdb6bb656f30d7868251a06a6f4ab111e1335
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] visitFunnelShift - pull out repeated SDLoc.
Commit: 7eeec8e6d10a796974c3439529f3de690251b004
https://github.com/llvm/llvm-project/commit/7eeec8e6d10a796974c3439529f3de690251b004
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M offload/DeviceRTL/include/Utils.h
M offload/DeviceRTL/src/Mapping.cpp
M offload/DeviceRTL/src/Utils.cpp
A offload/test/offloading/ompx_bare_ballot_sync.c
M openmp/runtime/src/include/ompx.h.var
Log Message:
-----------
[OpenMP][OMPX] Add ballot_sync (#91297)
This patch adds the support for `ballot_sync` in ompx.
Commit: bd851eec34749023e5d967c03847df1635bbfa57
https://github.com/llvm/llvm-project/commit/bd851eec34749023e5d967c03847df1635bbfa57
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTDiagnostic.cpp
A clang/test/Misc/diag-template-diffing-cxx11.cpp
A clang/test/Misc/diag-template-diffing-cxx26.cpp
R clang/test/Misc/diag-template-diffing.cpp
Log Message:
-----------
[clang] Avoid crash due to unimplemented StructuralValue support in the template differ (#93265)
This was not implemented in
https://github.com/llvm/llvm-project/pull/78041 when StructuralValue
TemplateArguments were originally added.
This patch does not implement this functionality, it just falls back to
the expression when possible.
Otherwise, such as when dealing with canonical types to begin with, this
will just ignore the argument as if it wasn't even there.
Fixes https://github.com/llvm/llvm-project/issues/93068
Commit: b2f6d323fcd1833a7092e7d338578e0af0ac138d
https://github.com/llvm/llvm-project/commit/b2f6d323fcd1833a7092e7d338578e0af0ac138d
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-tailcall-nonunique.ll
M llvm/test/Transforms/MemProfContextDisambiguation/tailcall-nonunique.ll
Log Message:
-----------
[MemProf] Fix tailcall discovery checking for multiple callee chains (#92632)
When looking for missing frames due to tail calls, we were not checking
the output parameter of the recursive call in the correct place.
Make sure we check for the case when that recursive call returned false
due to multiple possible callee chains.
Extended the existing test a bit to catch this case.
Commit: ad190fcf15c1d0beea1ba93b4d250e15d2e944f4
https://github.com/llvm/llvm-project/commit/ad190fcf15c1d0beea1ba93b4d250e15d2e944f4
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTDiagnostic.cpp
M clang/test/Misc/diag-template-diffing-cxx26.cpp
Log Message:
-----------
[clang] add fallback to expr in the template differ when comparing ValueDecl (#93266)
Commit: d8c8c8c7b91ce51f3e2fc088a5fd365b23cd9889
https://github.com/llvm/llvm-project/commit/d8c8c8c7b91ce51f3e2fc088a5fd365b23cd9889
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/cxx03.cpp
Log Message:
-----------
[clang][Interp] Diagnose dummy assignments differently
Incremental change here, but a step in the right direction. Before,
an assignment to a dummy variable was diagnosed as a "read of a
non-const variable".
Commit: abc4c21ce470bd3a3029ad11b6e4be190464acd6
https://github.com/llvm/llvm-project/commit/abc4c21ce470bd3a3029ad11b6e4be190464acd6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
A llvm/test/CodeGen/X86/pr93000.ll
Log Message:
-----------
[X86] Add test case for #93000
Commit: 82a5d0da6007609ddcb3190530e0a269ae0452db
https://github.com/llvm/llvm-project/commit/82a5d0da6007609ddcb3190530e0a269ae0452db
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/test/AST/Interp/eval-order.cpp
Log Message:
-----------
[clang][Interp][NFC] Make eval-order test more useful
Use different -verify prefixes and make sure the tests really break
when fixing the eval order.
Commit: 53b904823cba4e93d58793b0804407f812477724
https://github.com/llvm/llvm-project/commit/53b904823cba4e93d58793b0804407f812477724
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/lib/Headers/intrin.h
Log Message:
-----------
[MSVC, ARM64] Fix signature for __prefetch (#93235)
#67174 added the `__prefetch` intrinsic, however it used the wrong
signature: the argument should be `const void*`, not `void*`.
Docs:
https://learn.microsoft.com/en-us/cpp/intrinsics/arm64-intrinsics?view=msvc-170#:~:text=__prefetch
Unfortunately, this can't be backported (there are no more 18.x
releases, and this change is a breaking change), so I'll see if I can
get a workaround added on MSVC's side for Clang 18.
Commit: b008a2d12ab98009d134c988c7cae2fdf4aeac8a
https://github.com/llvm/llvm-project/commit/b008a2d12ab98009d134c988c7cae2fdf4aeac8a
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
Log Message:
-----------
[LV][NFC] precommit test for EVL transform (#92203)
A precommit test case to show vector loops generated from EVL transform
- This is a precommit test for
https://github.com/llvm/llvm-project/pull/92092
Commit: fab234a5613f64727b16b6ae91bbbab2798027e8
https://github.com/llvm/llvm-project/commit/fab234a5613f64727b16b6ae91bbbab2798027e8
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M mlir/include/mlir/Support/ThreadLocalCache.h
Log Message:
-----------
Revert "[mlir] Optimize ThreadLocalCache by removing atomic bottleneck" (#93306)
Reverts llvm/llvm-project#93270
This was found to have a race and the forward fix was reverted,
reverting this until can forward fix.
Commit: 89172e954c51b16e5556f758e1a91dd385bc5aab
https://github.com/llvm/llvm-project/commit/89172e954c51b16e5556f758e1a91dd385bc5aab
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pr93000.ll
Log Message:
-----------
[X86] combineBitcastToBoolVector - add XOR + Constant handling, match existing BITCASTs and limit recursion depth
Add XOR + constant handling to allow us to detect NOT patterns.
If a recursive combineBitcastToBoolVector call finds an existing BITCAST node then use that.
As combineBitcastToBoolVector is recursive, ensure we limit the maximum recursion depth.
Fixes #93000
Commit: 4ebe9bba59389b0788ca01ec3f4bd2cb7f567a17
https://github.com/llvm/llvm-project/commit/4ebe9bba59389b0788ca01ec3f4bd2cb7f567a17
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-wasm.c
M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/half-precision.ll
M llvm/test/MC/WebAssembly/simd-encodings.s
Log Message:
-----------
[WebAssembly] Implement prototype f16x8.extract_lane instruction. (#93272)
Specified at:
https://github.com/WebAssembly/half-precision/blob/29a9b9462c9285d4ccc1a5dc39214ddfd1892658/proposals/half-precision/Overview.md
Note: the current spec has f16x8.extract_lane as opcode 0x124, but this
is incorrect and will be changed to 0x121 soon.
Commit: 8178a3ad1b16e3c06e3bb8d91a8412bf329be3e0
https://github.com/llvm/llvm-project/commit/8178a3ad1b16e3c06e3bb8d91a8412bf329be3e0
Author: tyb0807 <sontuan.vu119 at gmail.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M mlir/CMakeLists.txt
M mlir/include/mlir/Config/mlir-config.h.cmake
M mlir/include/mlir/InitAllPasses.h
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
M mlir/lib/Target/LLVM/CMakeLists.txt
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/test/CMakeLists.txt
M mlir/test/Dialect/GPU/test-nvvm-pipeline.mlir
M mlir/test/lit.cfg.py
M mlir/test/lit.site.cfg.py.in
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir] Replace MLIR_ENABLE_CUDA_CONVERSIONS with LLVM_HAS_NVPTX_TARGET (#93008)
LLVM_HAS_NVPTX_TARGET is automatically set depending on whether NVPTX
was enabled when building LLVM. Use this instead of manually defining
MLIR_ENABLE_CUDA_CONVERSIONS (whose name is a bit misleading btw).
Commit: ab7e6b66fdd768f566e76972755de3578f1d0f4a
https://github.com/llvm/llvm-project/commit/ab7e6b66fdd768f566e76972755de3578f1d0f4a
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/test/ExtractAPI/non_type_template.cpp
Log Message:
-----------
[clang][ExtractAPI] Ensure TemplateArgumentLocations are only accessed if available (#93205)
Commit: 9ad5da2defd4f88c6649bf2b77f1968f661f2dcc
https://github.com/llvm/llvm-project/commit/9ad5da2defd4f88c6649bf2b77f1968f661f2dcc
Author: Christopher Bate <cbate at nvidia.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M mlir/docs/PassManagement.md
M mlir/include/mlir/Pass/PassManager.h
M mlir/lib/Pass/IRPrinting.cpp
M mlir/lib/Pass/PassManagerOptions.cpp
A mlir/test/Pass/ir-printing-file-tree.mlir
Log Message:
-----------
[mlir][Pass] Add new FileTreeIRPrinterConfig (#67840)
This change expands the existing instrumentation that prints the IR
before/after each pass to an output stream (usually stderr). It adds
a new configuration that will print the output of each pass to a
separate file. The files will be organized into a directory tree
rooted at a specified directory. For existing tools, a CL option
`-mlir-print-ir-tree-dir` is added to specify this directory and
activate the new printing config.
The created directory tree mirrors the nesting structure of the IR. For
example,
if the IR is congruent to the pass-pipeline
"builtin.module(pass1,pass2,func.func(pass3,pass4),pass5)", and
`-mlir-print-ir-tree-dir=/tmp/pipeline_output`, then then the tree file
tree
created will look like:
```
/tmp/pass_output
├── builtin_module_the_symbol_name
│ ├── 0_pass1.mlir
│ ├── 1_pass2.mlir
│ ├── 2_pass5.mlir
│ ├── func_func_my_func_name
│ │ ├── 1_0_pass3.mlir
│ │ ├── 1_1_pass4.mlir
│ ├── func_func_my_other_func_name
│ │ ├── 1_0_pass3.mlir
│ │ ├── 1_1_pass4.mlir
```
The subdirectories are named by concatenating the relevant parent
operation names and symbol name (if present). The printer keeps a
counter associated with ops that are targeted by passes and their
isolated-from-above parents. Each filename is given a numeric prefix
using the counter value for the op that the pass is targeting and then
prepending the counter values for each parent. This gives a naming
where it is easy to distinguish which passes may have run concurrently
vs. which have a clear ordering. In the above example, for both
`1_1_pass4.mlir` files, the first `1` refers to the counter for the
parent op, and the second refers to the counter for the respective
function.
Commit: 15135afad15cbcfaaa395d364d9f2ca1f48f2948
https://github.com/llvm/llvm-project/commit/15135afad15cbcfaaa395d364d9f2ca1f48f2948
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/ProfileData/MemProfReader.cpp
Log Message:
-----------
[memprof] Use a SetVector (NFC) (#93312)
Commit: a1c9b9673c7408c64ac0d809e4aec5aee2eb2eb8
https://github.com/llvm/llvm-project/commit/a1c9b9673c7408c64ac0d809e4aec5aee2eb2eb8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/VE/VVPNodes.def
Log Message:
-----------
[SelectionDAG][RISCV][VE] Rename VP_ASHR->VP_SRA VP_LSHR->VP_SRL. (#93221)
This maintains consistency with the non-VP ISD opcodes.
Commit: 96af54b9607eae9fc22ce9352f8271bf7510236b
https://github.com/llvm/llvm-project/commit/96af54b9607eae9fc22ce9352f8271bf7510236b
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/types.compile.pass.cpp
Log Message:
-----------
[libc++][test] Close LWG3045 (#93053)
Commit: 9e814669a00e7a37a9797d4aeae387638438eee4
https://github.com/llvm/llvm-project/commit/9e814669a00e7a37a9797d4aeae387638438eee4
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/select-dependence.ll
Log Message:
-----------
[LAA] rewrite a test to make it more robust (#93197)
The test select-dependence.ll can be eliminated completely by dce, as it
returns a constant, and doesn't write any arguments. Lift out the local
allocas into arguments, so that it is less nonsensical. While at it,
rename the variables for greater readability, and regenerate the test
with UpdateTestChecks.
Commit: b8b90c2a20f6aba6b333004b0390ba12a76040c7
https://github.com/llvm/llvm-project/commit/b8b90c2a20f6aba6b333004b0390ba12a76040c7
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M flang/lib/Semantics/check-call.cpp
M flang/test/Semantics/call39.f90
Log Message:
-----------
[flang] Silence bogus error about NULL() actual for assumed-rank dummy (#93225)
A NULL(without MOLD=) actual argument can be associated with an OPTIONAL
assumed-rank non-allocatable non-pointer dummy argument; it simply
signifies that the corresponding actual argument is absent, and thus
none of its dynamic attributes, including rank, are meaningful.
Commit: 7c265e9f576041c20422218571bc2dacf20d65d9
https://github.com/llvm/llvm-project/commit/7c265e9f576041c20422218571bc2dacf20d65d9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Replace std::optional::value() with operator*. NFC
Commit: bb0d29a72d3a616ad6606c3996c39aba96f55615
https://github.com/llvm/llvm-project/commit/bb0d29a72d3a616ad6606c3996c39aba96f55615
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
Log Message:
-----------
[LV] fix logical error in trunc cost (#91136)
In LoopVectorizationCostModel::getInstructionCost(), when the condition
canTruncateToMinimalBitwidth() is satisfied, for a trunc, the source
type is computed as the smallest type of the source vector and the
destination vector, and the destination type is computed as the largest
type of the instruction and destination type. This is clearly a logical
error, as the original source vector type could be smaller than the
original destination vector type, and the trunc semantics are broken
because we're attempting to widen.
Fixes #47665.
Commit: f49247129f3e873841bc6c3fec4bdc7c9d6f1dd7
https://github.com/llvm/llvm-project/commit/f49247129f3e873841bc6c3fec4bdc7c9d6f1dd7
Author: Zhaoshi Zheng <zhaoshiz at quicinc.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CallingConvention.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-calling-convention-byref.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention.ll
Log Message:
-----------
[AArch64][SVE] Lower function arguments in types of arrays of predicates (#90122)
Function arguments in types of arrays of scalable predicates, even in [1 x <vscale x 16 x i1>] type, should be allocated to available P0 ~ P3 registers, or to the stack and a point of the stack location is passed to the callee.
See details in https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#parameter-passing, step C.7 and C.8
Commit: e897b0bbe908ea17188f0b1ed96e6b6c8f8954d8
https://github.com/llvm/llvm-project/commit/e897b0bbe908ea17188f0b1ed96e6b6c8f8954d8
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/include/llvm/IR/ConstantRange.h
M llvm/lib/IR/ConstantRange.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/mul.ll
A llvm/test/Transforms/SCCP/range-mul-nuw-nsw-flags.ll
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
[ConstantRange][LVI] Add support for `multiplyWithNoWrap`
Introduce support for computing multiplication ranges when nowrap
flags are known. This is achieved by intersecting the multiplication
range with the saturating one. Note that we may still conservatively
return overdefined when handling non-wrapped/non-sign-wrapped ranges.
Commit: dc7897aed3934fb5abd21654303d5c1593edc55e
https://github.com/llvm/llvm-project/commit/dc7897aed3934fb5abd21654303d5c1593edc55e
Author: Sayhaan Siddiqui <49014204+sayhaan at users.noreply.github.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT][NFC] Fix unused variable warning (#93323)
This fixes
```
warning: variable 'AbbrDecl' set but not used [-Wunused-but-set-variable]
76 | if (const DWARFAbbreviationDeclaration *AbbrDecl =
```
Commit: 41c057b078902df9053ccbf812656832cc6209ef
https://github.com/llvm/llvm-project/commit/41c057b078902df9053ccbf812656832cc6209ef
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after #93008 (#93325)
This dep was removed in that change, but this library still needs it.
Commit: 8d2258fd3b2a4cde56cc2c679a9ee5b2c966a9e0
https://github.com/llvm/llvm-project/commit/8d2258fd3b2a4cde56cc2c679a9ee5b2c966a9e0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[memprof] Call llvm::SmallVector::reserve (#93324)
Commit: d07362f7a9fc06e2445f5c4bc62c10a339bf68a5
https://github.com/llvm/llvm-project/commit/d07362f7a9fc06e2445f5c4bc62c10a339bf68a5
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/lib/Sema/SemaAvailability.cpp
M clang/test/SemaObjC/unguarded-availability.m
Log Message:
-----------
Enable unguarded availability diagnostic on instantiated template functions (#91699)
Availability diagnostic in instantiated template functions was
intentionally skipped in the original
[commit](https://github.com/llvm/llvm-project/commit/5cd57177a51abc7b0bfe18f70566572dbccab9a0)
years ago with a FIXME note.
I ran into this when working on diagnostics for HLSL. When I remove the
skip, it seems to be working just fine outputting expected messages. So,
unless I am missing something, I would keep it enabled and use it for
checking availability in HLSL templates as well.
Commit: 4fb02de9d490d0773441aa30124bb4d1272230d3
https://github.com/llvm/llvm-project/commit/4fb02de9d490d0773441aa30124bb4d1272230d3
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M offload/DeviceRTL/include/Utils.h
M offload/DeviceRTL/src/Mapping.cpp
M offload/DeviceRTL/src/Utils.cpp
A offload/test/offloading/ompx_bare_shfl_down_sync.cpp
M openmp/runtime/src/include/ompx.h.var
Log Message:
-----------
[OpenMP][OMPX] Add shfl_down_sync (#93311)
Commit: 5c40db1da3a5ee1ed27b2ed874353dd80b294c15
https://github.com/llvm/llvm-project/commit/5c40db1da3a5ee1ed27b2ed874353dd80b294c15
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/c.c
Log Message:
-----------
[clang][Interp] Don't retry weak declarations
Commit: 8c718a3a91df4ab68dc3f1ca3887ea730c9aed84
https://github.com/llvm/llvm-project/commit/8c718a3a91df4ab68dc3f1ca3887ea730c9aed84
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M openmp/runtime/src/include/ompx.h.var
Log Message:
-----------
[OpenMP][OMPX] No default argument for C API
Commit: 6bf450c7a60fa62c642e39836566da94bb9bbc91
https://github.com/llvm/llvm-project/commit/6bf450c7a60fa62c642e39836566da94bb9bbc91
Author: Aaron Siddhartha Mondal <aaron at tracemachina.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/cmake/caches/VectorEngine.cmake
M clang/utils/analyzer/entrypoint.py
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/lib/xray/tests/CMakeLists.txt
M lldb/docs/resources/build.rst
M lldb/source/Core/CMakeLists.txt
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
R llvm/cmake/modules/FindTerminfo.cmake
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/Config/config.h.cmake
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/Unix/Process.inc
M llvm/utils/gn/README.rst
R llvm/utils/gn/build/libs/terminfo/BUILD.gn
R llvm/utils/gn/build/libs/terminfo/enable.gni
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn
M utils/bazel/.bazelrc
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
[Support] Remove terminfo dependency (#92865)
The terminfo dependency introduces a significant nonhermeticity into the
build. It doesn't respect `--no-undefined-version` meaning that it's not
a dependency that can be built with Clang 17+. This forces maintainers
of source-based distributions to implement patches or ignore linker
errors.
Remove it to reduce the closure size and improve portability of
LLVM-based tools. Users can still use command line arguments to toggle
color support expliticly.
Fixes #75490
Closes #53294 #23355
Commit: 098c6dfa8157681699a71fce9e3d94515e66311f
https://github.com/llvm/llvm-project/commit/098c6dfa8157681699a71fce9e3d94515e66311f
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M openmp/runtime/src/include/ompx.h.var
Log Message:
-----------
[NFC][OpenMP][OMPX] Remove ';' that is outside of a function
Commit: 66b5f16b2fc2ec9e34189c4042f0bea57291d2a4
https://github.com/llvm/llvm-project/commit/66b5f16b2fc2ec9e34189c4042f0bea57291d2a4
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVProcessors.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/RISCVSubtarget.h
Log Message:
-----------
[RISCV] Do not check PostRAScheduler in enablePostRAScheduler (#92781)
On RISC-V, there are a few ways to control whether the
PostMachineScheduler is enabled. If `-enable-post-misched` is passed or
passed with a value of true, then the PostMachineScheduler is enabled.
If it is passed with a value of false then the PostMachineScheduler is
disabled. If the option is not passed at all, then
`RISCVSubtarget::enablePostRAMachineScheduler` decides whether the pass
should be enabled or not. `TargetSubtargetInfo::enablePostRAScheduler`
and `TargetSubtargetInfo::enablePostRAMachineScheduler` who check the
SchedModel value are not called by RISC-V backend.
`RISCVSubtarget::enablePostRAMachineScheduler` currently checks if the
active scheduler model sets `PostRAScheduler`. If it is set to true by
the scheduler model, then the pass is enabled. If it is not set to true
by the scheduler model, then the value of `UsePostRAScheduler` subtarget
feature is used.
I argue that the RISC-V backend should not use `PostRAScheduler` field
of the scheduler model to control whether the PostMachineScheduler is
enabled for the following reasons:
1. No other targets use this value to control whether
PostMachineScheduler is enabled. They only use it to check whether the
legacy PostRASchedulerList scheduler is enabled.
2. We can add the `UsePostRAScheduler` feature to the processor
definition in RISCVProcessors.td to tie a processor to whether the pass
should be enabled by default. This makes the feature and the sched model
field redundant.
3. Since these options are redundant, we should prefer the feature,
since we can set `+` and `-` on the feature, but the value of the
scheduler cannot be controlled on the command line.
4. Keeping both options allows us to set the feature and the scheduler
model value to conflicting values. Although the scheduler model value
will win out, it feels awkward to allow it.
Commit: b9d40a7ae4b3e5b9829eca8a497637c9fab6dd3e
https://github.com/llvm/llvm-project/commit/b9d40a7ae4b3e5b9829eca8a497637c9fab6dd3e
Author: Lei Wang <wlei at fb.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/test/tools/llvm-profgen/profile-density.test
M llvm/tools/llvm-profgen/ProfileGenerator.cpp
M llvm/tools/llvm-profgen/ProfileGenerator.h
Log Message:
-----------
[llvm-profgen] Improve sample profile density (#92144)
The profile density feature(the amount of samples in the profile
relative to the program size) is used to identify insufficient sample
issue and provide hints for user to increase sample count. A low-density
profile can be inaccurate due to statistical noise, which can hurt FDO
performance.
This change introduces two improvements to the current density work.
1. The density calculation/definition is changed. Previously, the
density of a profile was calculated as the minimum density for all warm
functions (a function was considered warm if its total samples were
within the top N percent of the profile). However, there is a problem
that a high total sample profile can have a very low density, which
makes the density value unstable.
- Instead, we want to find a density number such that if a function's
density is below this value, it is considered low-density function. We
consider the whole profile is bad if a group of low-density functions
have the sum of samples that exceeds N percent cut-off of the total
samples.
- In implementation, we sort the function profiles by density, iterate
them in descending order and keep accumulating the body samples until
the sum exceeds the (100% - N) percentage of the total_samples, the
profile-density is the last(minimum) function-density of processed
functions. We introduce the a flag(`--profile-density-threshold`) for
this percentage threshold.
2. The density is now calculated based on final(compiler used) profiles
instead of merged context-less profiles.
Commit: 1126657af5b6b0a6a64c4f4c04cf9d255d5129e0
https://github.com/llvm/llvm-project/commit/1126657af5b6b0a6a64c4f4c04cf9d255d5129e0
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M flang/runtime/edit-output.cpp
Log Message:
-----------
[flang][runtime] Enable REAL printing in F18 offload runtime. (#87851)
Commit: 77369a7f1a81f7991a3df2dad1bc8e277bc7559d
https://github.com/llvm/llvm-project/commit/77369a7f1a81f7991a3df2dad1bc8e277bc7559d
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
Log Message:
-----------
[lldb] Fixed the TestDebuggerAPI test on x86_64 Windows host (#90580)
Disable the TestDebuggerAPI test in case of the remote target and
Windows host.
Commit: 2669ee117422e0a2ece69ab33c2f8d97a5c7d85a
https://github.com/llvm/llvm-project/commit/2669ee117422e0a2ece69ab33c2f8d97a5c7d85a
Author: Xing Xue <xingxue at outlook.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M openmp/cmake/OpenMPTesting.cmake
Log Message:
-----------
[OpenMP][AIX] Extend LIT test timeout limit (#93319)
When buildbots are crowded, the libomp LIT tests may hit timeouts so
extend the limit from 1800 to 3000 seconds.
Commit: 6be1a1535ef4ea30f301586e4960bebbfccfe851
https://github.com/llvm/llvm-project/commit/6be1a1535ef4ea30f301586e4960bebbfccfe851
Author: Andrey Ali Khan Bolshakov <bolsh.andrey at yandex.ru>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/templates.cpp
Log Message:
-----------
[clang][c++20] Fix code coverage mapping crash with generalized NTTPs (#85837)
Introduced in #78041, originally reported as #79957 and fixed partially
in #80050.
`OpaqueValueExpr` used with `TemplateArgument::StructuralValue` has no
corresponding source expression.
A test case with subobject-referring NTTP added.
Commit: 3ec57a7ed60a19c5e3e18655e19c997a469d10ec
https://github.com/llvm/llvm-project/commit/3ec57a7ed60a19c5e3e18655e19c997a469d10ec
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
A llvm/test/Transforms/EntryExitInstrumenter/mcount-aix.ll
M llvm/test/Transforms/EntryExitInstrumenter/mcount.ll
Log Message:
-----------
[test][EntryExitInstrumenter] Update/add tests
Use UTC. Add test coverage for AIX.
Commit: e1f056f692d869708c1898d9d65a69ac5584a0ed
https://github.com/llvm/llvm-project/commit/e1f056f692d869708c1898d9d65a69ac5584a0ed
Author: rahulana-quic <quic_rahulana at quicinc.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M polly/test/CodeGen/20100617.ll
M polly/test/CodeGen/20100622.ll
M polly/test/CodeGen/20100707.ll
M polly/test/CodeGen/20100707_2.ll
M polly/test/CodeGen/20100708.ll
M polly/test/CodeGen/20100708_2.ll
M polly/test/CodeGen/20100713.ll
M polly/test/CodeGen/20100713_2.ll
M polly/test/CodeGen/20100717.ll
M polly/test/CodeGen/20100718-DomInfo-2.ll
M polly/test/CodeGen/20100718-DomInfo.ll
M polly/test/CodeGen/20100720-MultipleConditions.ll
M polly/test/CodeGen/20100809-IndependentBlock.ll
M polly/test/CodeGen/20100811-ScalarDependencyBetweenBrAndCnd.ll
M polly/test/CodeGen/20101030-Overflow.ll
M polly/test/CodeGen/20101103-Overflow3.ll
M polly/test/CodeGen/20101103-signmissmatch.ll
M polly/test/CodeGen/20110226-Ignore-Dead-Code.ll
M polly/test/CodeGen/20110226-PHI-Node-removed.ll
M polly/test/CodeGen/20120316-InvalidCast.ll
M polly/test/CodeGen/20120403-RHS-type-mismatch.ll
M polly/test/CodeGen/20130221.ll
M polly/test/CodeGen/20150328-SCEVExpanderIntroducesNewIV.ll
M polly/test/CodeGen/Intrinsics/llvm-expect.ll
M polly/test/CodeGen/LoopParallelMD/do_not_mutate_debug_info.ll
M polly/test/CodeGen/LoopParallelMD/loop_nest_param_parallel.ll
M polly/test/CodeGen/LoopParallelMD/single_loop_param_parallel.ll
M polly/test/CodeGen/MemAccess/bad_alignment.ll
M polly/test/CodeGen/MemAccess/codegen_address_space.ll
M polly/test/CodeGen/MemAccess/codegen_constant_offset.ll
M polly/test/CodeGen/MemAccess/codegen_simple.ll
M polly/test/CodeGen/MemAccess/codegen_simple_float.ll
M polly/test/CodeGen/MemAccess/codegen_simple_md.ll
M polly/test/CodeGen/MemAccess/codegen_simple_md_float.ll
M polly/test/CodeGen/MemAccess/different_types.ll
M polly/test/CodeGen/MemAccess/generate-all.ll
M polly/test/CodeGen/MemAccess/invariant_base_ptr.ll
M polly/test/CodeGen/MemAccess/multiple_types.ll
M polly/test/CodeGen/MemAccess/simple.ll
M polly/test/CodeGen/MemAccess/update_access_functions.ll
M polly/test/CodeGen/OpenMP/alias-metadata.ll
M polly/test/CodeGen/OpenMP/floord-as-argument-to-subfunction.ll
M polly/test/CodeGen/OpenMP/inlineasm.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_different_bb.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointer_preloaded_pass_only_needed.ll
M polly/test/CodeGen/OpenMP/invariant_base_pointers_preloaded.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-iv.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-2.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values-3.ll
M polly/test/CodeGen/OpenMP/loop-body-references-outer-values.ll
M polly/test/CodeGen/OpenMP/loop-bounds-reference-outer-ids.ll
M polly/test/CodeGen/OpenMP/mapped-phi-access.ll
M polly/test/CodeGen/OpenMP/matmul-parallel.ll
M polly/test/CodeGen/OpenMP/recomputed-srem.ll
M polly/test/CodeGen/OpenMP/reference-argument-from-non-affine-region.ll
M polly/test/CodeGen/OpenMP/reference-other-bb.ll
M polly/test/CodeGen/OpenMP/reference-preceeding-loop.ll
M polly/test/CodeGen/OpenMP/reference_latest.ll
M polly/test/CodeGen/OpenMP/scev-rewriting.ll
M polly/test/CodeGen/OpenMP/single_loop.ll
M polly/test/CodeGen/OpenMP/single_loop_with_loop_invariant_baseptr.ll
M polly/test/CodeGen/OpenMP/single_loop_with_param.ll
M polly/test/CodeGen/OpenMP/two-parallel-loops-reference-outer-indvar.ll
M polly/test/CodeGen/PHIInExit.ll
M polly/test/CodeGen/RuntimeDebugBuilder/combine_different_values.ll
M polly/test/CodeGen/RuntimeDebugBuilder/stmt_tracing.ll
M polly/test/CodeGen/alias-check-multi-dim.ll
M polly/test/CodeGen/alias_metadata_too_many_arrays.ll
M polly/test/CodeGen/aliasing_different_base_and_access_type.ll
M polly/test/CodeGen/aliasing_different_pointer_types.ll
M polly/test/CodeGen/aliasing_multidimensional_access.ll
M polly/test/CodeGen/aliasing_parametric_simple_1.ll
M polly/test/CodeGen/aliasing_parametric_simple_2.ll
M polly/test/CodeGen/aliasing_struct_element.ll
M polly/test/CodeGen/alignment.ll
M polly/test/CodeGen/annotated_alias_scopes.ll
M polly/test/CodeGen/blas_sscal_simplified.ll
M polly/test/CodeGen/conflict-between-loop-invariant-code-hosting-and-escape-map-computation.ll
M polly/test/CodeGen/constant_condition.ll
M polly/test/CodeGen/create-conditional-scop.ll
M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_1.ll
M polly/test/CodeGen/dead_invariant_load_instruction_referenced_by_parameter_2.ll
M polly/test/CodeGen/debug-intrinsics.ll
M polly/test/CodeGen/dominance_problem_after_early_codegen_bailout.ll
M polly/test/CodeGen/empty_domain_in_context.ll
M polly/test/CodeGen/entry_with_trivial_phi.ll
M polly/test/CodeGen/entry_with_trivial_phi_other_bb.ll
M polly/test/CodeGen/error-stmt-in-non-affine-region.ll
M polly/test/CodeGen/error_block_contains_invalid_memory_access.ll
M polly/test/CodeGen/exprModDiv.ll
M polly/test/CodeGen/hoisted_load_escapes_through_phi.ll
M polly/test/CodeGen/hoisting_1.ll
M polly/test/CodeGen/hoisting_2.ll
M polly/test/CodeGen/inner_scev_sdiv_1.ll
M polly/test/CodeGen/inner_scev_sdiv_2.ll
M polly/test/CodeGen/inner_scev_sdiv_3.ll
M polly/test/CodeGen/inner_scev_sdiv_in_lb.ll
M polly/test/CodeGen/inner_scev_sdiv_in_lb_invariant.ll
M polly/test/CodeGen/inner_scev_sdiv_in_rtc.ll
M polly/test/CodeGen/intrinsics_lifetime.ll
M polly/test/CodeGen/intrinsics_misc.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-2.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order-3.ll
M polly/test/CodeGen/inv-load-lnt-crash-wrong-order.ll
M polly/test/CodeGen/invariant-load-dimension.ll
M polly/test/CodeGen/invariant-load-preload-base-pointer-origin-first.ll
M polly/test/CodeGen/invariant_cannot_handle_void.ll
M polly/test/CodeGen/invariant_load.ll
M polly/test/CodeGen/invariant_load_address_space.ll
M polly/test/CodeGen/invariant_load_alias_metadata.ll
M polly/test/CodeGen/invariant_load_base_pointer.ll
M polly/test/CodeGen/invariant_load_base_pointer_conditional.ll
M polly/test/CodeGen/invariant_load_base_pointer_conditional_2.ll
M polly/test/CodeGen/invariant_load_canonicalize_array_baseptrs.ll
M polly/test/CodeGen/invariant_load_condition.ll
M polly/test/CodeGen/invariant_load_different_sized_types.ll
M polly/test/CodeGen/invariant_load_escaping.ll
M polly/test/CodeGen/invariant_load_escaping_second_scop.ll
M polly/test/CodeGen/invariant_load_in_non_affine_subregion.ll
M polly/test/CodeGen/invariant_load_loop_ub.ll
M polly/test/CodeGen/invariant_load_not_executed_but_in_parameters.ll
M polly/test/CodeGen/invariant_load_outermost.ll
M polly/test/CodeGen/invariant_load_parameters_cyclic_dependence.ll
M polly/test/CodeGen/invariant_load_ptr_ptr_noalias.ll
M polly/test/CodeGen/invariant_load_scalar_dep.ll
M polly/test/CodeGen/invariant_load_scalar_escape_alloca_sharing.ll
M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_1.ll
M polly/test/CodeGen/invariant_loads_from_struct_with_different_types_2.ll
M polly/test/CodeGen/invariant_loads_ignore_parameter_bounds.ll
M polly/test/CodeGen/invariant_verify_function_failed.ll
M polly/test/CodeGen/invariant_verify_function_failed_2.ll
M polly/test/CodeGen/issue56692.ll
M polly/test/CodeGen/large-numbers-in-boundary-context.ll
M polly/test/CodeGen/load_subset_with_context.ll
M polly/test/CodeGen/loop-invariant-load-type-mismatch.ll
M polly/test/CodeGen/loop_with_condition.ll
M polly/test/CodeGen/loop_with_condition_2.ll
M polly/test/CodeGen/loop_with_condition_ineq.ll
M polly/test/CodeGen/loop_with_condition_nested.ll
M polly/test/CodeGen/loop_with_conditional_entry_edge_split_hard_case.ll
M polly/test/CodeGen/memcpy_annotations.ll
M polly/test/CodeGen/multidim-non-matching-typesize-2.ll
M polly/test/CodeGen/multidim-non-matching-typesize.ll
M polly/test/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll
M polly/test/CodeGen/multidim_alias_check.ll
M polly/test/CodeGen/multiple-codegens.ll
M polly/test/CodeGen/multiple-scops-in-a-row.ll
M polly/test/CodeGen/multiple-types-invariant-load-2.ll
M polly/test/CodeGen/multiple-types-invariant-load.ll
M polly/test/CodeGen/multiple_sai_fro_same_base_address.ll
M polly/test/CodeGen/no-overflow-tracking.ll
M polly/test/CodeGen/no_guard_bb.ll
M polly/test/CodeGen/non-affine-dominance-generated-entering.ll
M polly/test/CodeGen/non-affine-exit-node-dominance.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-2.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-3.ll
M polly/test/CodeGen/non-affine-phi-node-expansion-4.ll
M polly/test/CodeGen/non-affine-phi-node-expansion.ll
M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize-2.ll
M polly/test/CodeGen/non-affine-region-exit-phi-incoming-synthesize.ll
M polly/test/CodeGen/non-affine-region-implicit-store.ll
M polly/test/CodeGen/non-affine-region-phi-references-in-scop-value.ll
M polly/test/CodeGen/non-affine-subregion-dominance-reuse.ll
M polly/test/CodeGen/non-affine-switch.ll
M polly/test/CodeGen/non-affine-synthesized-in-branch.ll
M polly/test/CodeGen/non-affine-update.ll
M polly/test/CodeGen/non-hoisted-load-needed-as-base-ptr.ll
M polly/test/CodeGen/non_affine_float_compare.ll
M polly/test/CodeGen/only_non_affine_error_region.ll
M polly/test/CodeGen/openmp_limit_threads.ll
M polly/test/CodeGen/out-of-scop-phi-node-use.ll
M polly/test/CodeGen/param_div_div_div_2.ll
M polly/test/CodeGen/partial_write_array.ll
M polly/test/CodeGen/partial_write_emptyset.ll
M polly/test/CodeGen/partial_write_full_write_that_appears_partial.ll
M polly/test/CodeGen/partial_write_impossible_restriction.ll
M polly/test/CodeGen/partial_write_in_region.ll
M polly/test/CodeGen/partial_write_in_region_with_loop.ll
M polly/test/CodeGen/partial_write_mapped_scalar.ll
M polly/test/CodeGen/partial_write_mapped_scalar_subregion.ll
M polly/test/CodeGen/perf_monitoring.ll
M polly/test/CodeGen/perf_monitoring_cycles_per_scop.ll
M polly/test/CodeGen/perf_monitoring_trip_counts_per_scop.ll
M polly/test/CodeGen/phi-defined-before-scop.ll
M polly/test/CodeGen/phi_after_error_block_outside_of_scop.ll
M polly/test/CodeGen/phi_condition_modeling_1.ll
M polly/test/CodeGen/phi_condition_modeling_2.ll
M polly/test/CodeGen/phi_conditional_simple_1.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_1.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_2.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_3.ll
M polly/test/CodeGen/phi_in_exit_early_lnt_failure_5.ll
M polly/test/CodeGen/phi_loop_carried_float.ll
M polly/test/CodeGen/phi_loop_carried_float_escape.ll
M polly/test/CodeGen/phi_scalar_simple_1.ll
M polly/test/CodeGen/phi_scalar_simple_2.ll
M polly/test/CodeGen/phi_with_multi_exiting_edges_2.ll
M polly/test/CodeGen/phi_with_one_exit_edge.ll
M polly/test/CodeGen/pointer-type-expressions-2.ll
M polly/test/CodeGen/pointer-type-expressions.ll
M polly/test/CodeGen/pointer-type-pointer-type-comparison.ll
M polly/test/CodeGen/pointer_rem.ll
M polly/test/CodeGen/pr25241.ll
M polly/test/CodeGen/ptrtoint_as_parameter.ll
M polly/test/CodeGen/read-only-scalars.ll
M polly/test/CodeGen/reduction.ll
M polly/test/CodeGen/reduction_2.ll
M polly/test/CodeGen/reduction_simple_binary.ll
M polly/test/CodeGen/region-with-instructions.ll
M polly/test/CodeGen/region_exiting-domtree.ll
M polly/test/CodeGen/region_multiexit_partialwrite.ll
M polly/test/CodeGen/run-time-condition-with-scev-parameters.ll
M polly/test/CodeGen/run-time-condition.ll
M polly/test/CodeGen/scalar-references-used-in-scop-compute.ll
M polly/test/CodeGen/scalar-store-from-same-bb.ll
M polly/test/CodeGen/scalar_codegen_crash.ll
M polly/test/CodeGen/scev-backedgetaken.ll
M polly/test/CodeGen/scev-division-invariant-load.ll
M polly/test/CodeGen/scev.ll
M polly/test/CodeGen/scev_expansion_in_nonaffine.ll
M polly/test/CodeGen/scev_looking_through_bitcasts.ll
M polly/test/CodeGen/scop_expander_insert_point.ll
M polly/test/CodeGen/scop_expander_segfault.ll
M polly/test/CodeGen/scop_never_executed_runtime_check_location.ll
M polly/test/CodeGen/select-base-pointer.ll
M polly/test/CodeGen/sequential_loops.ll
M polly/test/CodeGen/simple_loop_non_single_exit.ll
M polly/test/CodeGen/simple_loop_non_single_exit_2.ll
M polly/test/CodeGen/simple_non_single_entry.ll
M polly/test/CodeGen/simple_nonaffine_loop.ll
M polly/test/CodeGen/single_do_loop_int_max_iterations.ll
M polly/test/CodeGen/single_do_loop_int_param_iterations.ll
M polly/test/CodeGen/single_do_loop_ll_max_iterations.ll
M polly/test/CodeGen/single_do_loop_one_iteration.ll
M polly/test/CodeGen/single_do_loop_scev_replace.ll
M polly/test/CodeGen/single_loop.ll
M polly/test/CodeGen/single_loop_int_max_iterations.ll
M polly/test/CodeGen/single_loop_ll_max_iterations.ll
M polly/test/CodeGen/single_loop_one_iteration.ll
M polly/test/CodeGen/single_loop_param.ll
M polly/test/CodeGen/single_loop_param_less_equal.ll
M polly/test/CodeGen/single_loop_param_less_than.ll
M polly/test/CodeGen/single_loop_zero_iterations.ll
M polly/test/CodeGen/split_edge_of_exit.ll
M polly/test/CodeGen/split_edges.ll
M polly/test/CodeGen/split_edges_2.ll
M polly/test/CodeGen/srem-in-other-bb.ll
M polly/test/CodeGen/stack-overflow-in-load-hoisting.ll
M polly/test/CodeGen/stmt_split_no_dependence.ll
M polly/test/CodeGen/switch-in-non-affine-region.ll
M polly/test/CodeGen/synthesizable_phi_write_after_loop.ll
M polly/test/CodeGen/test-invalid-operands-for-select-2.ll
M polly/test/CodeGen/test-invalid-operands-for-select.ll
M polly/test/CodeGen/test.ll
M polly/test/CodeGen/two-loops-right-after-each-other-2.ll
M polly/test/CodeGen/two-scops-in-row-invalidate-scevs.ll
M polly/test/CodeGen/two-scops-in-row.ll
M polly/test/CodeGen/udiv_expansion_position.ll
M polly/test/CodeGen/uninitialized_scalar_memory.ll
M polly/test/CodeGen/unpredictable-loop-unsynthesizable.ll
M polly/test/CodeGen/variant_load_empty_domain.ll
M polly/test/CodeGen/whole-scop-non-affine-subregion.ll
M polly/test/DeLICM/confused_order.ll
M polly/test/DeLICM/contradicting_assumed_context_and_domain.ll
M polly/test/DeLICM/load-in-cond-inf-loop.ll
M polly/test/DeLICM/map_memset_zero.ll
M polly/test/DeLICM/nomap_alreadymapped.ll
M polly/test/DeLICM/nomap_escaping.ll
M polly/test/DeLICM/nomap_occupied.ll
M polly/test/DeLICM/nomap_readonly.ll
M polly/test/DeLICM/nomap_spuriouswrite.ll
M polly/test/DeLICM/nomap_storagesize.ll
M polly/test/DeLICM/nomap_writewrite.ll
M polly/test/DeLICM/outofquota-reverseDomain.ll
M polly/test/DeLICM/pass_existence.ll
M polly/test/DeLICM/pr41656.ll
M polly/test/DeLICM/pr48783.ll
M polly/test/DeLICM/reduction.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_cond1.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_cond2.ll
M polly/test/DeLICM/reduction_looprotate_gvnpre_nopreheader.ll
M polly/test/DeLICM/reduction_looprotate_licm_nopreheader.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_gvnpre.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm1.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm2.ll
M polly/test/DeLICM/reduction_looprotate_loopguard_licm3.ll
M polly/test/DeLICM/reduction_unrelatedunusual.ll
M polly/test/DeLICM/reject_loadafterstore.ll
M polly/test/DeLICM/reject_outofquota.ll
M polly/test/DeLICM/reject_storeafterstore.ll
M polly/test/DeLICM/reject_storeinsubregion.ll
M polly/test/DeLICM/reject_unusualstore.ll
M polly/test/DeLICM/skip_maywrite.ll
M polly/test/DeLICM/skip_multiaccess.ll
M polly/test/DeLICM/skip_notinloop.ll
M polly/test/DeLICM/skip_scalaraccess.ll
M polly/test/DeadCodeElimination/chained_iterations.ll
M polly/test/DeadCodeElimination/chained_iterations_2.ll
M polly/test/DeadCodeElimination/computeout.ll
M polly/test/DeadCodeElimination/dead_iteration_elimination.ll
M polly/test/DeadCodeElimination/non-affine-affine-mix.ll
M polly/test/DeadCodeElimination/non-affine.ll
M polly/test/DeadCodeElimination/null_schedule.ll
M polly/test/DependenceInfo/computeout.ll
M polly/test/DependenceInfo/different_schedule_dimensions.ll
M polly/test/DependenceInfo/do_pluto_matmult.ll
M polly/test/DependenceInfo/fine_grain_dep_0.ll
M polly/test/DependenceInfo/generate_may_write_dependence_info.ll
M polly/test/DependenceInfo/infeasible_context.ll
M polly/test/DependenceInfo/may_writes_do_not_block_must_writes_for_war.ll
M polly/test/DependenceInfo/nonaffine-condition-buildMemoryAccess.ll
M polly/test/DependenceInfo/reduction_complex_location.ll
M polly/test/DependenceInfo/reduction_dependences_equal_non_reduction_dependences.ll
M polly/test/DependenceInfo/reduction_dependences_not_null.ll
M polly/test/DependenceInfo/reduction_mixed_reduction_and_non_reduction_dependences.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_2.ll
M polly/test/DependenceInfo/reduction_multiple_loops_array_sum_3.ll
M polly/test/DependenceInfo/reduction_multiple_reductions.ll
M polly/test/DependenceInfo/reduction_multiple_reductions_2.ll
M polly/test/DependenceInfo/reduction_only_reduction_like_access.ll
M polly/test/DependenceInfo/reduction_partially_escaping_intermediate_in_other_stmt.ll
M polly/test/DependenceInfo/reduction_privatization_deps.ll
M polly/test/DependenceInfo/reduction_privatization_deps_2.ll
M polly/test/DependenceInfo/reduction_privatization_deps_3.ll
M polly/test/DependenceInfo/reduction_privatization_deps_4.ll
M polly/test/DependenceInfo/reduction_privatization_deps_5.ll
M polly/test/DependenceInfo/reduction_sequence.ll
M polly/test/DependenceInfo/reduction_simple_iv.ll
M polly/test/DependenceInfo/reduction_simple_iv_debug_wrapped_dependences.ll
M polly/test/DependenceInfo/reduction_simple_privatization_deps_2.ll
M polly/test/DependenceInfo/reduction_simple_privatization_deps_w_parameter.ll
M polly/test/DependenceInfo/reduction_two_reductions_different_rloops.ll
M polly/test/DependenceInfo/sequential_loops.ll
M polly/test/ForwardOpTree/atax.ll
M polly/test/ForwardOpTree/changed-kind.ll
M polly/test/ForwardOpTree/forward_from_region.ll
M polly/test/ForwardOpTree/forward_hoisted.ll
M polly/test/ForwardOpTree/forward_instruction.ll
M polly/test/ForwardOpTree/forward_into_region.ll
M polly/test/ForwardOpTree/forward_into_region_redundant_use.ll
M polly/test/ForwardOpTree/forward_load.ll
M polly/test/ForwardOpTree/forward_load_differentarray.ll
M polly/test/ForwardOpTree/forward_load_double_write.ll
M polly/test/ForwardOpTree/forward_load_fromloop.ll
M polly/test/ForwardOpTree/forward_load_indirect.ll
M polly/test/ForwardOpTree/forward_load_memset_after.ll
M polly/test/ForwardOpTree/forward_load_memset_before.ll
M polly/test/ForwardOpTree/forward_load_tripleuse.ll
M polly/test/ForwardOpTree/forward_load_unrelatedunusual.ll
M polly/test/ForwardOpTree/forward_phi_load.ll
M polly/test/ForwardOpTree/forward_readonly.ll
M polly/test/ForwardOpTree/forward_reusue.ll
M polly/test/ForwardOpTree/forward_store.ll
M polly/test/ForwardOpTree/forward_synthesizable_definloop.ll
M polly/test/ForwardOpTree/forward_synthesizable_indvar.ll
M polly/test/ForwardOpTree/forward_synthesizable_useinloop.ll
M polly/test/ForwardOpTree/forward_transitive.ll
M polly/test/ForwardOpTree/jacobi-1d.ll
M polly/test/ForwardOpTree/noforward_from_region.ll
M polly/test/ForwardOpTree/noforward_load_conditional.ll
M polly/test/ForwardOpTree/noforward_load_writebetween.ll
M polly/test/ForwardOpTree/noforward_outofquota.ll
M polly/test/ForwardOpTree/noforward_partial.ll
M polly/test/ForwardOpTree/noforward_phi.ll
M polly/test/ForwardOpTree/noforward_selfrefphi.ll
M polly/test/ForwardOpTree/noforward_sideffects.ll
M polly/test/ForwardOpTree/noforward_synthesizable_unknownit.ll
M polly/test/ForwardOpTree/out-of-quota1.ll
M polly/test/IstAstInfo/alias_checks_with_empty_context.ll
M polly/test/IstAstInfo/alias_simple_1.ll
M polly/test/IstAstInfo/alias_simple_2.ll
M polly/test/IstAstInfo/alias_simple_3.ll
M polly/test/IstAstInfo/aliasing_arrays_with_identical_base.ll
M polly/test/IstAstInfo/aliasing_multiple_alias_groups.ll
M polly/test/IstAstInfo/aliasing_parametric_simple_1.ll
M polly/test/IstAstInfo/aliasing_parametric_simple_2.ll
M polly/test/IstAstInfo/dependence_distance_minimal.ll
M polly/test/IstAstInfo/domain_bounded_only_with_context.ll
M polly/test/IstAstInfo/non_affine_access.ll
M polly/test/IstAstInfo/reduction_clauses_onedimensional_access.ll
M polly/test/IstAstInfo/reduction_dependences_equal_non_reduction_dependences.ll
M polly/test/IstAstInfo/reduction_different_reduction_clauses.ll
M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule.ll
M polly/test/IstAstInfo/reduction_modulo_and_loop_reversal_schedule_2.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_2.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_3.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_4.ll
M polly/test/IstAstInfo/reduction_modulo_schedule_multiple_dimensions_5.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_2.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_3.ll
M polly/test/IstAstInfo/reduction_multiple_dimensions_4.ll
M polly/test/IstAstInfo/run-time-condition.ll
M polly/test/IstAstInfo/runtime_context_with_error_blocks.ll
M polly/test/IstAstInfo/simple-run-time-condition.ll
M polly/test/IstAstInfo/single_loop_strip_mine.ll
M polly/test/IstAstInfo/single_loop_uint_max_iterations.ll
M polly/test/IstAstInfo/single_loop_ull_max_iterations.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Bad-relation.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-No-accesses-key.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-MemAcc.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Not-enough-statements.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Relation-mispelled.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Statements-mispelled.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Undeclared-ScopArrayInfo.ll
M polly/test/JSONExporter/ImportAccesses/ImportAccesses-Wrong-number-dimensions.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-Mispelled-type.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-Negative-size.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-name.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-sizes-key.ll
M polly/test/JSONExporter/ImportArrays/ImportArrays-No-type-key.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Context-mispelled.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Not-parameter-set.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Unvalid-Context.ll
M polly/test/JSONExporter/ImportContext/ImportContext-Wrong-dimension.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-No-schedule-key.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Schedule-not-valid.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Statements-mispelled.ll
M polly/test/JSONExporter/ImportSchedule/ImportSchedule-Wrong-number-statements.ll
M polly/test/MaximalStaticExpansion/load_after_store_same_statement.ll
M polly/test/MaximalStaticExpansion/read_from_original.ll
M polly/test/MaximalStaticExpansion/too_many_writes.ll
M polly/test/MaximalStaticExpansion/working_deps_between_inners.ll
M polly/test/MaximalStaticExpansion/working_deps_between_inners_phi.ll
M polly/test/MaximalStaticExpansion/working_expansion.ll
M polly/test/MaximalStaticExpansion/working_expansion_multiple_dependences_per_statement.ll
M polly/test/MaximalStaticExpansion/working_expansion_multiple_instruction_per_statement.ll
M polly/test/MaximalStaticExpansion/working_phi_expansion.ll
M polly/test/MaximalStaticExpansion/working_phi_two_scalars.ll
M polly/test/MaximalStaticExpansion/working_value_expansion.ll
M polly/test/PruneUnprofitable/prune_only_scalardeps.ll
M polly/test/ScheduleOptimizer/2012-03-16-Empty-Domain.ll
M polly/test/ScheduleOptimizer/2013-04-11-Empty-Domain-two.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-double.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-first.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-except-third.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-carried.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner-third.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-inner.ll
M polly/test/ScheduleOptimizer/GreedyFuse/fuse-simple.ll
M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-simple.ll
M polly/test/ScheduleOptimizer/GreedyFuse/nofuse-with-middle.ll
M polly/test/ScheduleOptimizer/ManualOptimization/disable_nonforced.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_heuristic.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_looploc.ll
M polly/test/ScheduleOptimizer/ManualOptimization/distribute_illegal_pragmaloc.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_disable.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_double.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_full.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_heuristic.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial.ll
M polly/test/ScheduleOptimizer/ManualOptimization/unroll_partial_followup.ll
M polly/test/ScheduleOptimizer/SIMDInParallelFor.ll
M polly/test/ScheduleOptimizer/computeout.ll
M polly/test/ScheduleOptimizer/ensure-correct-tile-sizes.ll
M polly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll
M polly/test/ScheduleOptimizer/full_partial_tile_separation.ll
M polly/test/ScheduleOptimizer/line-tiling-2.ll
M polly/test/ScheduleOptimizer/line-tiling.ll
M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout.ll
M polly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll
M polly/test/ScheduleOptimizer/one-dimensional-band.ll
M polly/test/ScheduleOptimizer/outer_coincidence.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts-after-delicm_2.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_11.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_12.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_13.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_14.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_15.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_16.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_17.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_18.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_19.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_2.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_20.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_21.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_22.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_24.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_25.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_4.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_5.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_6.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_7.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_8.ll
M polly/test/ScheduleOptimizer/pattern-matching-based-opts_9.ll
M polly/test/ScheduleOptimizer/pattern_matching_based_opts_splitmap.ll
M polly/test/ScheduleOptimizer/prevectorization-without-tiling.ll
M polly/test/ScheduleOptimizer/prevectorization.ll
M polly/test/ScheduleOptimizer/rectangular-tiling.ll
M polly/test/ScheduleOptimizer/schedule_computeout.ll
M polly/test/ScheduleOptimizer/statistics.ll
M polly/test/ScheduleOptimizer/tile_after_fusion.ll
M polly/test/ScheduleOptimizer/vivid-vbi-gen-vivid_vbi_gen_sliced-before-llvmreduced.ll
M polly/test/ScopDetect/aliasing_parametric_simple_1.ll
M polly/test/ScopDetect/aliasing_parametric_simple_2.ll
M polly/test/ScopDetect/aliasing_simple_1.ll
M polly/test/ScopDetect/aliasing_simple_2.ll
M polly/test/ScopDetect/base_pointer_load_setNewAccessRelation.ll
M polly/test/ScopDetect/base_pointer_setNewAccessRelation.ll
M polly/test/ScopDetect/callbr.ll
M polly/test/ScopDetect/collective_invariant_loads.ll
M polly/test/ScopDetect/cross_loop_non_single_exit.ll
M polly/test/ScopDetect/cross_loop_non_single_exit_2.ll
M polly/test/ScopDetect/dependency_to_phi_node_outside_of_region.ll
M polly/test/ScopDetect/dot-scops-npm.ll
M polly/test/ScopDetect/dot-scops.ll
M polly/test/ScopDetect/error-block-always-executed.ll
M polly/test/ScopDetect/error-block-referenced-from-scop.ll
M polly/test/ScopDetect/error-block-unreachable.ll
M polly/test/ScopDetect/expand-region-correctly-2.ll
M polly/test/ScopDetect/expand-region-correctly.ll
M polly/test/ScopDetect/ignore_func_flag_regex.ll
M polly/test/ScopDetect/index_from_unpredictable_loop.ll
M polly/test/ScopDetect/index_from_unpredictable_loop2.ll
M polly/test/ScopDetect/indvars.ll
M polly/test/ScopDetect/intrinsics_1.ll
M polly/test/ScopDetect/intrinsics_2.ll
M polly/test/ScopDetect/intrinsics_3.ll
M polly/test/ScopDetect/invalid-latch-conditions.ll
M polly/test/ScopDetect/invalidate_scalar_evolution.ll
M polly/test/ScopDetect/invariant-load-before-scop.ll
M polly/test/ScopDetect/keep_going_expansion.ll
M polly/test/ScopDetect/mod_ref_read_pointer.ll
M polly/test/ScopDetect/more-than-one-loop.ll
M polly/test/ScopDetect/multidim-with-undef-size.ll
M polly/test/ScopDetect/multidim.ll
M polly/test/ScopDetect/multidim_indirect_access.ll
M polly/test/ScopDetect/multidim_two_accesses_different_delinearization.ll
M polly/test/ScopDetect/nested_loop_single_exit.ll
M polly/test/ScopDetect/non-affine-conditional.ll
M polly/test/ScopDetect/non-affine-float-compare.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_2.ll
M polly/test/ScopDetect/non-affine-loop-condition-dependent-access_3.ll
M polly/test/ScopDetect/non-affine-loop.ll
M polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll
M polly/test/ScopDetect/non-constant-add-rec-start-expr.ll
M polly/test/ScopDetect/non-simple-memory-accesses.ll
M polly/test/ScopDetect/non_affine_loop_condition.ll
M polly/test/ScopDetect/only-one-affine-loop.ll
M polly/test/ScopDetect/only_func_flag.ll
M polly/test/ScopDetect/only_func_flag_regex.ll
M polly/test/ScopDetect/parametric-multiply-in-scev-2.ll
M polly/test/ScopDetect/parametric-multiply-in-scev.ll
M polly/test/ScopDetect/phi_with_multi_exiting_edges.ll
M polly/test/ScopDetect/profitability-large-basic-blocks.ll
M polly/test/ScopDetect/profitability-two-nested-loops.ll
M polly/test/ScopDetect/remove_all_children.ll
M polly/test/ScopDetect/report-scop-location.ll
M polly/test/ScopDetect/restrict-undef-size-scopdetect.ll
M polly/test/ScopDetect/run_time_alias_check.ll
M polly/test/ScopDetect/scev_remove_max.ll
M polly/test/ScopDetect/sequential_loops.ll
M polly/test/ScopDetect/simple_loop.ll
M polly/test/ScopDetect/simple_loop_non_single_entry.ll
M polly/test/ScopDetect/simple_loop_non_single_exit.ll
M polly/test/ScopDetect/simple_loop_non_single_exit_2.ll
M polly/test/ScopDetect/simple_loop_two_phi_nodes.ll
M polly/test/ScopDetect/simple_loop_with_param.ll
M polly/test/ScopDetect/simple_loop_with_param_2.ll
M polly/test/ScopDetect/simple_non_single_entry.ll
M polly/test/ScopDetect/skip_function_attribute.ll
M polly/test/ScopDetect/srem_with_parametric_divisor.ll
M polly/test/ScopDetect/statistics.ll
M polly/test/ScopDetect/switch-in-loop-patch.ll
M polly/test/ScopDetectionDiagnostics/ReportAlias-01.ll
M polly/test/ScopDetectionDiagnostics/ReportEntry.ll
M polly/test/ScopDetectionDiagnostics/ReportFuncCall-01.ll
M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegion.ll
M polly/test/ScopDetectionDiagnostics/ReportIrreducibleRegionWithoutDebugLoc.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
M polly/test/ScopDetectionDiagnostics/ReportLoopHasNoExit.ll
M polly/test/ScopDetectionDiagnostics/ReportMultipleNonAffineAccesses.ll
M polly/test/ScopDetectionDiagnostics/ReportNonAffineAccess-01.ll
M polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll
M polly/test/ScopDetectionDiagnostics/ReportUnreachableInExit.ll
M polly/test/ScopDetectionDiagnostics/ReportVariantBasePtr-01.ll
M polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll
M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop-2.ll
M polly/test/ScopDetectionDiagnostics/loop_partially_in_scop.ll
M polly/test/ScopInfo/20110312-Fail-without-basicaa.ll
M polly/test/ScopInfo/20111108-Parameter-not-detected.ll
M polly/test/ScopInfo/2012-03-16-Crash-because-of-unsigned-in-scev.ll
M polly/test/ScopInfo/2015-10-04-Crash-in-domain-generation.ll
M polly/test/ScopInfo/Alias-0.ll
M polly/test/ScopInfo/Alias-1.ll
M polly/test/ScopInfo/Alias-2.ll
M polly/test/ScopInfo/Alias-3.ll
M polly/test/ScopInfo/Alias-4.ll
M polly/test/ScopInfo/BoundChecks/single-loop.ll
M polly/test/ScopInfo/BoundChecks/two-loops.ll
M polly/test/ScopInfo/NonAffine/div_backedge.ll
M polly/test/ScopInfo/NonAffine/div_domain.ll
M polly/test/ScopInfo/NonAffine/invariant_loads_dependent_in_non_affine_region.ll
M polly/test/ScopInfo/NonAffine/modulo_backedge.ll
M polly/test/ScopInfo/NonAffine/modulo_domain.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll
M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll
M polly/test/ScopInfo/NonAffine/non_affine_access_with_range_2.ll
M polly/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll
M polly/test/ScopInfo/NonAffine/non_affine_but_srem.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_nested.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_affine_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_float_compare.ll
M polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll
M polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
M polly/test/ScopInfo/NonAffine/non_affine_parametric_loop.ll
M polly/test/ScopInfo/NonAffine/non_affine_region_guaranteed_non-entry.ll
M polly/test/ScopInfo/NonAffine/whole-scop-non-affine-subregion-in-loop.ll
M polly/test/ScopInfo/aliasing_conditional_alias_groups_1.ll
M polly/test/ScopInfo/aliasing_conditional_alias_groups_2.ll
M polly/test/ScopInfo/aliasing_dead_access.ll
M polly/test/ScopInfo/aliasing_many_arrays_to_compare.ll
M polly/test/ScopInfo/aliasing_many_read_only_acesses.ll
M polly/test/ScopInfo/aliasing_multiple_alias_groups.ll
M polly/test/ScopInfo/aliasing_with_non_affine_access.ll
M polly/test/ScopInfo/allow-all-parameters-dereferencable.ll
M polly/test/ScopInfo/assume_gep_bounds.ll
M polly/test/ScopInfo/assume_gep_bounds_2.ll
M polly/test/ScopInfo/assume_gep_bounds_many.ll
M polly/test/ScopInfo/avoid_new_parameters_from_geps.ll
M polly/test/ScopInfo/bool-addrec.ll
M polly/test/ScopInfo/bounded_loop_assumptions.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-2.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations-3.ll
M polly/test/ScopInfo/branch-references-loop-scev-with-unknown-iterations.ll
M polly/test/ScopInfo/bug_2010_10_22.ll
M polly/test/ScopInfo/bug_2011_1_5.ll
M polly/test/ScopInfo/bug_scev_not_fully_eval.ll
M polly/test/ScopInfo/cfg_consequences.ll
M polly/test/ScopInfo/complex-branch-structure.ll
M polly/test/ScopInfo/complex-condition.ll
M polly/test/ScopInfo/complex-expression.ll
M polly/test/ScopInfo/complex-loop-nesting.ll
M polly/test/ScopInfo/complex-successor-structure-2.ll
M polly/test/ScopInfo/complex-successor-structure-3.ll
M polly/test/ScopInfo/complex-successor-structure.ll
M polly/test/ScopInfo/complex_domain_binary_condition.ll
M polly/test/ScopInfo/complex_execution_context.ll
M polly/test/ScopInfo/cond_constant_in_loop.ll
M polly/test/ScopInfo/cond_in_loop.ll
M polly/test/ScopInfo/condition-after-error-block-2.ll
M polly/test/ScopInfo/condition-after-error-block-before-scop.ll
M polly/test/ScopInfo/condtion-after-error-block.ll
M polly/test/ScopInfo/const_srem_sdiv.ll
M polly/test/ScopInfo/constant-non-integer-branch-condition.ll
M polly/test/ScopInfo/constant_factor_in_parameter.ll
M polly/test/ScopInfo/constant_functions_outside_scop_as_unknown.ll
M polly/test/ScopInfo/constant_start_integer.ll
M polly/test/ScopInfo/debug_call.ll
M polly/test/ScopInfo/delinearize-together-all-data-refs.ll
M polly/test/ScopInfo/div_by_zero.ll
M polly/test/ScopInfo/do-not-model-error-block-accesses.ll
M polly/test/ScopInfo/eager-binary-and-or-conditions.ll
M polly/test/ScopInfo/early_exit_for_complex_domains.ll
M polly/test/ScopInfo/error-blocks-1.ll
M polly/test/ScopInfo/error-blocks-2.ll
M polly/test/ScopInfo/escaping_empty_scop.ll
M polly/test/ScopInfo/exit-phi-1.ll
M polly/test/ScopInfo/exit-phi-2.ll
M polly/test/ScopInfo/exit_phi_accesses-2.ll
M polly/test/ScopInfo/exit_phi_accesses.ll
M polly/test/ScopInfo/expensive-boundary-context.ll
M polly/test/ScopInfo/extract_constant_factor_introduces_new_parameter.ll
M polly/test/ScopInfo/full-function.ll
M polly/test/ScopInfo/granularity_same_name.ll
M polly/test/ScopInfo/granularity_scalar-indep.ll
M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi1.ll
M polly/test/ScopInfo/granularity_scalar-indep_cross-referencing-phi2.ll
M polly/test/ScopInfo/granularity_scalar-indep_epilogue.ll
M polly/test/ScopInfo/granularity_scalar-indep_epilogue_last.ll
M polly/test/ScopInfo/granularity_scalar-indep_noepilogue.ll
M polly/test/ScopInfo/granularity_scalar-indep_ordered-2.ll
M polly/test/ScopInfo/granularity_scalar-indep_ordered.ll
M polly/test/ScopInfo/i1_params.ll
M polly/test/ScopInfo/infeasible-rtc.ll
M polly/test/ScopInfo/infeasible_invalid_context.ll
M polly/test/ScopInfo/int2ptr_ptr2int.ll
M polly/test/ScopInfo/int2ptr_ptr2int_2.ll
M polly/test/ScopInfo/integers.ll
M polly/test/ScopInfo/inter-error-bb-dependence.ll
M polly/test/ScopInfo/inter_bb_scalar_dep.ll
M polly/test/ScopInfo/intra-non-affine-stmt-phi-node.ll
M polly/test/ScopInfo/intra_and_inter_bb_scalar_dep.ll
M polly/test/ScopInfo/intra_bb_scalar_dep.ll
M polly/test/ScopInfo/intrinsics.ll
M polly/test/ScopInfo/invalid_add_rec_after_invariant_load_remapping.ll
M polly/test/ScopInfo/invalidate_iterator_during_MA_removal.ll
M polly/test/ScopInfo/invariant-load-instlist.ll
M polly/test/ScopInfo/invariant-loads-leave-read-only-statements.ll
M polly/test/ScopInfo/invariant_load.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_escaping.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer.ll
M polly/test/ScopInfo/invariant_load_access_classes_different_base_type_same_pointer_escaping.ll
M polly/test/ScopInfo/invariant_load_addrec_sum.ll
M polly/test/ScopInfo/invariant_load_base_pointer.ll
M polly/test/ScopInfo/invariant_load_base_pointer_conditional.ll
M polly/test/ScopInfo/invariant_load_base_pointer_in_conditional.ll
M polly/test/ScopInfo/invariant_load_branch_condition.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_2.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_3.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4b.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_4c.ll
M polly/test/ScopInfo/invariant_load_canonicalize_array_baseptrs_5.ll
M polly/test/ScopInfo/invariant_load_complex_condition.ll
M polly/test/ScopInfo/invariant_load_condition.ll
M polly/test/ScopInfo/invariant_load_dereferenceable.ll
M polly/test/ScopInfo/invariant_load_distinct_parameter_valuations.ll
M polly/test/ScopInfo/invariant_load_in_non_affine.ll
M polly/test/ScopInfo/invariant_load_loop_ub.ll
M polly/test/ScopInfo/invariant_load_ptr_ptr_noalias.ll
M polly/test/ScopInfo/invariant_load_scalar_dep.ll
M polly/test/ScopInfo/invariant_load_stmt_domain.ll
M polly/test/ScopInfo/invariant_load_zext_parameter-2.ll
M polly/test/ScopInfo/invariant_load_zext_parameter.ll
M polly/test/ScopInfo/invariant_load_zextended_in_own_execution_context.ll
M polly/test/ScopInfo/invariant_loads_complicated_dependences.ll
M polly/test/ScopInfo/invariant_loads_cyclic_dependences.ll
M polly/test/ScopInfo/invariant_loop_bounds.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-1.ll
M polly/test/ScopInfo/invariant_same_loop_bound_multiple_times-2.ll
M polly/test/ScopInfo/isl_aff_out_of_bounds.ll
M polly/test/ScopInfo/isl_trip_count_01.ll
M polly/test/ScopInfo/isl_trip_count_02.ll
M polly/test/ScopInfo/isl_trip_count_03.ll
M polly/test/ScopInfo/isl_trip_count_multiple_exiting_blocks.ll
M polly/test/ScopInfo/licm_reduction_nested.ll
M polly/test/ScopInfo/long-compile-time-alias-analysis.ll
M polly/test/ScopInfo/long-sequence-of-error-blocks-2.ll
M polly/test/ScopInfo/long-sequence-of-error-blocks.ll
M polly/test/ScopInfo/loop-multiexit-succ-cond.ll
M polly/test/ScopInfo/loop_affine_bound_0.ll
M polly/test/ScopInfo/loop_affine_bound_1.ll
M polly/test/ScopInfo/loop_affine_bound_2.ll
M polly/test/ScopInfo/loop_carry.ll
M polly/test/ScopInfo/many-scalar-dependences.ll
M polly/test/ScopInfo/max-loop-depth.ll
M polly/test/ScopInfo/memcpy-raw-source.ll
M polly/test/ScopInfo/memcpy.ll
M polly/test/ScopInfo/memmove.ll
M polly/test/ScopInfo/memset.ll
M polly/test/ScopInfo/memset_null.ll
M polly/test/ScopInfo/mismatching-array-dimensions.ll
M polly/test/ScopInfo/mod_ref_access_pointee_arguments.ll
M polly/test/ScopInfo/mod_ref_read_pointee_arguments.ll
M polly/test/ScopInfo/mod_ref_read_pointer.ll
M polly/test/ScopInfo/mod_ref_read_pointers.ll
M polly/test/ScopInfo/modulo_zext_1.ll
M polly/test/ScopInfo/modulo_zext_2.ll
M polly/test/ScopInfo/modulo_zext_3.ll
M polly/test/ScopInfo/multi-scop.ll
M polly/test/ScopInfo/multidim_2d-diagonal-matrix.ll
M polly/test/ScopInfo/multidim_2d_outer_parametric_offset.ll
M polly/test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll
M polly/test/ScopInfo/multidim_2d_with_modref_call.ll
M polly/test/ScopInfo/multidim_2d_with_modref_call_2.ll
M polly/test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll
M polly/test/ScopInfo/multidim_fixedsize_different_dimensionality.ll
M polly/test/ScopInfo/multidim_fixedsize_multi_offset.ll
M polly/test/ScopInfo/multidim_fold_constant_dim.ll
M polly/test/ScopInfo/multidim_fold_constant_dim_zero.ll
M polly/test/ScopInfo/multidim_fortran_2d.ll
M polly/test/ScopInfo/multidim_fortran_2d_params.ll
M polly/test/ScopInfo/multidim_fortran_2d_with_modref_call.ll
M polly/test/ScopInfo/multidim_fortran_srem.ll
M polly/test/ScopInfo/multidim_gep_pointercast.ll
M polly/test/ScopInfo/multidim_gep_pointercast2.ll
M polly/test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll
M polly/test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll
M polly/test/ScopInfo/multidim_many_references.ll
M polly/test/ScopInfo/multidim_nested_start_integer.ll
M polly/test/ScopInfo/multidim_nested_start_share_parameter.ll
M polly/test/ScopInfo/multidim_only_ivs_2d.ll
M polly/test/ScopInfo/multidim_only_ivs_3d.ll
M polly/test/ScopInfo/multidim_only_ivs_3d_cast.ll
M polly/test/ScopInfo/multidim_only_ivs_3d_reverse.ll
M polly/test/ScopInfo/multidim_param_in_subscript-2.ll
M polly/test/ScopInfo/multidim_param_in_subscript.ll
M polly/test/ScopInfo/multidim_parameter_addrec_product.ll
M polly/test/ScopInfo/multidim_single_and_multidim_array.ll
M polly/test/ScopInfo/multidim_srem.ll
M polly/test/ScopInfo/multidim_with_bitcast.ll
M polly/test/ScopInfo/multiple-binary-or-conditions.ll
M polly/test/ScopInfo/multiple-types-access-offset-not-dividable-by-element-size.ll
M polly/test/ScopInfo/multiple-types-non-affine-2.ll
M polly/test/ScopInfo/multiple-types-non-affine.ll
M polly/test/ScopInfo/multiple-types-non-power-of-two-2.ll
M polly/test/ScopInfo/multiple-types-non-power-of-two.ll
M polly/test/ScopInfo/multiple-types-two-dimensional-2.ll
M polly/test/ScopInfo/multiple-types-two-dimensional.ll
M polly/test/ScopInfo/multiple-types.ll
M polly/test/ScopInfo/multiple_exiting_blocks.ll
M polly/test/ScopInfo/multiple_exiting_blocks_two_loop.ll
M polly/test/ScopInfo/multiple_latch_blocks.ll
M polly/test/ScopInfo/nested-loops.ll
M polly/test/ScopInfo/no-scalar-deps-in-non-affine-subregion.ll
M polly/test/ScopInfo/non-affine-region-phi.ll
M polly/test/ScopInfo/non-affine-region-with-loop-2.ll
M polly/test/ScopInfo/non-affine-region-with-loop.ll
M polly/test/ScopInfo/non-precise-inv-load-1.ll
M polly/test/ScopInfo/non-precise-inv-load-2.ll
M polly/test/ScopInfo/non-precise-inv-load-3.ll
M polly/test/ScopInfo/non-precise-inv-load-4.ll
M polly/test/ScopInfo/non-precise-inv-load-5.ll
M polly/test/ScopInfo/non-precise-inv-load-6.ll
M polly/test/ScopInfo/non-pure-function-call.ll
M polly/test/ScopInfo/non-pure-function-calls-causes-dead-blocks.ll
M polly/test/ScopInfo/non-pure-function-calls.ll
M polly/test/ScopInfo/non_affine_access.ll
M polly/test/ScopInfo/non_affine_region_1.ll
M polly/test/ScopInfo/non_affine_region_2.ll
M polly/test/ScopInfo/non_affine_region_3.ll
M polly/test/ScopInfo/non_affine_region_4.ll
M polly/test/ScopInfo/nonaffine-buildMemoryAccess.ll
M polly/test/ScopInfo/not-a-reduction.ll
M polly/test/ScopInfo/opaque-struct.ll
M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node-nonaffine-subregion.ll
M polly/test/ScopInfo/out-of-scop-use-in-region-entry-phi-node.ll
M polly/test/ScopInfo/parameter-constant-division.ll
M polly/test/ScopInfo/parameter_in_dead_statement.ll
M polly/test/ScopInfo/parameter_product.ll
M polly/test/ScopInfo/parameter_with_constant_factor_in_add.ll
M polly/test/ScopInfo/partially_invariant_load_1.ll
M polly/test/ScopInfo/partially_invariant_load_2.ll
M polly/test/ScopInfo/phi-in-non-affine-region.ll
M polly/test/ScopInfo/phi_after_error_block.ll
M polly/test/ScopInfo/phi_condition_modeling_1.ll
M polly/test/ScopInfo/phi_condition_modeling_2.ll
M polly/test/ScopInfo/phi_conditional_simple_1.ll
M polly/test/ScopInfo/phi_loop_carried_float.ll
M polly/test/ScopInfo/phi_not_grouped_at_top.ll
M polly/test/ScopInfo/phi_scalar_simple_1.ll
M polly/test/ScopInfo/phi_scalar_simple_2.ll
M polly/test/ScopInfo/phi_with_invoke_edge.ll
M polly/test/ScopInfo/pointer-comparison-no-nsw.ll
M polly/test/ScopInfo/pointer-comparison.ll
M polly/test/ScopInfo/pointer-type-expressions.ll
M polly/test/ScopInfo/pointer-used-as-base-pointer-and-scalar-read.ll
M polly/test/ScopInfo/polly-timeout-parameter-bounds.ll
M polly/test/ScopInfo/preserve-equiv-class-order-in-basic_block.ll
M polly/test/ScopInfo/process_added_dimensions.ll
M polly/test/ScopInfo/pwaff-complexity-bailout.ll
M polly/test/ScopInfo/ranged_parameter.ll
M polly/test/ScopInfo/ranged_parameter_2.ll
M polly/test/ScopInfo/ranged_parameter_wrap.ll
M polly/test/ScopInfo/ranged_parameter_wrap_2.ll
M polly/test/ScopInfo/read-only-scalar-used-in-phi-2.ll
M polly/test/ScopInfo/read-only-scalar-used-in-phi.ll
M polly/test/ScopInfo/read-only-scalars.ll
M polly/test/ScopInfo/read-only-statements.ll
M polly/test/ScopInfo/reduction_alternating_base.ll
M polly/test/ScopInfo/reduction_chain_partially_outside_the_scop.ll
M polly/test/ScopInfo/reduction_different_index.ll
M polly/test/ScopInfo/reduction_different_index1.ll
M polly/test/ScopInfo/reduction_disabled_multiplicative.ll
M polly/test/ScopInfo/reduction_escaping_intermediate.ll
M polly/test/ScopInfo/reduction_escaping_intermediate_2.ll
M polly/test/ScopInfo/reduction_invalid_different_operators.ll
M polly/test/ScopInfo/reduction_invalid_overlapping_accesses.ll
M polly/test/ScopInfo/reduction_multiple_loops_array_sum.ll
M polly/test/ScopInfo/reduction_multiple_loops_array_sum_1.ll
M polly/test/ScopInfo/reduction_multiple_simple_binary.ll
M polly/test/ScopInfo/reduction_non_overlapping_chains.ll
M polly/test/ScopInfo/reduction_only_reduction_like_access.ll
M polly/test/ScopInfo/reduction_simple_fp.ll
M polly/test/ScopInfo/reduction_simple_w_constant.ll
M polly/test/ScopInfo/reduction_simple_w_iv.ll
M polly/test/ScopInfo/reduction_two_identical_reads.ll
M polly/test/ScopInfo/redundant_parameter_constraint.ll
M polly/test/ScopInfo/region-with-instructions.ll
M polly/test/ScopInfo/remarks.ll
M polly/test/ScopInfo/required-invariant-loop-bounds.ll
M polly/test/ScopInfo/restriction_in_dead_block.ll
M polly/test/ScopInfo/run-time-check-many-array-disjuncts.ll
M polly/test/ScopInfo/run-time-check-many-parameters.ll
M polly/test/ScopInfo/run-time-check-many-piecewise-aliasing.ll
M polly/test/ScopInfo/run-time-check-read-only-arrays.ll
M polly/test/ScopInfo/same-base-address-scalar-and-array.ll
M polly/test/ScopInfo/scalar.ll
M polly/test/ScopInfo/scalar_dependence_cond_br.ll
M polly/test/ScopInfo/scalar_to_array.ll
M polly/test/ScopInfo/scev-div-with-evaluatable-divisor.ll
M polly/test/ScopInfo/scev-invalidated.ll
M polly/test/ScopInfo/schedule-const-post-dominator-walk-2.ll
M polly/test/ScopInfo/schedule-const-post-dominator-walk.ll
M polly/test/ScopInfo/schedule-constuction-endless-loop1.ll
M polly/test/ScopInfo/schedule-constuction-endless-loop2.ll
M polly/test/ScopInfo/schedule-incorrectly-contructed-in-case-of-infinite-loop.ll
M polly/test/ScopInfo/scop-affine-parameter-ordering.ll
M polly/test/ScopInfo/sign_wrapped_set.ll
M polly/test/ScopInfo/simple_loop_1.ll
M polly/test/ScopInfo/simple_loop_2.ll
M polly/test/ScopInfo/simple_loop_unsigned.ll
M polly/test/ScopInfo/simple_loop_unsigned_2.ll
M polly/test/ScopInfo/simple_loop_unsigned_3.ll
M polly/test/ScopInfo/simple_nonaffine_loop_not.ll
M polly/test/ScopInfo/smax.ll
M polly/test/ScopInfo/statistics.ll
M polly/test/ScopInfo/stmt_split_exit_of_region_stmt.ll
M polly/test/ScopInfo/stmt_split_no_after_split.ll
M polly/test/ScopInfo/stmt_split_no_dependence.ll
M polly/test/ScopInfo/stmt_split_on_store.ll
M polly/test/ScopInfo/stmt_split_on_synthesizable.ll
M polly/test/ScopInfo/stmt_split_phi_in_beginning_bb.ll
M polly/test/ScopInfo/stmt_split_phi_in_stmt.ll
M polly/test/ScopInfo/stmt_split_scalar_dependence.ll
M polly/test/ScopInfo/stmt_split_within_loop.ll
M polly/test/ScopInfo/stmt_with_read_but_without_sideffect.ll
M polly/test/ScopInfo/switch-1.ll
M polly/test/ScopInfo/switch-2.ll
M polly/test/ScopInfo/switch-3.ll
M polly/test/ScopInfo/switch-4.ll
M polly/test/ScopInfo/switch-5.ll
M polly/test/ScopInfo/switch-6.ll
M polly/test/ScopInfo/switch-7.ll
M polly/test/ScopInfo/tempscop-printing.ll
M polly/test/ScopInfo/test-wrapping-in-condition.ll
M polly/test/ScopInfo/truncate-1.ll
M polly/test/ScopInfo/truncate-2.ll
M polly/test/ScopInfo/truncate-3.ll
M polly/test/ScopInfo/two-loops-one-infinite.ll
M polly/test/ScopInfo/two-loops-right-after-each-other.ll
M polly/test/ScopInfo/undef_in_cond.ll
M polly/test/ScopInfo/unnamed_nonaffine.ll
M polly/test/ScopInfo/unnamed_stmts.ll
M polly/test/ScopInfo/unpredictable_nonscop_loop.ll
M polly/test/ScopInfo/unprofitable_scalar-accs.ll
M polly/test/ScopInfo/unsigned-condition.ll
M polly/test/ScopInfo/unsigned-division-1.ll
M polly/test/ScopInfo/unsigned-division-2.ll
M polly/test/ScopInfo/unsigned-division-3.ll
M polly/test/ScopInfo/unsigned-division-4.ll
M polly/test/ScopInfo/unsigned-division-5.ll
M polly/test/ScopInfo/unsigned_wrap_uge.ll
M polly/test/ScopInfo/unsigned_wrap_ugt.ll
M polly/test/ScopInfo/unsigned_wrap_ule.ll
M polly/test/ScopInfo/unsigned_wrap_ult.ll
M polly/test/ScopInfo/user_context.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed-conditional.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-signed.ll
M polly/test/ScopInfo/user_provided_assumptions-in-bb-unsigned.ll
M polly/test/ScopInfo/user_provided_assumptions.ll
M polly/test/ScopInfo/user_provided_assumptions_2.ll
M polly/test/ScopInfo/user_provided_assumptions_3.ll
M polly/test/ScopInfo/user_provided_non_dominating_assumptions.ll
M polly/test/ScopInfo/variant_base_pointer.ll
M polly/test/ScopInfo/variant_load_empty_domain.ll
M polly/test/ScopInfo/wraping_signed_expr_0.ll
M polly/test/ScopInfo/wraping_signed_expr_1.ll
M polly/test/ScopInfo/wraping_signed_expr_2.ll
M polly/test/ScopInfo/wraping_signed_expr_3.ll
M polly/test/ScopInfo/wraping_signed_expr_4.ll
M polly/test/ScopInfo/wraping_signed_expr_5.ll
M polly/test/ScopInfo/wraping_signed_expr_6.ll
M polly/test/ScopInfo/wraping_signed_expr_7.ll
M polly/test/ScopInfo/wraping_signed_expr_slow_1.ll
M polly/test/ScopInfo/wraping_signed_expr_slow_2.ll
M polly/test/ScopInfo/zero_ext_of_truncate.ll
M polly/test/ScopInfo/zero_ext_of_truncate_2.ll
M polly/test/ScopInfo/zero_ext_space_mismatch.ll
M polly/test/ScopInliner/invariant-load-func.ll
M polly/test/Simplify/coalesce_3partials.ll
M polly/test/Simplify/coalesce_disjointelements.ll
M polly/test/Simplify/coalesce_overlapping.ll
M polly/test/Simplify/coalesce_partial.ll
M polly/test/Simplify/dead_access_load.ll
M polly/test/Simplify/dead_access_phi.ll
M polly/test/Simplify/dead_access_value.ll
M polly/test/Simplify/dead_instruction.ll
M polly/test/Simplify/emptyaccessdomain.ll
M polly/test/Simplify/exit_phi_accesses-2.ll
M polly/test/Simplify/func-b320a7.ll
M polly/test/Simplify/gemm.ll
M polly/test/Simplify/nocoalesce_differentvalues.ll
M polly/test/Simplify/nocoalesce_elementmismatch.ll
M polly/test/Simplify/nocoalesce_readbetween.ll
M polly/test/Simplify/nocoalesce_writebetween.ll
M polly/test/Simplify/notdead_region_exitphi.ll
M polly/test/Simplify/notdead_region_innerphi.ll
M polly/test/Simplify/notredundant_region_loop.ll
M polly/test/Simplify/notredundant_region_middle.ll
M polly/test/Simplify/notredundant_synthesizable_unknownit.ll
M polly/test/Simplify/out-of-scop-use-in-region-entry-phi-node.ll
M polly/test/Simplify/overwritten.ll
M polly/test/Simplify/overwritten_3phi.ll
M polly/test/Simplify/overwritten_3store.ll
M polly/test/Simplify/overwritten_implicit_and_explicit.ll
M polly/test/Simplify/overwritten_loadbetween.ll
M polly/test/Simplify/overwritten_scalar.ll
M polly/test/Simplify/pass_existence.ll
M polly/test/Simplify/phi_in_regionstmt.ll
M polly/test/Simplify/pr33323.ll
M polly/test/Simplify/redundant.ll
M polly/test/Simplify/redundant_differentindex.ll
M polly/test/Simplify/redundant_region.ll
M polly/test/Simplify/redundant_region_scalar.ll
M polly/test/Simplify/redundant_scalarwrite.ll
M polly/test/Simplify/redundant_storebetween.ll
M polly/test/Simplify/scalability1.ll
M polly/test/Simplify/scalability2.ll
M polly/test/Simplify/sweep_mapped_phi.ll
M polly/test/Simplify/sweep_mapped_value.ll
M polly/test/Simplify/ununsed_read_in_region_entry.ll
M polly/test/Support/Plugins.ll
M polly/test/Support/isl-args.ll
M polly/test/lit.site.cfg.in
M polly/test/polly.ll
Log Message:
-----------
Reland "[polly] Port polly tests to use NPM" (#92918)
Even as the NPM has been in use by Polly for a while now, the majority
of the tests continue using the LPM passes. This patch ports the tests
to use the NPM passes (for example, by replacing a flag such as
-polly-detect with -passes=polly-detect following the NPM syntax for
specifying passes) with some exceptions for some missing features in the
new passes.
Relanding #90632.
Commit: 57be0d2c86e6da73bbd34850a348a87e0a03afbb
https://github.com/llvm/llvm-project/commit/57be0d2c86e6da73bbd34850a348a87e0a03afbb
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
R flang/test/Semantics/OpenMP/sections03.f90
Log Message:
-----------
[Flang][OpenMP] Remove the orphan section test (#93343)
Remove this test since it is marked as XFAIL and has some
non-deterministic behaviour which causes it to spuriously pass on
out-of-tree builds.
Capturing this in https://github.com/llvm/llvm-project/issues/93342 to
make a proper fix and a test later.
Commit: 720cade2b68b5c360a5035a98d7ff643191fa3e0
https://github.com/llvm/llvm-project/commit/720cade2b68b5c360a5035a98d7ff643191fa3e0
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
Log Message:
-----------
[BOLT][NFC] Avoid computing BF hash twice in YAML reader (#75096)
We compute BF hashes in `YAMLProfileReader::readProfile` when first
matching profile functions with binary functions, and second time in
`YAMLProfileReader::parseFunctionProfile` during the profile assignment
(we need to do that to account for LTO private functions with
mismatching suffix).
Avoid recomputing the hash if it's been set.
Commit: 8f21909c2fa15c06107b3dd5999a918e1f5fed0d
https://github.com/llvm/llvm-project/commit/8f21909c2fa15c06107b3dd5999a918e1f5fed0d
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M mlir/include/mlir-c/Debug.h
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/CAPI/Debug/Debug.cpp
Log Message:
-----------
[mlir] expose -debug-only equivalent to C and Python (#93175)
These are useful for finer-grain debugging and complement the already
exposed global debug flag.
Commit: 56c5ca8f6670a29dc726d65e24fde7dc047b04c3
https://github.com/llvm/llvm-project/commit/56c5ca8f6670a29dc726d65e24fde7dc047b04c3
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Log Message:
-----------
[nfc][InstCombine]Find PHI incoming block by operand number (#93249)
Commit: 90e33e20a594b8a404af1df93b629137cb605a21
https://github.com/llvm/llvm-project/commit/90e33e20a594b8a404af1df93b629137cb605a21
Author: Alexandre Ganea <aganea at havenstudios.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/ClangScanDeps/response-file-clang-cl.c
M clang/test/Driver/cl-options.c
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang-scan-deps] Expand response files before the argument adjuster (#89950)
Previously, since response (.rsp) files weren't expanded at the very
beginning of clang-scan-deps, we only parsed the command-line as
provided in the Clang .cdb file. Unfortunately, when using Unreal
Engine, arguments are always generated in a .rsp file (ie.
`/path/to/clang-cl.exe @/path/to/filename_args.rsp`).
After this patch, `/Fo` can be parsed and added to the final
command-line. Without this option, the make targets that are emitted are
made up from the input file name alone. We have some cases where the
same input in the project generates several output files, so we end up
with duplicate make targets in the scan-deps emitted dependency file.
Commit: 82bd7adb97e41fa6b6150942ae55ef35efb63e2b
https://github.com/llvm/llvm-project/commit/82bd7adb97e41fa6b6150942ae55ef35efb63e2b
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
M flang/test/Semantics/modfile03.f90
Log Message:
-----------
[flang] Fix bug introduced by PR#93106 (#93326)
https://github.com/llvm/llvm-project/pull/93106 introduced some
necessary fixes to module file generation, but has also caused a
regression. The module file output can include bogus attempts to
USE-associate symbols local to derived type scopes, like components and
bindings. Fix, and extend a test.
Commit: 9a038fceb3fae8e77c0118633866c04d6de4407b
https://github.com/llvm/llvm-project/commit/9a038fceb3fae8e77c0118633866c04d6de4407b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] PseudoMovImm is not a IsSignExtendingOpW instruction.
We only know it expands to a 2 instruction sequence, not necessarily
a sign extended sequence.
Happened to notice while I was looking at naming for the proposed
rematerializable LUI+ADDI for addresses.
Commit: 46588039588c42056bd36a7338a84ef1e978b01e
https://github.com/llvm/llvm-project/commit/46588039588c42056bd36a7338a84ef1e978b01e
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][NFC] Add isRIPRel and isIndexed helpers (#91661)
Move out common X86MemOperand checks into helper lambdas. To be reused
in #91667.
Test Plan: NFC
Commit: 5634ac49203303f40598c577dd77d04c24e8a92d
https://github.com/llvm/llvm-project/commit/5634ac49203303f40598c577dd77d04c24e8a92d
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-24 (Fri, 24 May 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .github/CODEOWNERS
M .github/new-prs-labeler.yml
M .github/workflows/issue-release-workflow.yml
M .github/workflows/issue-subscriber.yml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/llvm-bugs.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-prs.yml
A .github/workflows/pr-request-release-note.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-doxygen.yml
M .github/workflows/release-tasks.yml
M .github/workflows/version-check.yml
M bolt/docs/BAT.md
A bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugData.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/BinaryPasses.h
M bolt/include/bolt/Passes/IndirectCallPromotion.h
M bolt/include/bolt/Passes/MCF.h
M bolt/include/bolt/Passes/StokeInfo.h
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/lib/Core/BinaryBasicBlock.cpp
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Core/DynoStats.cpp
M bolt/lib/Passes/BinaryFunctionCallGraph.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/CacheMetrics.cpp
M bolt/lib/Passes/Inliner.cpp
M bolt/lib/Passes/Instrumentation.cpp
M bolt/lib/Passes/MCF.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Profile/CMakeLists.txt
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/DataReader.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
M bolt/lib/Rewrite/CMakeLists.txt
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Rewrite/SDTRewriter.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/runtime/instr.cpp
A bolt/test/X86/Inputs/blarge_new_bat_branchentry.preagg.txt
A bolt/test/X86/Inputs/blarge_new_bat_order.preagg.txt
M bolt/test/X86/Inputs/dwarf5-df-types-debug-names-main.s
M bolt/test/X86/bb-with-two-tail-calls.s
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/bolt-address-translation.test
A bolt/test/X86/dwarf5-df-types-modify-dwo-name-mixed.test
A bolt/test/X86/dwarf5-df-types-modify-dwo-name.test
A bolt/test/X86/ignored-interprocedural-reference.s
A bolt/test/X86/profile-passthrough-block.test
M bolt/test/X86/register-fragments-bolt-symbols.s
M bolt/test/X86/sctc-bug4.test
A bolt/test/X86/yaml-non-simple.test
M bolt/test/link_fdata.py
M bolt/test/runtime/X86/hot-end-symbol.s
M bolt/test/runtime/bolt-reserved.cpp
M clang-tools-extra/clang-query/CMakeLists.txt
M clang-tools-extra/clang-query/Query.cpp
M clang-tools-extra/clang-query/Query.h
M clang-tools-extra/clang-query/QueryParser.cpp
M clang-tools-extra/clang-query/QuerySession.h
M clang-tools-extra/clang-query/tool/ClangQuery.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.h
M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
M clang-tools-extra/clang-tidy/readability/StringCompareCheck.h
M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.h
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/refactor/Rename.cpp
M clang-tools-extra/clangd/test/infinite-instantiation.test
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/SelectionTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/special-member-functions.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-constraints.rst
A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/string-compare.rst
M clang-tools-extra/docs/clang-tidy/index.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
A clang-tools-extra/test/clang-query/Inputs/empty.script
A clang-tools-extra/test/clang-query/Inputs/file.script
A clang-tools-extra/test/clang-query/Inputs/runtime_file.script
M clang-tools-extra/test/clang-query/errors.c
A clang-tools-extra/test/clang-query/file-empty.c
A clang-tools-extra/test/clang-query/file-query.c
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/bugprone/optional-value-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-no-crash.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-relaxed.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hpp
R clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hxx
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-constraints.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-consteval.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
R clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-todo.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-macros.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/string-compare-custom-string-classes.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/string-compare.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/1/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/3/.clang-tidy
M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/file-filter.cpp
M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
M clang/CMakeLists.txt
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/cmake/caches/HLSL.cmake
M clang/cmake/caches/VectorEngine.cmake
M clang/docs/Block-ABI-Apple.rst
M clang/docs/ClangLinkerWrapper.rst
M clang/docs/ClangOffloadBundler.rst
A clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/HLSL/HLSLDocs.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.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/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/VTTBuilder.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
A clang/include/clang/Analysis/FlowSensitive/CNFFormula.h
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/SourceManager.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/MultiplexConsumer.h
M clang/include/clang/InstallAPI/MachO.h
M clang/include/clang/Lex/LiteralSupport.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaCodeCompletion.h
A clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaOpenMP.h
A clang/include/clang/Sema/SemaPseudoObject.h
A clang/include/clang/Sema/SemaRISCV.h
A clang/include/clang/Sema/SemaX86.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTDeserializationListener.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/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
R clang/include/clang/Tooling/NodeIntrospection.h
M clang/lib/ARCMigrate/ARCMT.cpp
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/ARCMigrate/Transforms.cpp
M clang/lib/AST/ASTConcept.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/EvaluationResult.cpp
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.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/Pointer.cpp
M clang/lib/AST/Interp/Pointer.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/JSONNodeDumper.cpp
M clang/lib/AST/ODRDiagsEmitter.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/ParentMap.cpp
M clang/lib/AST/PrintfFormatString.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTTBuilder.cpp
M clang/lib/ASTMatchers/Dynamic/Marshallers.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
A clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp
M clang/lib/Analysis/ThreadSafetyCommon.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Basic/TypeTraits.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.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/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTT.cpp
M clang/lib/CodeGen/CGVTables.h
M clang/lib/CodeGen/CGValue.h
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenTypeCache.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/ZOS.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.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenSource.h
M clang/lib/Format/MacroExpander.cpp
M clang/lib/Format/Macros.h
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/QualifierAlignmentFixer.h
M clang/lib/Format/SortJavaScriptImports.cpp
M clang/lib/Format/TokenAnalyzer.cpp
M clang/lib/Format/TokenAnalyzer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/ModuleDependencyCollector.cpp
M clang/lib/Frontend/MultiplexConsumer.cpp
M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
M clang/lib/Headers/CMakeLists.txt
R clang/lib/Headers/avx512erintrin.h
R clang/lib/Headers/avx512pfintrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/intrin.h
M clang/lib/Headers/module.modulemap
M clang/lib/Headers/opencl-c-base.h
M clang/lib/Headers/opencl-c.h
M clang/lib/Index/CommentToXML.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/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
A clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaPseudoObject.cpp
A clang/lib/Sema/SemaRISCV.cpp
R clang/lib/Sema/SemaRISCVVectorLookup.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
A clang/lib/Sema/SemaX86.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/PutenvStackArrayChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/SetgidSetuidOrderChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
R 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/ExprEngine.cpp
M clang/lib/Tooling/CMakeLists.txt
R clang/lib/Tooling/DumpTool/APIData.h
R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.cpp
R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.h
R clang/lib/Tooling/DumpTool/CMakeLists.txt
R clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
R clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
R clang/lib/Tooling/EmptyNodeIntrospection.inc.in
R clang/lib/Tooling/NodeIntrospection.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/lib/Tooling/Tooling.cpp
A clang/test/AST/HLSL/packoffset.hlsl
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/bitfields.cpp
M clang/test/AST/Interp/builtin-align-cxx.cpp
M clang/test/AST/Interp/builtin-functions.cpp
M clang/test/AST/Interp/c.c
M clang/test/AST/Interp/cxx03.cpp
M clang/test/AST/Interp/cxx11.cpp
M clang/test/AST/Interp/cxx98.cpp
M clang/test/AST/Interp/eval-order.cpp
M clang/test/AST/Interp/functions.cpp
A clang/test/AST/Interp/objc.mm
M clang/test/AST/Interp/records.cpp
A clang/test/AST/Interp/sycl.cpp
A clang/test/AST/Interp/unions.cpp
A clang/test/AST/ast-dump-anonymous-class.cpp
M clang/test/AST/ast-dump-concepts.cpp
A clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-default-init-json.cpp
M clang/test/AST/ast-dump-default-init.cpp
M clang/test/AST/ast-dump-expr-json.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-lambda.cpp
M clang/test/AST/ast-dump-stmt-json.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
A clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
A clang/test/AST/attr-counted-by-struct-ptrs.c
M clang/test/AST/const-fpfeatures.c
M clang/test/AST/const-fpfeatures.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
A clang/test/Analysis/block-in-critical-section.c
R clang/test/Analysis/cert/pos34-c-fp-suppression.cpp
R clang/test/Analysis/cert/pos34-c.cpp
M clang/test/Analysis/cxx-uninitialized-object.cpp
M clang/test/Analysis/cxxnewexpr-callback.cpp
M clang/test/Analysis/gh-issue-89185.c
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/Analysis/memory-model.cpp
A clang/test/Analysis/putenv-stack-array.c
A clang/test/Analysis/setgid-setuid-order-notes.c
A clang/test/Analysis/setgid-setuid-order.c
A clang/test/Analysis/unreachable-code-exceptions.cpp
M clang/test/C/C2x/n2900_n3011.c
M clang/test/C/C2x/n2900_n3011_2.c
M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.deallocation/p2.cpp
A clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/class/class.mfct/class.mfct.non-static/p3.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
A clang/test/CXX/dcl/dcl.init/aggr.cpp
A clang/test/CXX/drs/cwg0xx.cpp
A clang/test/CXX/drs/cwg10xx.cpp
A clang/test/CXX/drs/cwg11xx.cpp
A clang/test/CXX/drs/cwg12xx.cpp
A clang/test/CXX/drs/cwg13xx.cpp
A clang/test/CXX/drs/cwg14xx.cpp
A clang/test/CXX/drs/cwg15xx.cpp
A clang/test/CXX/drs/cwg16xx.cpp
A clang/test/CXX/drs/cwg17xx.cpp
A clang/test/CXX/drs/cwg18xx.cpp
A clang/test/CXX/drs/cwg19xx.cpp
A clang/test/CXX/drs/cwg1xx.cpp
A clang/test/CXX/drs/cwg20xx.cpp
A clang/test/CXX/drs/cwg21xx.cpp
A clang/test/CXX/drs/cwg22xx.cpp
A clang/test/CXX/drs/cwg23xx.cpp
A clang/test/CXX/drs/cwg24xx.cpp
A clang/test/CXX/drs/cwg25xx.cpp
A clang/test/CXX/drs/cwg2630.cpp
A clang/test/CXX/drs/cwg26xx.cpp
A clang/test/CXX/drs/cwg27xx.cpp
A clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg292.cpp
A clang/test/CXX/drs/cwg2xx.cpp
A clang/test/CXX/drs/cwg3xx.cpp
A clang/test/CXX/drs/cwg4xx.cpp
A clang/test/CXX/drs/cwg5xx.cpp
A clang/test/CXX/drs/cwg6xx.cpp
A clang/test/CXX/drs/cwg7xx.cpp
A clang/test/CXX/drs/cwg8xx.cpp
A clang/test/CXX/drs/cwg9xx.cpp
R clang/test/CXX/drs/dr0xx.cpp
R clang/test/CXX/drs/dr10xx.cpp
R clang/test/CXX/drs/dr11xx.cpp
R clang/test/CXX/drs/dr12xx.cpp
R clang/test/CXX/drs/dr13xx.cpp
R clang/test/CXX/drs/dr14xx.cpp
R clang/test/CXX/drs/dr15xx.cpp
R clang/test/CXX/drs/dr16xx.cpp
R clang/test/CXX/drs/dr17xx.cpp
R clang/test/CXX/drs/dr18xx.cpp
R clang/test/CXX/drs/dr19xx.cpp
R clang/test/CXX/drs/dr1xx.cpp
R clang/test/CXX/drs/dr20xx.cpp
R clang/test/CXX/drs/dr21xx.cpp
R clang/test/CXX/drs/dr22xx.cpp
R clang/test/CXX/drs/dr23xx.cpp
R clang/test/CXX/drs/dr24xx.cpp
R clang/test/CXX/drs/dr25xx.cpp
R clang/test/CXX/drs/dr26xx.cpp
R clang/test/CXX/drs/dr27xx.cpp
R clang/test/CXX/drs/dr28xx.cpp
R clang/test/CXX/drs/dr2xx.cpp
R clang/test/CXX/drs/dr3xx.cpp
R clang/test/CXX/drs/dr4xx.cpp
R clang/test/CXX/drs/dr5xx.cpp
R clang/test/CXX/drs/dr6xx.cpp
R clang/test/CXX/drs/dr7xx.cpp
R clang/test/CXX/drs/dr8xx.cpp
R clang/test/CXX/drs/dr9xx.cpp
M clang/test/CXX/expr/expr.unary/expr.new/p14.cpp
M clang/test/CXX/expr/expr.unary/expr.sizeof/p5-0x.cpp
A clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
M clang/test/CXX/over/over.built/ast.cpp
M clang/test/CXX/over/over.built/p10.cpp
M clang/test/CXX/over/over.built/p11.cpp
A clang/test/CXX/over/over.oper/over.oper.general/p1.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
A clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p2.cpp
A clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.partial/p3.cpp
M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
A clang/test/CXX/temp/temp.spec/temp.expl.spec/p12.cpp
A clang/test/ClangScanDeps/response-file-clang-cl.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-call.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-types.c
M clang/test/CodeGen/RISCV/riscv-inline-asm.c
A clang/test/CodeGen/RISCV/riscv32-ilp32d-abi.cpp
A clang/test/CodeGen/RISCV/rvv-vls-arith-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-bitwise-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-compare-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-shift-ops.c
A clang/test/CodeGen/RISCV/rvv-vls-subscript-ops.c
A clang/test/CodeGen/RISCV/vector-bits-vscale-range.c
M clang/test/CodeGen/SystemZ/sync-builtins-i128-8Al.c
R clang/test/CodeGen/X86/avx512er-builtins.c
R clang/test/CodeGen/X86/avx512pf-builtins.c
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGen/aarch64-byval-temp.c
A clang/test/CodeGen/aarch64-elf-pauthabi.c
A clang/test/CodeGen/aarch64-fmv-dependencies.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.cpp
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c
R clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret_from_streaming_mode.c
M clang/test/CodeGen/aarch64-sve-vector-subscript-ops.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfadd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmax.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmaxnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmin.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfminnm.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmla.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmls.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmul.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfsub.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_create2_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_get4_bool.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_undef_bool.c
M clang/test/CodeGen/aarch64-varargs.c
M clang/test/CodeGen/array-init.c
R clang/test/CodeGen/assume_attr.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-cpuspecific.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
R clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
M clang/test/CodeGen/attr-target-x86.c
M clang/test/CodeGen/builtins-wasm.c
A clang/test/CodeGen/clspv_libclc_builtin.c
M clang/test/CodeGen/darwin-target-variant.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/fat-lto-objects.c
M clang/test/CodeGen/function-target-features.c
M clang/test/CodeGen/functions.c
M clang/test/CodeGen/nofpclass.c
R clang/test/CodeGen/riscv-rvv-vls-arith-ops.c
R clang/test/CodeGen/riscv-rvv-vls-bitwise-ops.c
R clang/test/CodeGen/riscv-rvv-vls-compare-ops.c
R clang/test/CodeGen/riscv-rvv-vls-shift-ops.c
R clang/test/CodeGen/riscv-rvv-vls-subscript-ops.c
R clang/test/CodeGen/riscv-vector-bits-vscale-range.c
R clang/test/CodeGen/riscv32-ilp32d-abi.cpp
M clang/test/CodeGen/sparcv9-abi.c
A clang/test/CodeGen/sparcv9-class-return.cpp
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGen/vectorcall.c
M clang/test/CodeGenCXX/assume_attr.cpp
M clang/test/CodeGenCXX/atomicinit.cpp
M clang/test/CodeGenCXX/auto-var-init.cpp
M clang/test/CodeGenCXX/cxx1y-sized-deallocation.cpp
M clang/test/CodeGenCXX/cxx1z-aligned-allocation.cpp
M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
M clang/test/CodeGenCXX/cxx2b-deducing-this.cpp
M clang/test/CodeGenCXX/delete-two-arg.cpp
M clang/test/CodeGenCXX/delete.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/eh.cpp
A clang/test/CodeGenCXX/fmv-namespace.cpp
M clang/test/CodeGenCXX/new.cpp
M clang/test/CodeGenCXX/nrvo.cpp
A clang/test/CodeGenCXX/ps-dllstorage-vtable-rtti.cpp
R clang/test/CodeGenCXX/ps4-dllstorage-vtable-rtti.cpp
M clang/test/CodeGenCXX/template-param-objects-address-space.cpp
M clang/test/CodeGenCXX/throw-expression-typeinfo-in-address-space.cpp
M clang/test/CodeGenCXX/try-catch-with-address-space.cpp
M clang/test/CodeGenCXX/typeid-cxx11-with-address-space.cpp
M clang/test/CodeGenCXX/typeid-with-address-space.cpp
M clang/test/CodeGenCXX/typeinfo-with-address-space.cpp
M clang/test/CodeGenCXX/vtable-assume-load-address-space.cpp
M clang/test/CodeGenCXX/vtable-pointer-initialization-address-space.cpp
M clang/test/CodeGenCXX/vtt-address-space.cpp
M clang/test/CodeGenCXX/wasm-eh.cpp
M clang/test/CodeGenCXX/weak-external.cpp
M clang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
M clang/test/CodeGenCXX/windows-itanium-dllexport.cpp
M clang/test/CodeGenCoroutines/coro-aligned-alloc-2.cpp
M clang/test/CodeGenCoroutines/coro-aligned-alloc.cpp
M clang/test/CodeGenCoroutines/coro-alloc.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
M clang/test/CodeGenCoroutines/coro-cleanup.cpp
M clang/test/CodeGenCoroutines/coro-dealloc.cpp
R clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp
M clang/test/CodeGenCoroutines/coro-gro.cpp
R clang/test/CodeGenCoroutines/coro-symmetric-transfer-01.cpp
M clang/test/CodeGenCoroutines/coro-symmetric-transfer-02.cpp
M clang/test/CodeGenCoroutines/pr56919.cpp
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/mad.hlsl
A clang/test/CodeGenHLSL/convergence/do.while.hlsl
A clang/test/CodeGenHLSL/convergence/for.hlsl
A clang/test/CodeGenHLSL/convergence/while.hlsl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
A clang/test/CodeGenOpenCLCXX/array-type-infinite-loop.clcpp
M clang/test/CoverageMapping/builtinmacro.c
M clang/test/CoverageMapping/coroutine.cpp
A clang/test/CoverageMapping/decomposition.cpp
M clang/test/CoverageMapping/macros.c
A clang/test/CoverageMapping/mcdc-scratch-space.c
A clang/test/CoverageMapping/mcdc-system-headers.cpp
M clang/test/CoverageMapping/templates.cpp
A clang/test/Driver/aarch64-fmv.c
M clang/test/Driver/aarch64-implied-sme-features.c
M clang/test/Driver/aarch64-implied-sve-features.c
M clang/test/Driver/aarch64-ptrauth.c
M clang/test/Driver/aarch64-v95a.c
M clang/test/Driver/android-unversioned-fallback-warning.cpp
M clang/test/Driver/cl-options.c
M clang/test/Driver/cl-x86-flags.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/cuda-cross-compiling.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/fast-math.c
M clang/test/Driver/fat-archive-unbundle-ext.c
M clang/test/Driver/fatal-warnings.c
M clang/test/Driver/fbinutils-version.c
M clang/test/Driver/fdirect-access-external-data.c
M clang/test/Driver/fembed-bitcode.c
M clang/test/Driver/fexcess-precision.c
M clang/test/Driver/fextend-args.c
M clang/test/Driver/fforce-dwarf-frame.c
M clang/test/Driver/fgnuc-version.c
M clang/test/Driver/flags.c
A clang/test/Driver/flang/msvc-link.f90
M clang/test/Driver/fmemprof.cpp
M clang/test/Driver/fopenmp.c
M clang/test/Driver/fortran.f95
M clang/test/Driver/fp-contract.c
M clang/test/Driver/fp-model.c
M clang/test/Driver/fpatchable-function-entry.c
M clang/test/Driver/frame-pointer-elim.c
M clang/test/Driver/freebsd-mips-as.c
M clang/test/Driver/freebsd.cpp
M clang/test/Driver/frelaxed-template-template-args.cpp
M clang/test/Driver/fsanitize-coverage.c
M clang/test/Driver/fsanitize-ignorelist.c
M clang/test/Driver/fsanitize-memory-param-retval.c
M clang/test/Driver/fsanitize-metadata-ignorelist.c
M clang/test/Driver/fsanitize-object-size.c
M clang/test/Driver/fsemantic-interposition.c
A clang/test/Driver/fseparate-named-sections.c
M clang/test/Driver/fsjlj-exceptions.c
M clang/test/Driver/fuse-ld-windows.c
M clang/test/Driver/fuse-ld.c
M clang/test/Driver/fuzzer.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/loongarch-mlasx-error.c
M clang/test/Driver/loongarch-mlsx-error.c
M clang/test/Driver/mips-as.c
M clang/test/Driver/mips-features.c
M clang/test/Driver/openmp-offload-infer.c
M clang/test/Driver/openmp-system-arch.c
M clang/test/Driver/plugin-driver-args.cpp
M clang/test/Driver/ps4-ps5-visibility-dllstorageclass.c
A clang/test/Driver/ps4-visibility.cl
A clang/test/Driver/ps5-visibility.cl
M clang/test/Driver/riscv-profiles.c
M clang/test/Driver/tocdata-cc1.c
M clang/test/Driver/x-args.c
M clang/test/Driver/x86-target-features.c
M clang/test/ExtractAPI/class_template.cpp
M clang/test/ExtractAPI/class_template_param_inheritance.cpp
M clang/test/ExtractAPI/class_template_partial_spec.cpp
M clang/test/ExtractAPI/class_template_spec.cpp
M clang/test/ExtractAPI/concept.cpp
M clang/test/ExtractAPI/field_template.cpp
M clang/test/ExtractAPI/global_func_template.cpp
M clang/test/ExtractAPI/global_func_template_spec.cpp
M clang/test/ExtractAPI/global_var_template.cpp
M clang/test/ExtractAPI/global_var_template_partial_spec.cpp
M clang/test/ExtractAPI/global_var_template_spec.cpp
M clang/test/ExtractAPI/method_template.cpp
M clang/test/ExtractAPI/method_template_spec.cpp
A clang/test/ExtractAPI/non_type_template.cpp
M clang/test/ExtractAPI/objc_external_category.m
M clang/test/Frontend/noderef_templates.cpp
M clang/test/Frontend/optimization-remark-options.c
M clang/test/Frontend/x86-target-cpu.c
M clang/test/Index/Core/index-source.cpp
M clang/test/Index/index-refs.cpp
A clang/test/InstallAPI/Inputs/Foundation/Foundation.framework/Modules/module.modulemap
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/foo.h
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/macro_defs.h
A clang/test/InstallAPI/Inputs/LibFoo/usr/include/public.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/Headers/Zippered.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.framework/PrivateHeaders/Zippered_Private.h
A clang/test/InstallAPI/Inputs/Zippered/Zippered.tbd
A clang/test/InstallAPI/Inputs/Zippered/Zippered.yaml
M clang/test/InstallAPI/alias_list.test
M clang/test/InstallAPI/binary-attributes.test
A clang/test/InstallAPI/exclusive-passes-2.test
A clang/test/InstallAPI/exclusive-passes-3.test
A clang/test/InstallAPI/exclusive-passes-platform.test
A clang/test/InstallAPI/exclusive-passes-zippered.test
A clang/test/InstallAPI/exclusive-passes.test
A clang/test/InstallAPI/invalid-exclusive-passes.test
A clang/test/InstallAPI/project-header-only-args.test
M clang/test/Lexer/cxx-features.cpp
A clang/test/Misc/diag-template-diffing-cxx11.cpp
A clang/test/Misc/diag-template-diffing-cxx26.cpp
R clang/test/Misc/diag-template-diffing.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Modules/implicit-module-no-timestamp.cpp
A clang/test/Modules/implicit-module-remap.cpp
A clang/test/Modules/pr91418.cppm
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_messages.c
M clang/test/OpenMP/distribute_firstprivate_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_private_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_messages.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_messages.cpp
M clang/test/OpenMP/distribute_simd_loop_messages.cpp
M clang/test/OpenMP/distribute_simd_private_messages.cpp
M clang/test/OpenMP/distribute_simd_reduction_messages.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c
M clang/test/OpenMP/remarks_parallel_in_target_state_machine.c
M clang/test/OpenMP/requires_default_atomic_mem_order_messages.cpp
M clang/test/OpenMP/requires_messages.cpp
M clang/test/OpenMP/target_ast_print.cpp
M clang/test/OpenMP/target_device_ancestor_messages.cpp
M clang/test/OpenMP/target_firstprivate_messages.cpp
A clang/test/OpenMP/target_map_both_pointer_pointee_codegen.cpp
M clang/test/OpenMP/target_map_messages.cpp
M clang/test/OpenMP/target_parallel_for_private_messages.cpp
M clang/test/OpenMP/target_parallel_for_simd_private_messages.cpp
M clang/test/OpenMP/target_private_messages.cpp
M clang/test/OpenMP/target_simd_private_messages.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp
M clang/test/OpenMP/target_update_messages.cpp
M clang/test/OpenMP/task_ast_print.cpp
M clang/test/OpenMP/teams_distribute_loop_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
M clang/test/OpenMP/teams_distribute_simd_loop_messages.cpp
M clang/test/OpenMP/threadprivate_codegen.cpp
M clang/test/OpenMP/tile_ast_print.cpp
M clang/test/OpenMP/tile_codegen.cpp
M clang/test/OpenMP/tile_codegen_for_dependent.cpp
M clang/test/OpenMP/tile_codegen_tile_for.cpp
M clang/test/OpenMP/tile_messages.cpp
M clang/test/PCH/cxx1z-aligned-alloc.cpp
A clang/test/PCH/optnone.cpp
M clang/test/PCH/pack_indexing.cpp
M clang/test/Parser/altivec.c
M clang/test/Parser/attr-availability.c
M clang/test/Parser/cxx-altivec.cpp
M clang/test/Parser/lax-conv.cpp
M clang/test/Parser/objcbridge-related-attribute.m
M clang/test/Parser/pragma-attribute.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/ptrauth_feature.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Profile/c-unreachable-after-switch.c
M clang/test/Profile/misexpect-branch.c
M clang/test/Profile/misexpect-switch-default.c
M clang/test/Profile/misexpect-switch.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_add_sub_za16.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_fmlas16.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_mopa_nonwide.c
M clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
M clang/test/Sema/aarch64-sme2p1-diagnostics.c
R clang/test/Sema/attr-assume.c
M clang/test/Sema/attr-availability-ios.c
A clang/test/Sema/attr-counted-by-late-parsed-off.c
A clang/test/Sema/attr-counted-by-late-parsed-struct-ptrs.c
A clang/test/Sema/attr-counted-by-struct-ptrs-sizeless-types.c
A clang/test/Sema/attr-counted-by-struct-ptrs.c
A clang/test/Sema/attr-counted-by-vla-sizeless-types.c
A clang/test/Sema/attr-counted-by-vla.c
R clang/test/Sema/attr-counted-by.c
M clang/test/Sema/attr-objc-bridge-related.m
M clang/test/Sema/bool-compare.c
M clang/test/Sema/builtins-x86.c
M clang/test/Sema/builtins.c
M clang/test/Sema/compound-literal.c
M clang/test/Sema/constant_builtins_vector.cpp
A clang/test/Sema/fmv-namespace.cpp
M clang/test/Sema/parentheses.cpp
M clang/test/Sema/x86-eval-method.c
M clang/test/Sema/x86_64-eval-method.c
M clang/test/SemaCUDA/device-var-init.cu
M clang/test/SemaCUDA/function-overload.cu
M clang/test/SemaCUDA/union-init.cu
M clang/test/SemaCXX/MicrosoftExtensions.cpp
A clang/test/SemaCXX/PR12361.cpp
M clang/test/SemaCXX/addr-label-in-coroutines.cpp
M clang/test/SemaCXX/auto-cxx0x.cpp
M clang/test/SemaCXX/bool-compare.cpp
M clang/test/SemaCXX/builtin-operator-new-delete.cpp
M clang/test/SemaCXX/constexpr-default-arg.cpp
M clang/test/SemaCXX/cxx-deprecated.cpp
M clang/test/SemaCXX/cxx11-default-member-initializers.cpp
M clang/test/SemaCXX/cxx1y-sized-deallocation.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
A clang/test/SemaCXX/cxx2c-attributes.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/enum-scoped.cpp
M clang/test/SemaCXX/eval-crashes.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/unavailable_aligned_allocation.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-pragma-misuse.cpp
A clang/test/SemaHLSL/Availability/attr-availability-compute.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-errors.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-mesh.hlsl
A clang/test/SemaHLSL/Availability/attr-availability-pixel.hlsl
R clang/test/SemaHLSL/AvailabilityMarkup.hlsl
M clang/test/SemaHLSL/WaveBuiltinAvailability.hlsl
A clang/test/SemaHLSL/packoffset-invalid.hlsl
M clang/test/SemaObjC/unguarded-availability.m
M clang/test/SemaOpenACC/compute-construct-attach-clause.c
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-copy-clause.c
M clang/test/SemaOpenACC/compute-construct-copy-clause.cpp
M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
M clang/test/SemaOpenACC/compute-construct-copyin-clause.cpp
M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
M clang/test/SemaOpenACC/compute-construct-copyout-clause.cpp
M clang/test/SemaOpenACC/compute-construct-create-clause.c
M clang/test/SemaOpenACC/compute-construct-create-clause.cpp
A clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
A clang/test/SemaOpenACC/compute-construct-device_type-clause.c
A clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/compute-construct-deviceptr-clause.c
M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.c
M clang/test/SemaOpenACC/compute-construct-firstprivate-clause.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-no_create-clause.c
M clang/test/SemaOpenACC/compute-construct-no_create-clause.cpp
M clang/test/SemaOpenACC/compute-construct-present-clause.c
M clang/test/SemaOpenACC/compute-construct-present-clause.cpp
M clang/test/SemaOpenACC/compute-construct-private-clause.c
M clang/test/SemaOpenACC/compute-construct-private-clause.cpp
A clang/test/SemaOpenACC/compute-construct-reduction-clause.c
A clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
A clang/test/SemaOpenACC/compute-construct-wait-clause.c
A clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
A clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
M clang/test/SemaOpenCL/vector_swizzle_length.cl
M clang/test/SemaTemplate/class-template-spec.cpp
M clang/test/SemaTemplate/ctad.cpp
M clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/dependent-names.cpp
M clang/test/SemaTemplate/destructor-template.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/ms-function-specialization-class-scope.cpp
M clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
R clang/test/SemaTemplate/temp_arg_template_cxx1z.cpp
A clang/test/SemaTemplate/temp_arg_template_p0522.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
M clang/test/SemaTemplate/typo-template-name.cpp
M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
M clang/tools/amdgpu-arch/AMDGPUArchByHSA.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-fuzzer/dictionary/dictionary.c
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-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-repl/CMakeLists.txt
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/diagtool/ShowEnabledWarnings.cpp
M clang/tools/diagtool/TreeView.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/scan-build-py/tests/functional/exec/CMakeLists.txt
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/CMakeLists.txt
A clang/unittests/AST/ConceptPrinterTest.cpp
M clang/unittests/AST/DeclTest.cpp
M clang/unittests/AST/Interp/Descriptor.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/FlowSensitive/DataflowEnvironmentTest.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/Analysis/FlowSensitive/WatchedLiteralsSolverTest.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/IRMatchers.h
M clang/unittests/Driver/DXCModeTest.cpp
M clang/unittests/Format/CleanupTest.cpp
M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestBase.h
M clang/unittests/Format/FormatTestCSharp.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJson.cpp
M clang/unittests/Format/FormatTestProto.cpp
M clang/unittests/Format/FormatTestRawStrings.cpp
M clang/unittests/Format/FormatTestSelective.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/FormatTestUtils.h
M clang/unittests/Format/FormatTestVerilog.cpp
M clang/unittests/Format/FormatTokenSourceTest.cpp
M clang/unittests/Format/MacroCallReconstructorTest.cpp
M clang/unittests/Format/MacroExpanderTest.cpp
M clang/unittests/Format/MatchFilePathTest.cpp
M clang/unittests/Format/NamespaceEndCommentsFixerTest.cpp
M clang/unittests/Format/ObjCPropertyAttributeOrderFixerTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Format/SortImportsTestJS.cpp
M clang/unittests/Format/SortImportsTestJava.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Format/TestLexer.h
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Format/UsingDeclarationsSorterTest.cpp
M clang/unittests/Interpreter/CMakeLists.txt
R clang/unittests/Introspection/CMakeLists.txt
R clang/unittests/Introspection/IntrospectionTest.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CallDescriptionTest.cpp
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/ConflictingEvalCallsTest.cpp
M clang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
M clang/unittests/StaticAnalyzer/NoStateChangeFuncVisitorTest.cpp
A clang/unittests/Tooling/RecursiveASTVisitorTests/DeductionGuide.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/analyzer/entrypoint.py
M clang/utils/ci/buildkite-pipeline.yml
M clang/utils/ci/run-buildbot
M clang/utils/creduce-clang-crash.py
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M compiler-rt/lib/dfsan/dfsan_allocator.cpp
M compiler-rt/lib/dfsan/dfsan_custom.cpp
M compiler-rt/lib/fuzzer/FuzzerDriver.cpp
M compiler-rt/lib/lsan/lsan_allocator.cpp
M compiler-rt/lib/msan/msan_allocator.cpp
M compiler-rt/lib/orc/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_suppressions.cpp
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/xray/tests/CMakeLists.txt
M compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cpp
M compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cpp
M compiler-rt/test/ctx_profile/CMakeLists.txt
A compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test
A compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
A compiler-rt/test/ctx_profile/lit.cfg.py
A compiler-rt/test/ctx_profile/lit.site.cfg.py.in
M compiler-rt/test/dfsan/custom.cpp
M compiler-rt/test/dfsan/release_shadow_space.c
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/orc/TestCases/Darwin/arm64/objc-imageinfo.S
M compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S
M compiler-rt/test/profile/Linux/counter_promo_for.c
M compiler-rt/test/profile/Linux/counter_promo_while.c
M compiler-rt/test/tsan/signal_in_mutex_lock.cpp
M cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectStepOrder.py
M flang/CMakeLists.txt
M flang/docs/Extensions.md
M flang/docs/HighLevelFIR.md
M flang/docs/Intrinsics.md
M flang/docs/OpenMP-descriptor-management.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Common/api-attrs.h
M flang/include/flang/Common/visit.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/constant.h
M flang/include/flang/Evaluate/expression.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Frontend/FrontendActions.h
M flang/include/flang/Frontend/FrontendOptions.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Lower/StatementContext.h
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Optimizer/Builder/Runtime/Numeric.h
A flang/include/flang/Optimizer/CodeGen/CGOps.h
M flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.h
A flang/include/flang/Optimizer/Dialect/CUF/Attributes/CUFAttr.td
A flang/include/flang/Optimizer/Dialect/CUF/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.h
A flang/include/flang/Optimizer/Dialect/CUF/CUFDialect.td
A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.h
A flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/HLFIR/Passes.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Support/InitFIR.h
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/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/time-intrinsic.h
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/include/flang/Semantics/scope.h
M flang/include/flang/Semantics/semantics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Semantics/unparse-with-symbols.h
M flang/include/flang/Tools/CLOptions.inc
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Common/Fortran.cpp
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/fold-designator.cpp
M flang/lib/Evaluate/fold.cpp
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
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/IO.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/lib/Lower/OpenMP/Decomposer.cpp
A flang/lib/Lower/OpenMP/Decomposer.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/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/CodeGen/CGOps.cpp
R flang/lib/Optimizer/CodeGen/CGOps.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/Attributes/CUFAttr.cpp
A flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
A flang/lib/Optimizer/Dialect/CUF/CUFDialect.cpp
A flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
R flang/lib/Optimizer/Transforms/OMPDescriptorMapInfoGen.cpp
A flang/lib/Optimizer/Transforms/OMPMapInfoFinalization.cpp
M flang/lib/Parser/executable-parsers.cpp
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/check-purity.cpp
M flang/lib/Semantics/compute-offsets.cpp
M flang/lib/Semantics/data-to-inits.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-directives.h
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/semantics.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
A flang/module/cudadevice.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/descriptor-io.h
M flang/runtime/edit-output.cpp
M flang/runtime/external-unit.cpp
A flang/runtime/io-api-common.h
A flang/runtime/io-api-minimal.cpp
M flang/runtime/io-api.cpp
M flang/runtime/numeric.cpp
M flang/runtime/terminator.h
M flang/runtime/time-intrinsic.cpp
M flang/runtime/tools.h
M flang/runtime/unit.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
M flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
A flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir
M flang/test/Driver/fopenmp.f90
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Driver/include-omp-header.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
A flang/test/Driver/print-resource-dir.F90
A flang/test/Driver/unparse-with-modules.f90
M flang/test/Driver/w-arg-unsupported.f90
M flang/test/Driver/wextra-ok.f90
M flang/test/Evaluate/rewrite-out_of_range.F90
A flang/test/Evaluate/triplets01.f90
M flang/test/Fir/basic-program.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/Fir/declare-codegen.fir
M flang/test/Fir/dummy-scope-codegen.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/omp-reduction-embox-codegen.fir
M flang/test/HLFIR/order_assignments/impure-where.fir
M flang/test/HLFIR/order_assignments/inlined-stack-temp.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
A flang/test/HLFIR/order_assignments/where-cleanup.f90
M flang/test/HLFIR/order_assignments/where-codegen-no-conflict.fir
A flang/test/HLFIR/order_assignments/where-hoisting.f90
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
A flang/test/Integration/debug-complex-1.f90
A flang/test/Integration/debug-fixed-array-type-2.f90
A flang/test/Integration/debug-loc-1.f90
A flang/test/Integration/debug-module-2.f90
M 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-calls.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/CUDA/cuda-mod.cuf
M flang/test/Lower/CUDA/cuda-module-use.cuf
M flang/test/Lower/CUDA/cuda-proc-attribute.cuf
A flang/test/Lower/CUDA/cuda-program-global.cuf
M flang/test/Lower/HLFIR/forall.f90
A flang/test/Lower/HLFIR/where-nonelemental.f90
A flang/test/Lower/Intrinsics/etime-function.f90
A flang/test/Lower/Intrinsics/etime.f90
A flang/test/Lower/Intrinsics/selected_char_kind.f90
A flang/test/Lower/Intrinsics/selected_logical_kind.f90
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
A flang/test/Lower/OpenMP/Todo/masked-directive.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
A flang/test/Lower/OpenMP/derived-type-map.f90
A flang/test/Lower/OpenMP/invalid-reduction-modifier.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/map-component-ref.f90
M flang/test/Lower/OpenMP/omp-lib-num-threads.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M 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-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-sections.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/taskgroup.f90
M flang/test/Lower/OpenMP/teams.f90
M flang/test/Lower/OpenMP/threadprivate-default-clause.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-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-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.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-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
A flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/array-substring.f90
A flang/test/Lower/branching-directive.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-implied-do-fixes.f90
A flang/test/Lower/unstructured-control-flow.f90
M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
M flang/test/Parser/OpenMP/allocate-tree.f90
A flang/test/Parser/OpenMP/masked-unparse.f90
M flang/test/Parser/OpenMP/target_device_parse.f90
M flang/test/Parser/cuf-sanity-common
M flang/test/Parser/cuf-sanity-unparse.CUF
M flang/test/Semantics/OpenMP/allocate-clause01.f90
M flang/test/Semantics/OpenMP/allocate-directive.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate04.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate07.f90
M flang/test/Semantics/OpenMP/allocate08.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/allocators01.f90
M flang/test/Semantics/OpenMP/allocators02.f90
M flang/test/Semantics/OpenMP/allocators03.f90
M flang/test/Semantics/OpenMP/allocators04.f90
M flang/test/Semantics/OpenMP/allocators05.f90
M flang/test/Semantics/OpenMP/allocators06.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
A flang/test/Semantics/OpenMP/atomic-update-overloaded-ops.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
M flang/test/Semantics/OpenMP/declare-target01.f90
M flang/test/Semantics/OpenMP/do02.f90
M flang/test/Semantics/OpenMP/flush02.f90
A flang/test/Semantics/OpenMP/masked.f90
M flang/test/Semantics/OpenMP/nested-distribute.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
A flang/test/Semantics/OpenMP/reduction-modifiers.f90
M flang/test/Semantics/OpenMP/resolve06.f90
M flang/test/Semantics/OpenMP/sections02.f90
R flang/test/Semantics/OpenMP/sections03.f90
M flang/test/Semantics/OpenMP/simd03.f90
M flang/test/Semantics/OpenMP/sync-critical02.f90
M flang/test/Semantics/OpenMP/taskgroup01.f90
M flang/test/Semantics/OpenMP/taskloop03.f90
M flang/test/Semantics/OpenMP/threadprivate01.f90
A flang/test/Semantics/array-constr-index01.f90
M flang/test/Semantics/bind-c03.f90
M flang/test/Semantics/bind-c06.f90
M flang/test/Semantics/bind-c09.f90
M flang/test/Semantics/bind-c12.f90
A flang/test/Semantics/bind-c15.f90
M flang/test/Semantics/bindings01.f90
M flang/test/Semantics/call05.f90
M flang/test/Semantics/call39.f90
A flang/test/Semantics/cuf-device-procedures01.cuf
A flang/test/Semantics/cuf-device-procedures02.cuf
M flang/test/Semantics/cuf02.cuf
A flang/test/Semantics/cuf14.cuf
A flang/test/Semantics/cuf15.cuf
M flang/test/Semantics/data01.f90
A flang/test/Semantics/data23.f90
M flang/test/Semantics/entry01.f90
M flang/test/Semantics/equivalence01.f90
A flang/test/Semantics/etime.f90
M flang/test/Semantics/modfile03.f90
M flang/test/Semantics/modfile12.f90
M flang/test/Semantics/modfile17.f90
A flang/test/Semantics/pdt03.f90
A flang/test/Semantics/procinterface05.f90
A flang/test/Semantics/pure02.f90
A flang/test/Semantics/reduce.cuf
M flang/test/Semantics/resolve102.f90
M flang/test/Semantics/resolve81.f90
M flang/test/Semantics/resolve82.f90
M flang/test/Semantics/resolve85.f90
M flang/test/Semantics/shape.f90
M flang/test/Semantics/stmt-func01.f90
A flang/test/Transforms/debug-complex-1.fir
A flang/test/Transforms/debug-fixed-array-type.fir
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table.fir
A flang/test/Transforms/debug-local-var-2.f90
A flang/test/Transforms/debug-local-var.f90
A flang/test/Transforms/debug-module-1.fir
A flang/test/Transforms/debug-module-2.fir
R flang/test/Transforms/omp-descriptor-map-info-gen.fir
A flang/test/Transforms/omp-map-info-finalization.fir
M flang/test/Transforms/tbaa.fir
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/bbc/CMakeLists.txt
M flang/tools/bbc/bbc.cpp
M flang/tools/f18/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
M flang/unittests/Optimizer/FortranVariableTest.cpp
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/docs/ctype.rst
M libc/docs/fenv.rst
M libc/docs/signal.rst
M libc/docs/stdbit.rst
M libc/docs/threads.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/errno_macros.h
A libc/hdr/time_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/clock_t.h
A libc/hdr/types/clockid_t.h
A libc/hdr/types/struct_timeval.h
A libc/hdr/types/suseconds_t.h
A libc/hdr/types/time_t.h
M libc/include/errno.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/error-number-macros.h
M libc/include/llvm-libc-macros/generic-error-number-macros.h
M libc/include/llvm-libc-macros/linux/CMakeLists.txt
A libc/include/llvm-libc-macros/linux/error-number-macros.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
A libc/src/__support/CPP/mutex.h
M libc/src/__support/FPUtil/FMA.h
R libc/src/__support/FPUtil/aarch64/FMA.h
R libc/src/__support/FPUtil/gpu/FMA.h
R libc/src/__support/FPUtil/riscv/FMA.h
R libc/src/__support/FPUtil/x86_64/FMA.h
M libc/src/__support/File/CMakeLists.txt
M libc/src/__support/File/dir.cpp
M libc/src/__support/GPU/amdgpu/utils.h
M libc/src/__support/GPU/nvptx/utils.h
M libc/src/__support/StringUtil/tables/stdc_errors.h
M libc/src/__support/threads/CMakeLists.txt
A libc/src/__support/threads/CndVar.h
M libc/src/__support/threads/fork_callbacks.cpp
M libc/src/__support/threads/linux/CMakeLists.txt
A libc/src/__support/threads/linux/CndVar.cpp
M libc/src/__support/threads/linux/callonce.cpp
M libc/src/__support/threads/linux/futex_utils.h
M libc/src/__support/threads/thread.cpp
A libc/src/__support/time/CMakeLists.txt
A libc/src/__support/time/linux/CMakeLists.txt
A libc/src/__support/time/linux/abs_timeout.h
A libc/src/__support/time/linux/clock_conversion.h
A libc/src/__support/time/linux/clock_gettime.h
A libc/src/__support/time/linux/monotonicity.h
A libc/src/__support/time/units.h
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
M libc/src/errno/libc_errno.h
M libc/src/math/docs/add_math_function.md
M libc/src/math/generic/powf.cpp
M libc/src/setjmp/x86_64/CMakeLists.txt
M libc/src/stdio/printf_core/parser.h
M libc/src/stdlib/CMakeLists.txt
M libc/src/stdlib/atexit.cpp
M libc/src/string/memory_utils/x86_64/inline_memcpy.h
M libc/src/threads/linux/CMakeLists.txt
R libc/src/threads/linux/CndVar.h
M libc/src/threads/linux/cnd_broadcast.cpp
M libc/src/threads/linux/cnd_destroy.cpp
M libc/src/threads/linux/cnd_init.cpp
M libc/src/threads/linux/cnd_signal.cpp
M libc/src/threads/linux/cnd_wait.cpp
M libc/src/time/clock.h
M libc/src/time/clock_gettime.h
M libc/src/time/gettimeofday.h
M libc/src/time/gpu/CMakeLists.txt
M libc/src/time/gpu/clock.cpp
M libc/src/time/gpu/time_utils.cpp
M libc/src/time/gpu/time_utils.h
M libc/src/time/linux/CMakeLists.txt
M libc/src/time/linux/clock.cpp
R libc/src/time/linux/clockGetTimeImpl.h
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/time.cpp
M libc/src/time/nanosleep.h
M libc/src/time/time_func.h
A libc/startup/baremetal/CMakeLists.txt
A libc/startup/baremetal/fini.cpp
A libc/startup/baremetal/init.cpp
M libc/test/integration/scudo/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/CMakeLists.txt
A libc/test/src/__support/CPP/mutex_test.cpp
A libc/test/src/__support/time/CMakeLists.txt
A libc/test/src/__support/time/linux/CMakeLists.txt
A libc/test/src/__support/time/linux/timeout_test.cpp
M libc/test/src/math/powf_test.cpp
M libc/test/src/string/memcpy_test.cpp
A libc/test/src/string/memory_utils/protected_pages.h
M libc/test/src/string/memset_test.cpp
M libc/test/src/string/strerror_test.cpp
M libc/utils/docgen/ctype.json
M libc/utils/docgen/docgen.py
M libc/utils/docgen/fenv.json
A libc/utils/docgen/header.py
M libc/utils/docgen/signal.json
M libc/utils/docgen/stdbit.json
M libc/utils/docgen/threads.json
M libclc/generic/include/clc/clcfunc.h
M libclc/generic/lib/math/log_base.h
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx2c.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/ParallelismProjects.csv
M libcxx/docs/Status/SpaceshipProjects.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/copy_move_common.h
M libcxx/include/__algorithm/mismatch.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_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_sort.h
M libcxx/include/__algorithm/simd_utils.h
A libcxx/include/__atomic/atomic_ref.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__atomic/check_memory_order.h
M libcxx/include/__atomic/cxx_atomic_impl.h
A libcxx/include/__atomic/to_gcc_order.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__functional/reference_wrapper.h
A libcxx/include/__iterator/aliasing_iterator.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__locale
M libcxx/include/__tuple/make_tuple_types.h
R libcxx/include/__type_traits/apply_cv.h
M libcxx/include/__type_traits/has_unique_object_representation.h
M libcxx/include/__type_traits/is_equality_comparable.h
M libcxx/include/__type_traits/make_signed.h
M libcxx/include/__type_traits/make_unsigned.h
M libcxx/include/atomic
M libcxx/include/cwchar
M libcxx/include/experimental/__simd/scalar.h
M libcxx/include/experimental/__simd/simd.h
M libcxx/include/experimental/__simd/simd_mask.h
M libcxx/include/experimental/__simd/vec_ext.h
M libcxx/include/forward_list
M libcxx/include/functional
A libcxx/include/libcxx.imp
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/module.modulemap
M libcxx/include/string
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/version
M libcxx/modules/std/atomic.inc
M libcxx/src/atomic.cpp
M libcxx/src/chrono.cpp
M libcxx/src/locale.cpp
A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
A libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
A libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
A libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
A libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
A libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
A libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
R libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.modifying.operations/alg.replace/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.exception_handling.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
R libcxx/test/std/algorithms/alg.sorting/alg.merge/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/numeric.ops/reduce/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/numeric.ops/reduce/pstl.reduce.pass.cpp
R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.exception_handling.pass.cpp
R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
R libcxx/test/std/algorithms/numeric.ops/transform.reduce/pstl.transform_reduce.unary.pass.cpp
A libcxx/test/std/algorithms/pstl.exception_handling.pass.cpp
A libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
A libcxx/test/std/atomics/atomics.ref/bitwise_and_assign.pass.cpp
A libcxx/test/std/atomics/atomics.ref/bitwise_or_assign.pass.cpp
A libcxx/test/std/atomics/atomics.ref/bitwise_xor_assign.pass.cpp
A libcxx/test/std/atomics/atomics.ref/compare_exchange_strong.pass.cpp
A libcxx/test/std/atomics/atomics.ref/compare_exchange_weak.pass.cpp
A libcxx/test/std/atomics/atomics.ref/convert.pass.cpp
A libcxx/test/std/atomics/atomics.ref/ctor.pass.cpp
A libcxx/test/std/atomics/atomics.ref/deduction.pass.cpp
A libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
A libcxx/test/std/atomics/atomics.ref/fetch_add.pass.cpp
A libcxx/test/std/atomics/atomics.ref/fetch_and.pass.cpp
A libcxx/test/std/atomics/atomics.ref/fetch_or.pass.cpp
A libcxx/test/std/atomics/atomics.ref/fetch_sub.pass.cpp
A libcxx/test/std/atomics/atomics.ref/fetch_xor.pass.cpp
A libcxx/test/std/atomics/atomics.ref/increment_decrement.pass.cpp
A libcxx/test/std/atomics/atomics.ref/is_always_lock_free.pass.cpp
A libcxx/test/std/atomics/atomics.ref/load.pass.cpp
A libcxx/test/std/atomics/atomics.ref/member_types.pass.cpp
A libcxx/test/std/atomics/atomics.ref/notify_all.pass.cpp
A libcxx/test/std/atomics/atomics.ref/notify_one.pass.cpp
A libcxx/test/std/atomics/atomics.ref/operator_minus_equals.pass.cpp
A libcxx/test/std/atomics/atomics.ref/operator_plus_equals.pass.cpp
A libcxx/test/std/atomics/atomics.ref/required_alignment.pass.cpp
A libcxx/test/std/atomics/atomics.ref/requires-trivially-copyable.verify.cpp
A libcxx/test/std/atomics/atomics.ref/store.pass.cpp
A libcxx/test/std/atomics/atomics.ref/test_helper.h
A libcxx/test/std/atomics/atomics.ref/wait.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/types.compile.pass.cpp
M libcxx/test/std/containers/associative/map/map.value_compare/types.pass.cpp
M libcxx/test/std/containers/associative/multimap/multimap.value_compare/types.pass.cpp
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
A libcxx/test/std/experimental/simd/simd.class/simd_copy.pass.cpp
A libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_copy.pass.cpp
M libcxx/test/std/iterators/predef.iterators/counted.iterator/implicit_ctad.pass.cpp
M libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/implicit_ctad.pass.cpp
M libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/implicit_ctad.pass.cpp
M libcxx/test/std/iterators/predef.iterators/iterators.common/arrow.pass.cpp
M libcxx/test/std/iterators/predef.iterators/move.iterators/move.iterator/implicit_ctad.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.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/type_traits.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/locale.categories/category.ctype/locale.ctype.byname/widen_1.pass.cpp
M libcxx/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/widen_many.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
A libcxx/test/std/numerics/numeric.ops/reduce/pstl.reduce.pass.cpp
A libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.binary.pass.cpp
A libcxx/test/std/numerics/numeric.ops/transform.reduce/pstl.transform_reduce.unary.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/strings/string.view/string.view.deduct/implicit.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/implicit_ctad.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.scoped/implicit_ctad.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/implicit_ctad.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/implicit_ctad.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bm/implicit_ctad.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.bmh/implicit_ctad.pass.cpp
M libcxx/test/std/utilities/function.objects/func.search/func.search.default/implicit_ctad.pass.cpp
M libcxx/test/std/utilities/function.objects/operations.implicit_ctad.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.const_ref.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap_const.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.const_ref.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap_const.pass.cpp
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_concepts.h
A libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_types.h
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.pass.cpp
M libcxx/test/std/utilities/utility/mem.res/mem.res.global/new_delete_resource.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.dtor/dtor.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
M libcxx/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
M libcxx/test/support/atomic_helpers.h
M libcxx/test/support/constexpr_char_traits.h
M libcxx/test/support/nasty_string.h
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/features.py
M libcxxabi/include/cxxabi.h
M libcxxabi/src/cxa_exception.cpp
M libcxxabi/src/cxa_exception.h
M libcxxabi/src/cxa_guard_impl.h
M libcxxabi/src/cxa_personality.cpp
M libcxxabi/src/demangle/ItaniumDemangle.h
M libunwind/include/__libunwind_config.h
M libunwind/src/Unwind-wasm.c
M libunwind/src/UnwindCursor.hpp
M libunwind/src/UnwindLevel1.c
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
M libunwind/src/libunwind.cpp
M lld/COFF/DebugTypes.cpp
M lld/COFF/DriverUtils.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/AVR.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/Options.td
M lld/ELF/OutputSections.cpp
M lld/ELF/OutputSections.h
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/ObjC.cpp
M lld/docs/ELF/linker_script.rst
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
A lld/test/COFF/arm64ec-exports.s
A lld/test/ELF/aarch64-feature-gcs.s
M lld/test/ELF/aarch64-reloc-pauth.s
M lld/test/ELF/aarch64-thunk-reuse2.s
M lld/test/ELF/arm-exidx-shared.s
M lld/test/ELF/avr-reloc-error.s
M lld/test/ELF/avr-reloc.s
M lld/test/ELF/compress-debug-sections-zstd.s
M lld/test/ELF/compress-sections-special.s
M lld/test/ELF/compress-sections.s
M lld/test/ELF/compressed-debug-level.test
M lld/test/ELF/emulation-loongarch.s
M lld/test/ELF/linkerscript/compress-debug-sections.s
M lld/test/ELF/linkerscript/compress-sections.s
A lld/test/ELF/linkerscript/enable-non-contiguous-regions-arm-exidx.test
A lld/test/ELF/linkerscript/enable-non-contiguous-regions.test
M lld/test/ELF/linkerscript/orphan-phdrs2.test
R lld/test/ELF/loongarch-relax-align-ldr.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
M lld/test/ELF/mips-eh_frame-pic.s
M lld/test/ELF/mips-got-page-script.s
M lld/test/ELF/mips-tls-hilo.s
M lld/test/ELF/ppc32-reloc-rel.s
M lld/test/ELF/ppc64-pcrel-call-to-extern.s
M lld/test/ELF/ppc64-toc-relax-ifunc.s
M lld/test/ELF/riscv-gp.s
M lld/test/ELF/ttext-tdata-tbss.s
M lld/test/MachO/install-name.s
M lld/test/MachO/objc-category-merging-complete-test.s
M lld/test/MachO/objc-methname.s
M lld/test/MachO/objc.s
M lld/test/wasm/shared64.s
M lld/wasm/Driver.cpp
M lld/wasm/InputChunks.cpp
M lld/wasm/Symbols.cpp
M lld/wasm/Symbols.h
M lld/wasm/SyntheticSections.cpp
M lld/wasm/Writer.cpp
M lldb/bindings/CMakeLists.txt
M lldb/bindings/headers.swig
M lldb/bindings/interfaces.swig
M lldb/bindings/lua/CMakeLists.txt
M lldb/bindings/python/CMakeLists.txt
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/index.rst
M lldb/docs/resources/build.rst
A lldb/docs/resources/lldbdap.md
M lldb/docs/resources/lldbgdbremote.md
M lldb/docs/use/variable.rst
M lldb/examples/python/crashlog.py
M lldb/examples/python/crashlog_scripted_process.py
M lldb/include/lldb/API/SBCommandInterpreter.h
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/API/SBExpressionOptions.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Interpreter/CommandInterpreter.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Symbol/TypeList.h
M lldb/include/lldb/Symbol/TypeMap.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Target/Platform.h
M lldb/include/lldb/Target/RemoteAwarePlatform.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/include/lldb/lldb-types.h
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/lldbutil.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
M lldb/scripts/generate-sbapi-dwarf-enum.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBCommandInterpreter.cpp
M lldb/source/API/SBDebugger.cpp
M lldb/source/API/SBExpressionOptions.cpp
M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/Progress.cpp
M lldb/source/Core/ValueObject.cpp
M lldb/source/Core/ValueObjectConstResultImpl.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Host/common/Socket.cpp
M lldb/source/Host/macosx/objcxx/Host.mm
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/InterpreterProperties.td
M lldb/source/Interpreter/Options.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/Symbol.cpp
M lldb/source/Symbol/SymbolFileOnDemand.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Symbol/TypeList.cpp
M lldb/source/Symbol/TypeMap.cpp
M lldb/source/Symbol/TypeSystem.cpp
M lldb/source/Target/PathMappingList.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/RemoteAwarePlatform.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/UnwindLLDB.cpp
M lldb/source/Utility/Status.cpp
M lldb/test/API/commands/platform/process/launch/TestPlatformProcessLaunch.py
M lldb/test/API/commands/session/save/TestSessionSave.py
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/commands/settings/quoting/TestQuoting.py
M lldb/test/API/functionalities/avoids-fd-leak/TestFdLeak.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
M lldb/test/API/functionalities/bt-interrupt/main.c
M lldb/test/API/functionalities/completion/TestCompletion.py
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/Makefile
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/TestCustomSummaryLLVMFormat.py
A lldb/test/API/functionalities/data-formatter/custom-printf-summary/main.c
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
M lldb/test/API/functionalities/dyld-launch-linux/TestDyldLaunchLinux.py
M lldb/test/API/functionalities/exec/TestExec.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBRemotePlatformFile.py
M lldb/test/API/functionalities/gdb_remote_client/TestPty.py
M lldb/test/API/functionalities/postmortem/netbsd-core/TestNetBSDCore.py
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
M lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
M lldb/test/API/functionalities/thread/concurrent_events/TestConcurrentTwoBreakpointsOneSignal.py
M lldb/test/API/functionalities/thread/exit_during_expression/main.c
M lldb/test/API/functionalities/thread/state/TestThreadStates.py
M lldb/test/API/iohandler/resize/TestIOHandlerResizeNoEditline.py
M lldb/test/API/lang/c/enum_types/TestEnumTypes.py
M lldb/test/API/lang/cpp/limit-debug-info/Makefile
M lldb/test/API/lang/cpp/limit-debug-info/TestWithLimitDebugInfo.py
M lldb/test/API/lang/cpp/limit-debug-info/base.cpp
M lldb/test/API/lang/cpp/limit-debug-info/base.h
M lldb/test/API/lang/cpp/limit-debug-info/derived.cpp
M lldb/test/API/lang/cpp/limit-debug-info/derived.h
M lldb/test/API/lang/cpp/limit-debug-info/main.cpp
M lldb/test/API/macosx/rosetta/TestRosetta.py
M lldb/test/API/macosx/universal64/TestUniversal64.py
M lldb/test/API/python_api/debugger/TestDebuggerAPI.py
M lldb/test/API/python_api/interpreter/TestCommandInterpreterAPI.py
M lldb/test/API/python_api/interpreter/main.c
A lldb/test/API/python_api/sbmodule/FindTypes/Makefile
A lldb/test/API/python_api/sbmodule/FindTypes/TestSBModuleFindTypes.py
A lldb/test/API/python_api/sbmodule/FindTypes/main.cpp
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/type/main.cpp
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_logpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setFunctionBreakpoints.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_redirection_to_console.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/disconnect/TestDAP_disconnect.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/optimized/TestDAP_optimized.py
A lldb/test/API/tools/lldb-dap/repl-mode/Makefile
A lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
A lldb/test/API/tools/lldb-dap/repl-mode/main.cpp
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/API/tools/lldb-dap/stackTraceMissingFunctionName/TestDAP_stackTraceMissingFunctionName.py
M lldb/test/API/tools/lldb-dap/step/TestDAP_step.py
M lldb/test/API/tools/lldb-dap/stop-hooks/TestDAP_stop_hooks.py
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/test/API/tools/lldb-dap/threads/TestDAP_threads.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteCompletion.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteLaunch.py
M lldb/test/API/tools/lldb-server/TestGdbRemotePlatformFile.py
M lldb/test/API/tools/lldb-server/TestPtyServer.py
M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
M lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py
M lldb/test/API/tools/lldb-server/memory-tagging/TestGdbRemoteMemoryTagging.py
M lldb/test/Shell/Commands/command-disassemble-aarch64-extensions.s
M lldb/test/Shell/SymbolFile/DWARF/x86/debug_rnglists.s
A lldb/test/Shell/SymbolFile/DWARF/x86/invalid_abbreviation.s
A lldb/test/Shell/Unwind/Inputs/signal-in-leaf-function-aarch64.c
A lldb/test/Shell/Unwind/Inputs/unaligned-pc-sigbus.c
A lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test
A lldb/test/Shell/Unwind/unaligned-pc-sigbus.test
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/README.md
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-dap/package.json
M lldb/unittests/Core/DiagnosticEventTest.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
M lldb/unittests/Symbol/TestType.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/AddLLVM.cmake
R llvm/cmake/modules/FindTerminfo.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/dsymutil.rst
M llvm/docs/Coroutines.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/GettingInvolved.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/GlobalISel/MIRPatterns.rst
M llvm/docs/LangRef.rst
M llvm/docs/MIRLangRef.rst
M llvm/docs/MemorySSA.rst
M llvm/docs/ORCv2.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/SPIRVUsage.rst
M llvm/docs/TestingGuide.rst
M llvm/docs/VectorizationPlan.rst
M llvm/docs/conf.py
A llvm/docs/vplan-scope.png
A llvm/docs/vplan-transform-pipeline.png
M llvm/examples/ExceptionDemo/ExceptionDemo.cpp
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/include/llvm/ADT/StringMap.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/Analysis/AliasSetTracker.h
M llvm/include/llvm/Analysis/CFG.h
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/DOTGraphTraitsPass.h
M llvm/include/llvm/Analysis/InstSimplifyFolder.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/TargetFolder.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/AsmParser/LLParser.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/Bitcode/BitcodeWriter.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/include/llvm/CodeGen/PseudoSourceValueManager.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/Config/config.h.cmake
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVStringPool.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
A llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h
A llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/ConstantFolder.h
M llvm/include/llvm/IR/ConstantRange.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IRBuilderFolder.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/NoFolder.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h
M llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
M llvm/include/llvm/MC/MCAsmMacro.h
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MCA/IncrementalSourceMgr.h
M llvm/include/llvm/MCA/InstrBuilder.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/include/llvm/Option/ArgList.h
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
A llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/InstrProfWriter.h
M llvm/include/llvm/ProfileData/MemProf.h
A llvm/include/llvm/ProfileData/PGOCtxProfReader.h
A llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/include/llvm/ProfileData/SampleProfReader.h
M llvm/include/llvm/Support/Error.h
M llvm/include/llvm/Support/KnownBits.h
M llvm/include/llvm/Support/SourceMgr.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParserCommon.h
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/include/llvm/TextAPI/Utils.h
M llvm/include/llvm/Transforms/IPO/FunctionImport.h
M llvm/include/llvm/Transforms/IPO/SampleProfileMatcher.h
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/include/llvm/Transforms/Utils/CallPromotionUtils.h
M llvm/lib/Analysis/BranchProbabilityInfo.cpp
M llvm/lib/Analysis/CFG.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
M llvm/lib/Bitcode/Writer/ValueEnumerator.h
M llvm/lib/Bitstream/Reader/BitstreamReader.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
M llvm/lib/CodeGen/LiveRangeEdit.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/ParallelCG.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/CodeGen/PseudoSourceValue.cpp
M llvm/lib/CodeGen/RegisterPressure.cpp
M llvm/lib/CodeGen/ScheduleDAG.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/ValueTypes.cpp
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/Frontend/Offloading/OffloadWrapper.cpp
M llvm/lib/Frontend/OpenMP/OMPContext.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/ConstantRange.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/MDBuilder.cpp
M llvm/lib/IR/Mangler.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCDXContainerWriter.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCInst.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
M llvm/lib/MC/MCSectionELF.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MCA/InstrBuilder.cpp
M llvm/lib/Object/COFFObjectFile.cpp
M llvm/lib/Object/MachOObjectFile.cpp
M llvm/lib/Object/WindowsResource.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/Option/OptTable.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/CMakeLists.txt
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfCorrelator.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
A llvm/lib/ProfileData/PGOCtxProfReader.cpp
A llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/lib/ProfileData/SampleProfReader.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/ELFAttributeParser.cpp
M llvm/lib/Support/Error.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/lib/Support/LockFileManager.cpp
M llvm/lib/Support/MemoryBuffer.cpp
M llvm/lib/Support/SourceMgr.cpp
M llvm/lib/Support/Unix/Process.inc
M llvm/lib/Support/raw_socket_stream.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64ExpandImm.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AArch64PointerAuth.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
A llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/EXPInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
A llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
M llvm/lib/Target/AMDGPU/R600TargetMachine.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.h
M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/BPF/BPFMIChecking.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILValueEnumerator.h
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchSubtarget.cpp
M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCFastISel.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp
M llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVPostRAExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.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/RISCVScheduleV.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
A llvm/lib/Target/SPIRV/SPIRVInlineAsmLowering.cpp
A llvm/lib/Target/SPIRV/SPIRVInlineAsmLowering.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVRegisterBanks.td
M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/VE/VVPNodes.def
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.td
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86FixupBWInsts.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86Instr3DNow.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFragments.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86InstrSystem.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/lib/Target/X86/X86LowerTileCopy.cpp
M llvm/lib/Target/X86/X86ScheduleZnver3.td
M llvm/lib/Target/X86/X86ScheduleZnver4.td
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/TargetParser/ARMTargetParserCommon.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/lib/TextAPI/Utils.cpp
M llvm/lib/Transforms/Coroutines/CoroElide.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/CoroInternal.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.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/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/DivRemPairs.cpp
M llvm/lib/Transforms/Scalar/GVNHoist.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/MisExpect.cpp
M llvm/lib/Transforms/Utils/ModuleUtils.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.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/VectorCombine.cpp
M llvm/runtimes/CMakeLists.txt
M llvm/test/Analysis/CostModel/AArch64/cast.ll
A llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/sve-gather.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
M llvm/test/Analysis/CostModel/RISCV/arith-int.ll
A llvm/test/Analysis/CostModel/RISCV/cmp-select.ll
A llvm/test/Analysis/CostModel/RISCV/cttz_elts.ll
M llvm/test/Analysis/CostModel/RISCV/masked_ldst.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/X86/masked-gather-i32-with-i8-index.ll
M llvm/test/Analysis/CostModel/X86/masked-gather-i64-with-i8-index.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
M llvm/test/Analysis/LoopAccessAnalysis/forward-loop-independent.ll
A llvm/test/Analysis/LoopAccessAnalysis/invariant-dependence-before.ll
A llvm/test/Analysis/LoopAccessAnalysis/is-safe-dep-distance-with-loop-guards.ll
M llvm/test/Analysis/LoopAccessAnalysis/loop-invariant-dep-with-backedge-taken-count.ll
M llvm/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-distance-backward.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
M llvm/test/Analysis/LoopAccessAnalysis/offset-range-known-via-assume.ll
M llvm/test/Analysis/LoopAccessAnalysis/pr64637.ll
M llvm/test/Analysis/LoopAccessAnalysis/select-dependence.ll
M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
M llvm/test/Analysis/MustExecute/const-cond.ll
M llvm/test/Analysis/ScalarEvolution/exhaustive-trip-counts.ll
A llvm/test/Analysis/ScalarEvolution/exit-count-non-strict.ll
M llvm/test/Assembler/ConstantExprFold.ll
M llvm/test/Bindings/llvm-c/debug_info.ll
A llvm/test/Bindings/llvm-c/debug_info_new_format.ll
A llvm/test/CodeGen/AArch64/GlobalISel/combine-integer.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-cmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/select-vector-icmp.mir
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/aarch64-mulv.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/aarch64-vuzp.ll
M llvm/test/CodeGen/AArch64/aarch64_tree_tests.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/arm64-vhadd.ll
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
A llvm/test/CodeGen/AArch64/arm64ec-symbols.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/bitfield-insert.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
A llvm/test/CodeGen/AArch64/exp10-libcall-names.ll
M llvm/test/CodeGen/AArch64/fcvt_combine.ll
R llvm/test/CodeGen/AArch64/fdiv_combine.ll
M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/framelayout-sve-basepointer.mir
A llvm/test/CodeGen/AArch64/frem-power2.ll
A llvm/test/CodeGen/AArch64/get-active-lane-mask-extract.ll
M llvm/test/CodeGen/AArch64/hadd-combine.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
A llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
A llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir
M llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/neon-perm.ll
A llvm/test/CodeGen/AArch64/neon-scalarize-histogram.ll
M llvm/test/CodeGen/AArch64/pr58431.ll
A llvm/test/CodeGen/AArch64/pr92062.ll
A llvm/test/CodeGen/AArch64/ptradd.ll
M llvm/test/CodeGen/AArch64/reduce-and.ll
M llvm/test/CodeGen/AArch64/reduce-or.ll
M llvm/test/CodeGen/AArch64/reduce-xor.ll
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
A llvm/test/CodeGen/AArch64/selectopt-not.ll
R llvm/test/CodeGen/AArch64/sitofp-fixed-legal.ll
A llvm/test/CodeGen/AArch64/sme-framelower-use-bp.ll
M llvm/test/CodeGen/AArch64/sme-support-routines-calling-convention.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-add-sub-za16.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-fmlas16.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-max.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-min.ll
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mopa.ll
A llvm/test/CodeGen/AArch64/smul_fix.ll
A llvm/test/CodeGen/AArch64/smul_fix_sat.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
A llvm/test/CodeGen/AArch64/sve-callee-save-restore-pairs.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-byref.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention.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-fixed-length-vector-shuffle-tbl.ll
A llvm/test/CodeGen/AArch64/sve-fixed-vector-llrint.ll
A llvm/test/CodeGen/AArch64/sve-fixed-vector-lrint.ll
M llvm/test/CodeGen/AArch64/sve-fp-reduce-fadda.ll
A llvm/test/CodeGen/AArch64/sve-llrint.ll
A llvm/test/CodeGen/AArch64/sve-lrint.ll
A llvm/test/CodeGen/AArch64/sve-pr92779.ll
M llvm/test/CodeGen/AArch64/sve-reassocadd.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-and-combine.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-build-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-concat.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ext-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fcopysign.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-extend-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-arith.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-compares.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-extends.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-immediates.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-log.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-minmax.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mla-neon-fa64.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-mulh.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-rem.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-select.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-shifts.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-vselect.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-limit-duplane.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-log-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-load.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-store.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ptest.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reshuffle.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-splat-vector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc-stores.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-vector-shuffle.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
A llvm/test/CodeGen/AArch64/sve2-histcnt.ll
M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
A llvm/test/CodeGen/AArch64/umul_fix.ll
A llvm/test/CodeGen/AArch64/umul_fix_sat.ll
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
M llvm/test/CodeGen/AArch64/vector-llrint.ll
M llvm/test/CodeGen/AArch64/vector-lrint.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/is-safe-to-sink-bug.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap-gfx11.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fdiv.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
A llvm/test/CodeGen/AMDGPU/call-defs-mode-register.ll
A llvm/test/CodeGen/AMDGPU/check-subtarget-features.ll
M llvm/test/CodeGen/AMDGPU/combine_vloads.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/dead_bundle.mir
M llvm/test/CodeGen/AMDGPU/dpp_combine.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
M llvm/test/CodeGen/AMDGPU/fp_to_sint.ll
M llvm/test/CodeGen/AMDGPU/fp_to_uint.ll
M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.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/global_atomics_scan_fsub.ll
A llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
A llvm/test/CodeGen/AMDGPU/kernel_code_t_recurse.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.pops.exiting.wave.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/load-global-i1.ll
M llvm/test/CodeGen/AMDGPU/load-local-i1.ll
M llvm/test/CodeGen/AMDGPU/load-local-i8.ll
M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor-constexpr-alias.ll
M llvm/test/CodeGen/AMDGPU/lower-ctor-dtor.ll
A llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
M llvm/test/CodeGen/AMDGPU/nullptr-long-address-spaces.ll
M llvm/test/CodeGen/AMDGPU/nullptr.ll
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/remove-incompatible-wave32-feature.ll
M llvm/test/CodeGen/AMDGPU/sad.ll
M llvm/test/CodeGen/AMDGPU/setcc.ll
M llvm/test/CodeGen/AMDGPU/sext-in-reg.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/CodeGen/AMDGPU/spill-vgpr.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/store-global.ll
M llvm/test/CodeGen/AMDGPU/store-local.ll
M llvm/test/CodeGen/AMDGPU/trap-abis.ll
M llvm/test/CodeGen/AMDGPU/trunc-vector-store-assertion-failure.ll
M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
M llvm/test/CodeGen/AMDGPU/unsupported-calls.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca.ll
A llvm/test/CodeGen/AMDGPU/vector_rebroadcast.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-preexisting.mir
M llvm/test/CodeGen/AMDGPU/wrong-transalu-pos-fix.ll
A llvm/test/CodeGen/ARM/exp10-libcall-names.ll
A llvm/test/CodeGen/ARM/frem-power2.ll
M llvm/test/CodeGen/ARM/iabs.ll
M llvm/test/CodeGen/BPF/xadd.ll
M llvm/test/CodeGen/DirectX/embed-dxil.ll
M llvm/test/CodeGen/Generic/expand-vp.ll
M llvm/test/CodeGen/Hexagon/asr-rnd.ll
M llvm/test/CodeGen/Hexagon/asr-rnd64.ll
M llvm/test/CodeGen/LoongArch/O0-pipeline.ll
M llvm/test/CodeGen/LoongArch/addrspacecast.ll
M llvm/test/CodeGen/LoongArch/alloca.ll
M llvm/test/CodeGen/LoongArch/alsl.ll
M llvm/test/CodeGen/LoongArch/analyze-branch.ll
M llvm/test/CodeGen/LoongArch/andn-icmp.ll
M llvm/test/CodeGen/LoongArch/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/LoongArch/bitreverse.ll
M llvm/test/CodeGen/LoongArch/block-address.ll
M llvm/test/CodeGen/LoongArch/blockaddress-symbol.ll
M llvm/test/CodeGen/LoongArch/bnez-beqz.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation-spill-32.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation-spill-64.ll
M llvm/test/CodeGen/LoongArch/branch-relaxation.ll
M llvm/test/CodeGen/LoongArch/bstrins_d.ll
M llvm/test/CodeGen/LoongArch/bstrins_w.ll
M llvm/test/CodeGen/LoongArch/bstrpick_d.ll
M llvm/test/CodeGen/LoongArch/bstrpick_w.ll
M llvm/test/CodeGen/LoongArch/bswap-bitreverse.ll
M llvm/test/CodeGen/LoongArch/bswap.ll
M llvm/test/CodeGen/LoongArch/bytepick.ll
M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
M llvm/test/CodeGen/LoongArch/code-models.ll
M llvm/test/CodeGen/LoongArch/cpu-name-generic.ll
M llvm/test/CodeGen/LoongArch/cpus.ll
M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/LoongArch/duplicate-returns-for-tailcall.ll
M llvm/test/CodeGen/LoongArch/dwarf-eh.ll
M llvm/test/CodeGen/LoongArch/e_flags.ll
M llvm/test/CodeGen/LoongArch/eh-dwarf-cfa.ll
M llvm/test/CodeGen/LoongArch/emergency-spill-slot.ll
M llvm/test/CodeGen/LoongArch/exception-pointer-register.ll
M llvm/test/CodeGen/LoongArch/expand-call.ll
M llvm/test/CodeGen/LoongArch/frame.ll
M llvm/test/CodeGen/LoongArch/frameaddr-returnaddr.ll
M llvm/test/CodeGen/LoongArch/gep-imm.ll
M llvm/test/CodeGen/LoongArch/get-reg-error-la32.ll
M llvm/test/CodeGen/LoongArch/get-reg-error-la64.ll
M llvm/test/CodeGen/LoongArch/get-reg.ll
M llvm/test/CodeGen/LoongArch/get-setcc-result-type.ll
M llvm/test/CodeGen/LoongArch/global-address.ll
M llvm/test/CodeGen/LoongArch/global-variable-code-model.ll
M llvm/test/CodeGen/LoongArch/imm.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-ZB.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-ZC.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-k.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint-m.ll
M llvm/test/CodeGen/LoongArch/inline-asm-constraint.ll
M llvm/test/CodeGen/LoongArch/inline-asm-operand-modifiers.ll
M llvm/test/CodeGen/LoongArch/inline-asm-reg-names-error.ll
M llvm/test/CodeGen/LoongArch/inline-asm-reg-names.ll
M llvm/test/CodeGen/LoongArch/intrinsic-csr-side-effects.ll
M llvm/test/CodeGen/LoongArch/intrinsic-iocsr-side-effects.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la32-error.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la32.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la64-error.ll
M llvm/test/CodeGen/LoongArch/intrinsic-la64.ll
M llvm/test/CodeGen/LoongArch/intrinsic-memcpy.ll
M llvm/test/CodeGen/LoongArch/intrinsic-not-constant-error.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/add.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/and.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/ashr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomic-cmpxchg.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-minmax.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/br.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/call.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/fence-singlethread.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/fence.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/icmp.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/indirectbr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/load-store-atomic.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/lshr.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/mul.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/or.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sdiv-udiv-srem-urem.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/select-bare-int.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/select-icc-int.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sext-zext-trunc.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/shl.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/sub.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/xor.ll
M llvm/test/CodeGen/LoongArch/jump-table.ll
M llvm/test/CodeGen/LoongArch/ldptr.ll
M llvm/test/CodeGen/LoongArch/ldx-stx-sp-2.ll
M llvm/test/CodeGen/LoongArch/ldx-stx-sp-3.ll
M llvm/test/CodeGen/LoongArch/legalicmpimm.ll
A llvm/test/CodeGen/LoongArch/libcall-extend.ll
M llvm/test/CodeGen/LoongArch/load-store-offset.ll
M llvm/test/CodeGen/LoongArch/memcmp.ll
M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
M llvm/test/CodeGen/LoongArch/nomerge.ll
M llvm/test/CodeGen/LoongArch/not.ll
M llvm/test/CodeGen/LoongArch/numeric-reg-names.ll
M llvm/test/CodeGen/LoongArch/opt-pipeline.ll
M llvm/test/CodeGen/LoongArch/patchable-function-entry.ll
M llvm/test/CodeGen/LoongArch/prefer-w-inst.ll
M llvm/test/CodeGen/LoongArch/preferred-alignments.ll
M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
M llvm/test/CodeGen/LoongArch/register-coalescer-crash-pr79718.mir
M llvm/test/CodeGen/LoongArch/returnaddr-error.ll
M llvm/test/CodeGen/LoongArch/rotl-rotr.ll
M llvm/test/CodeGen/LoongArch/select-const.ll
M llvm/test/CodeGen/LoongArch/select-to-shiftand.ll
M llvm/test/CodeGen/LoongArch/sext-cheaper-than-zext.ll
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/test/CodeGen/LoongArch/shift-masked-shamt.ll
M llvm/test/CodeGen/LoongArch/shrinkwrap.ll
M llvm/test/CodeGen/LoongArch/smul-with-overflow.ll
M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
M llvm/test/CodeGen/LoongArch/spill-ra-without-kill.ll
M llvm/test/CodeGen/LoongArch/split-sp-adjust.ll
M llvm/test/CodeGen/LoongArch/stack-realignment-with-variable-sized-objects.ll
M llvm/test/CodeGen/LoongArch/stack-realignment.ll
Log Message:
-----------
Merge branch 'main' into users/aaupov/spr/boltnfc-simplify-analyzeindirectbranch
Compare: https://github.com/llvm/llvm-project/compare/979fe7184afd...5634ac492033
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