LLVM/project bb577f6llvm/lib/Target/AArch64/GISel AArch64InstructionSelector.cpp, llvm/test/CodeGen/AArch64/GlobalISel preselect-process-phis.mir select-bitcast.mir

[AArch64][GlobalISel] Select i16/f16 cross-bank bitcasts (#220612)

Test bitcast_to_half in
llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll crashes with

  H0 = COPY W8
  unimplemented reg-to-reg copy
  UNREACHABLE executed at

/home/culrho01/llvm-project/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:6363!

when type-based RegBankSelect (#199040) is enabled. Normal RBS keeps
both operands on GPR and moves to FPR afterward. This extends
instruction select to support bitcasts where src/dst reg bank doens't
match.

Assisted-by: codex
DeltaFile
+44-0llvm/test/CodeGen/AArch64/GlobalISel/select-bitcast.mir
+42-0llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
+4-2llvm/test/CodeGen/AArch64/GlobalISel/preselect-process-phis.mir
+90-23 files

LLVM/project 65b2748libc CMakeLists.txt, libc/docs/dev index.md code_coverage.md

[libc] Enable code coverage using continuous instrumentation profiling (#213271)

This patch adds coverage to LLVM-libc using Clang continuous
instrumentation.

The `LIBC_ENABLE_COVERAGE` CMake option enables
`-fprofile-instr-generate=libc_cov_%c%p.profraw`, `-fcoverage-mapping`,
and `-fprofile-continuous` for Clang overlay builds, and is limited to
overlay build.

Developer documentation and usage instructions are added in
`libc/docs/dev/code_coverage.md` and indexed in
`libc/docs/dev/index.md`.

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+438-0libc/docs/dev/code_coverage.md
+30-0libc/CMakeLists.txt
+1-0libc/docs/dev/index.md
+469-03 files

LLVM/project 2ca62a4clang/utils/TableGen CIRLoweringEmitter.cpp

[CIR] Derive lowering attr names from cppClassName, not the def name

CIRLoweringEmitter built its CXX_ABI_ALWAYS_LEGAL_ATTRS entries with
GetOpCppClassName, which splits the TableGen def name at the first
underscore. That works only while every def is named CIR_<CppClassName>Attr.
When one is not, the emitter writes an `isa<>` for a class that does not
exist, and the failure lands as a compile error in generated code.

Attributes carry the authoritative name in cppClassName, which
GenerateAttrToValueVisitor was already reading. Factor that out as
GetAttrCppClassRef and use it for both attribute paths. GetOpCppClassName
stays for operations.

NFC, and checkable. No CIR attribute overrides cppClassName, so the generated
CIRLowering.inc is byte-identical.
DeltaFile
+16-10clang/utils/TableGen/CIRLoweringEmitter.cpp
+16-101 files

LLVM/project 3e97e5dclang/include/clang/CIR/Dialect/IR CIROps.td

[CIR] Move the CIR enums off the legacy EnumAttrInfo hierarchy

MLIR has two enum hierarchies. `EnumAttrInfo` doubles as an `IntegerAttr`
constraint, so every CIR enum had to clear `genSpecializedAttr` to say it did
not want one. `EnumInfo` describes a C++ enum and nothing more.

Derive the CIR bases from `I32Enum`, `I64Enum` and `I32BitEnum`, and widen
`CIR_EnumAttr` to the `EnumInfo` that upstream `EnumAttr` already takes. The
flag no longer exists to clear. `FPClassTestEnum` gets unquoted printing from
`BitEnumBase` rather than overriding `printBitEnumQuoted`, and
`CIR_KnownFuncKind` drops a `parameterPrinter` the generated `operator<<`
now covers, still spelling `#cir.func_identity<"std::find">`.

AMDGPU wraps an `I32Enum` in an `EnumAttr` with this same bracketed format.
Parsing moves to the generated `FieldParser`, whose diagnostic names the
accepted spellings, so two `expected-error` lines change. Generated attribute
code drops 16 KB as 28 inlined parsers collapse into it.
DeltaFile
+0-8clang/include/clang/CIR/Dialect/IR/CIROps.td
+0-81 files

LLVM/project 1f0b2c3clang/include/clang/CIR/Dialect/IR CIREnumAttr.td CIROps.td

[CIR] Drop dead ceremony around the CIR enum attributes

Five things that no longer earn their place in the CIR enum attribute
machinery.

CIR_CleanupKindAttr carried three. Its cppClassName restated the default
AttrDef already derives. Its skipDefaultBuilders plus hand-written
AttrBuilder existed only to default $value to CleanupKind::All, which no
caller relies on, so the generated builders stayed suppressed for nothing.
And its summary and description restated the name, overriding the enum's own
"cleanup kind" that EnumAttr would otherwise inherit. The isNormal, isEH and
isNormalAndEH helpers stay.

CIR_TLSModelAttr's summary restated its name the same way, so only that goes.
CIR_DefaultValuedEnumParameter has never had a user.

NFC.
DeltaFile
+0-16clang/include/clang/CIR/Dialect/IR/CIROps.td
+0-5clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
+0-212 files

LLVM/project 7643b1dclang/include/clang/CIR/Dialect/IR CIROps.td

[CIR] Migrate the FPClassTest bit enum and unquote its flags

cir.is_fp_class printed its flags inconsistently. Single-bit values came out
bare, as in `fcSNan`, while group values and combinations came out quoted, as
in `"fcInf"` and `"fcSNan|fcNegInf"`. That comes from I32BitEnumAttr setting
printBitEnumQuoted, which EnumAttr.td keeps only for backwards compatibility.

Clearing the bit and using the `enum` directive selects the separator-aware
parser and printer, so every value now spells unquoted:

  cir.is_fp_class %x, fcSNan|fcNegInf : (!cir.float) -> !cir.bool

The enum also drops its specialized IntegerAttr for a CIR_EnumAttr wrapper,
giving it the standalone spelling `#cir.fp_class<fcSNan|fcNegInf>`. This
changes operation syntax, so it updates 37 CHECK lines.
DeltaFile
+8-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+8-01 files

LLVM/project 11a9127lld/test/COFF code-merge.s, llvm/test/MC/COFF basic-coff-64.s section.s

[llvm][llvm-readobj] Print COFF RawDataSize as hex (#221224)

To match VirtualSize, and Microsoft's dumpbin which prints both as hex:
SECTION HEADER #1
   .text name
   440B4 virtual size
    1000 virtual address (0000000140001000 to 00000001400450B3)
   44200 size of raw data

llvm-readobj before this change:
    VirtualSize: 0x3478
    VirtualAddress: 0x74000
    RawDataSize: 3584

And after:
    VirtualSize: 0x3478
    VirtualAddress: 0x74000
    RawDataSize: 0xe00


    [2 lines not shown]
DeltaFile
+7-7llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
+6-6llvm/test/tools/llvm-objcopy/COFF/only-keep-debug-rdata.test
+5-5llvm/test/MC/COFF/section.s
+4-4llvm/test/tools/llvm-objcopy/COFF/update-section.test
+4-4llvm/test/MC/COFF/basic-coff-64.s
+4-4lld/test/COFF/code-merge.s
+30-3038 files not shown
+90-9044 files

LLVM/project d9bcffdllvm/test/CodeGen/AMDGPU mfma-no-register-aliasing.ll agpr-csr.ll

[AMDGPU] Add AGPR pressure tracking (#214745)

Add AGPR pressure tacking in RPDelta.
DeltaFile
+892-872llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
+546-687llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
+488-475llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
+337-388llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
+181-181llvm/test/CodeGen/AMDGPU/agpr-csr.ll
+120-112llvm/test/CodeGen/AMDGPU/mfma-no-register-aliasing.ll
+2,564-2,7158 files not shown
+2,822-2,87514 files

LLVM/project 2e30c8eflang/include/flang/Evaluate complex.h integer.h, flang/lib/Evaluate host.h initial-image.cpp

[Flang][NFCI] Use abstraction for binary scalar data (#212956)

There is currently the assumption that the binary representation of the
scalar data classes (Integer, Real, Complex, Logical) is identical to
the binary representation of native types. For instance `Integer<64>`
can be reinterpret-casted to a `int64_t` or serialized using `memcpy`.
This will not be the case anymore with #206907. This first PR introduces
`LoadRawBytes` and `StoreRawBytes` abstractions that can be adapted when
the binary data layout of the scalar data classes change. No functional
change intended.

The binary representation is assumed for these uses:

1. Data serialization in initial-image.h/.cpp

2. Calling native math functions to constant-fold functions such as
`sin` in intrinsics-library.cpp. An abstraction layer has been created
in host.h/host.cpp to convert between host-native types and the scalar
data classes.

    [28 lines not shown]
DeltaFile
+88-0flang/include/flang/Evaluate/char.h
+35-35flang/lib/Evaluate/initial-image.cpp
+27-19flang/include/flang/Evaluate/initial-image.h
+28-0flang/include/flang/Evaluate/integer.h
+27-0flang/include/flang/Evaluate/complex.h
+9-12flang/lib/Evaluate/host.h
+214-662 files not shown
+252-668 files

LLVM/project d268cdbllvm/lib/CodeGen/GlobalISel IRTranslator.cpp, llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp

CodeGen: Drop AllowFPOpFusion check from fmuladd lowering (#221667)
DeltaFile
+11-24llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-fmuladd.ll
+2-4llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+1-3llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+14-313 files

LLVM/project 76a090dclang-tools-extra/docs/clang-tidy/checks/readability container-size-empty.md duplicate-include.md

[clang-tidy][docs] Rewrite readability check docs to Markdown [1/5] (#221447)

Tracking issue: #201242

See the [migration guide] for more information.

[migration guide]:

https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the first part of rewriting check documentations in readability
module from reST to MyST Markdown.

AI Usage: This was prepared with rnk's fork of rst2myst and
GPT5.6-assisted cleanup.
I manually verified that the documentation renders as expected.

Preview site:
https://broken.life/llvm-staging/readability-markdown-port/index.html

    [3 lines not shown]
DeltaFile
+82-85clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.md
+62-67clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.md
+41-39clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.md
+31-33clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.md
+28-29clang-tools-extra/docs/clang-tidy/checks/readability/duplicate-include.md
+25-27clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.md
+269-2804 files not shown
+351-36710 files

LLVM/project 8727da4clang-tools-extra/docs/clang-tidy/checks/readability ambiguous-smartptr-reset-call.rst ambiguous-smartptr-reset-call.md

[clang-tidy][docs] Rename readability check docs to Markdown [1/5] (#221446)

Tracking issue: #201242

See the [migration guide] for more information.

[migration guide]:

https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the first part of the mechanical rename of the check
documentations in readability module.
The rewrite is provided by the next PR in this stack.
DeltaFile
+0-111clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
+111-0clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.md
+0-90clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.rst
+90-0clang-tools-extra/docs/clang-tidy/checks/readability/else-after-return.md
+0-62clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.rst
+62-0clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.md
+263-26314 files not shown
+534-53420 files

LLVM/project abbc159. .git-blame-ignore-revs

[llvm][llvm-readobj][NFC] Add formatting commit to ignore revs (#221693)

See #221688.
DeltaFile
+3-0.git-blame-ignore-revs
+3-01 files

LLVM/project 247393fclang/test/OpenMP parallel_for_codegen.cpp, libc/utils cmake_format.py

Merge branch 'main' of github.com:llvm/llvm-project into users/lukel97/loop-vectorize/simplifyRecipes-worklist
DeltaFile
+1,004-1,744llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
+1,049-1,049clang/test/OpenMP/parallel_for_codegen.cpp
+1,534-0libc/utils/cmake_format.py
+352-1,116llvm/test/CodeGen/LoongArch/lasx/fma-v8f32.ll
+352-1,116llvm/test/CodeGen/LoongArch/lasx/fma-v4f64.ll
+646-759llvm/test/CodeGen/X86/clmul-vector.ll
+4,937-5,7841,195 files not shown
+47,345-26,3731,201 files

LLVM/project 39daa55llvm/lib/Target/AArch64 AArch64ISelLowering.cpp

AArch64: Drop AllowFPOpFusion from isProfitableToHoist (#221402)
DeltaFile
+1-3llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+1-31 files

LLVM/project 34c0dc0llvm/tools/llvm-readobj COFFDumper.cpp

[llvm][llvm-readobj][NFC] clang-format COFFDumper.cpp (#221688)

Prior to changes to it in #221224.

This formats the whole file, and when it's landed I'll add the commit
hash to .git-blame-ignore-revs.
DeltaFile
+73-56llvm/tools/llvm-readobj/COFFDumper.cpp
+73-561 files

LLVM/project 73344b5llvm/lib/IR DebugLoc.cpp, llvm/lib/Transforms/Utils InlineFunction.cpp

[Inliner] Use distinct DILocations and cache inlineDebugLoc by OrigDL (#204817)

Found while profiling clang compiling `SLPVectorizer.cpp`.
The call chain `DILocation::get` -> `DILocation::getImpl` ->
`llvm::getUniqued` caused lots of expensive `DenseSet` `find_as` and
`grow` operations due to the cache being really inefficient. Switch to
`DILocation::getDistinct` and cache `inlineDebugLoc` by `OrigDL` for a
more efficient cache.
DeltaFile
+25-15llvm/lib/Transforms/Utils/InlineFunction.cpp
+3-3llvm/test/Transforms/SampleProfile/pseudo-probe-emit-inline.ll
+3-2llvm/lib/IR/DebugLoc.cpp
+2-2llvm/test/DebugInfo/KeyInstructions/Generic/inline.ll
+2-2llvm/test/DebugInfo/Generic/inline-dbg-values.ll
+2-2llvm/test/DebugInfo/Generic/assignment-tracking/inline/id.ll
+37-2611 files not shown
+50-3917 files

LLVM/project 2fd8d41llvm/lib/Target/X86 X86ISelDAGToDAG.cpp, llvm/test/CodeGen/X86 pr216504.ll

[X86] Don't fold loads from non-fixed stack objects into tail calls (#221243)

Fixes #216504

The callee of a tail call can be folded into the jump as a memory
operand (`TCRETURNmi64`). That jump runs after the epilogue, so the
operand is resolved relative to the incoming stack pointer, which only
works for fixed objects such as incoming arguments. Here the callee was
a `volatile` local, so the load stayed on the stack and got folded,
while a variable-index extract from a 256-bit vector went through a
32-byte stack temporary and forced dynamic realignment. Once the stack
is realigned a local has no static offset from the incoming stack
pointer, and PEI tripped the assertion. The sibcall eligibility check
does look at realignment, but it runs before legalization, so it never
saw the temporary. Spill slots created during register allocation can
cause the same thing, so no check at that point can be complete.

The fold is now refused whenever the load's address may use a non-fixed
frame index, in `checkTCRetEnoughRegs`, which gates both the

    [5 lines not shown]
DeltaFile
+57-0llvm/test/CodeGen/X86/pr216504.ll
+34-4llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
+91-42 files

LLVM/project 1448940clang/utils/TableGen CIRLoweringEmitter.cpp

[CIR] Derive lowering attr names from cppClassName, not the def name

CIRLoweringEmitter built its CXX_ABI_ALWAYS_LEGAL_ATTRS entries with
GetOpCppClassName, which splits the TableGen def name at the first
underscore. That works only while every def is named CIR_<CppClassName>Attr.
When one is not, the emitter writes an `isa<>` for a class that does not
exist, and the failure lands as a compile error in generated code.

Attributes carry the authoritative name in cppClassName, which
GenerateAttrToValueVisitor was already reading. Factor that out as
GetAttrCppClassRef and use it for both attribute paths. GetOpCppClassName
stays for operations.

NFC, and checkable. No CIR attribute overrides cppClassName, so the generated
CIRLowering.inc is byte-identical.
DeltaFile
+16-10clang/utils/TableGen/CIRLoweringEmitter.cpp
+16-101 files

LLVM/project 13f5805clang/include/clang/CIR/Dialect/IR CIROps.td

[CIR] Migrate the FPClassTest bit enum and unquote its flags

cir.is_fp_class printed its flags inconsistently. Single-bit values came out
bare, as in `fcSNan`, while group values and combinations came out quoted, as
in `"fcInf"` and `"fcSNan|fcNegInf"`. That comes from I32BitEnumAttr setting
printBitEnumQuoted, which EnumAttr.td keeps only for backwards compatibility.

Clearing the bit and using the `enum` directive selects the separator-aware
parser and printer, so every value now spells unquoted:

  cir.is_fp_class %x, fcSNan|fcNegInf : (!cir.float) -> !cir.bool

The enum also drops its specialized IntegerAttr for a CIR_EnumAttr wrapper,
giving it the standalone spelling `#cir.fp_class<fcSNan|fcNegInf>`. This
changes operation syntax, so it updates 37 CHECK lines.
DeltaFile
+8-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+8-01 files

LLVM/project 67618a3clang/include/clang/CIR/Dialect/IR CIREnumAttr.td CIROps.td

[CIR] Drop dead ceremony around the CIR enum attributes

Five things that no longer earn their place in the CIR enum attribute
machinery.

CIR_CleanupKindAttr carried three. Its cppClassName restated the default
AttrDef already derives. Its skipDefaultBuilders plus hand-written
AttrBuilder existed only to default $value to CleanupKind::All, which no
caller relies on, so the generated builders stayed suppressed for nothing.
And its summary and description restated the name, overriding the enum's own
"cleanup kind" that EnumAttr would otherwise inherit. The isNormal, isEH and
isNormalAndEH helpers stay.

CIR_TLSModelAttr's summary restated its name the same way, so only that goes.
CIR_DefaultValuedEnumParameter has never had a user.

NFC.
DeltaFile
+0-16clang/include/clang/CIR/Dialect/IR/CIROps.td
+0-5clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
+0-212 files

LLVM/project b4bd507clang/include/clang/CIR/Dialect/IR CIROps.td

[CIR] Move the CIR enums off the legacy EnumAttrInfo hierarchy

MLIR has two enum hierarchies. `EnumAttrInfo` doubles as an `IntegerAttr`
constraint, so every CIR enum had to clear `genSpecializedAttr` to say it did
not want one. `EnumInfo` describes a C++ enum and nothing more.

Derive the CIR bases from `I32Enum`, `I64Enum` and `I32BitEnum`, and widen
`CIR_EnumAttr` to the `EnumInfo` that upstream `EnumAttr` already takes. The
flag no longer exists to clear. `FPClassTestEnum` gets unquoted printing from
`BitEnumBase` rather than overriding `printBitEnumQuoted`, and
`CIR_KnownFuncKind` drops a `parameterPrinter` the generated `operator<<`
now covers, still spelling `#cir.func_identity<"std::find">`.

AMDGPU wraps an `I32Enum` in an `EnumAttr` with this same bracketed format.
Parsing moves to the generated `FieldParser`, whose diagnostic names the
accepted spellings, so two `expected-error` lines change. Generated attribute
code drops 16 KB as 28 inlined parsers collapse into it.
DeltaFile
+0-8clang/include/clang/CIR/Dialect/IR/CIROps.td
+0-81 files

LLVM/project 8d9c175clang/include/clang/CIR/Dialect/IR CIRTypes.td CIRCUDAAttrs.td, clang/test/CIR/IR invalid-lang-attr.cir

[CIR] Move the CIR enums off the legacy EnumAttrInfo hierarchy (#220889)

MLIR has two enum hierarchies. `EnumAttrInfo` doubles as an
`IntegerAttr`
constraint, so every CIR enum had to clear `genSpecializedAttr` to say
it did
not want one. `EnumInfo` describes a C++ enum and nothing more.

Derive the CIR bases from `I32Enum`, `I64Enum` and `I32BitEnum`, and
widen
`CIR_EnumAttr` to the `EnumInfo` that upstream `EnumAttr` already takes.
The
flag no longer exists to clear. `FPClassTestEnum` gets unquoted printing
from
`BitEnumBase` rather than overriding `printBitEnumQuoted`, and
`CIR_KnownFuncKind` drops a `parameterPrinter` the generated
`operator<<`
now covers, still spelling `#cir.func_identity<"std::find">`.
DeltaFile
+33-73clang/include/clang/CIR/Dialect/IR/CIROps.td
+23-53clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+13-9clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
+2-4clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
+1-3clang/include/clang/CIR/Dialect/IR/CIRTypes.td
+1-1clang/test/CIR/IR/invalid-lang-attr.cir
+73-1431 files not shown
+74-1447 files

LLVM/project 6b9916ellvm/lib/Support Caching.cpp

review: sink is_local condition to ensure the cache directory path is already created
DeltaFile
+1-2llvm/lib/Support/Caching.cpp
+1-21 files

LLVM/project 691b2a1llvm/lib/Support Caching.cpp

review: OnNFS -> IsNFS
DeltaFile
+3-3llvm/lib/Support/Caching.cpp
+3-31 files

LLVM/project 92dd65fllvm/lib/Support Caching.cpp

[Support][Caching] Don't use `mmap` in `localCache`, on NFS

When the cache directory is on an NFS, we may hit a SIGBUS signal
when there is contention on the cache.

This happens typically with MPI jobs running on an NFS mounted $HOME
directory.

If we execute through the regular `read()` path, we also fail with a
`Stale file descriptor` error. But at least this path is properly handled
and we can continue without using the cache.

To achieve this, we pass `OnNFS` to `IsVolatile` and `RequiresNullTerminator`,
which makes `shouldUseMmap` return `false`.
DeltaFile
+4-1llvm/lib/Support/Caching.cpp
+4-11 files

LLVM/project 544171dllvm/include/llvm/Analysis MustExecute.h, llvm/lib/Analysis MustExecute.cpp

[LoopSafetyInfo] Store Loop and automatically compute (NFC) (#221238)

This makes two changes:

* LoopSafetyInfo is bound to a single loop. Store the Loop in the ctor,
so it does not need to be passed to individual queries.
* Automatically compute LoopSafetyInfo on construction, instead of in a
separate call. This is mostly to clarify that (contrary to the doc
comment) nobody is actually trying to invalidate LoopSafetyInfo by
rerunning computeLoopSafetyInfo().

This makes it easier to change implementation details, like computing
information lazily.
DeltaFile
+30-39llvm/include/llvm/Analysis/MustExecute.h
+19-25llvm/lib/Analysis/MustExecute.cpp
+8-11llvm/lib/Transforms/Scalar/LICM.cpp
+4-6llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
+2-3llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+1-2llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
+64-861 files not shown
+65-887 files

LLVM/project 41a09bellvm/lib/Transforms/Vectorize VPlanTransforms.cpp

[VPlan] Don't recompute getPlan in simplifyRecipes. NFC (#221582)

getPlan involves a traversal, so avoid doing it on every recipe
simplified.

Improves compile time:
https://llvm-compile-time-tracker.com/compare.php?from=8f7d3ba08f14c3d54b8b407d1758dbd1da01bb38&to=aaeebfa47f57bbf1bc9f26ce9a4e777939f46352&stat=instructions:u
DeltaFile
+20-23llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+20-231 files

LLVM/project 038e968lldb/test/API/commands/watchpoints/watchpoint_set_errors Makefile main.c, lldb/test/Shell/Watchpoint SetErrorCases.test

[lldb][test] Rewrite Watchpoint/SetErrorCases as API test (#221563)

This test is randomly failing on macOS bots with this error:
```
error: Command requires a process which is currently stopped.
```

There is no test logic in shell tests that can diagnose what is going on
with the process, so this patch rewrites this test as an API test where
we have better error handling.
DeltaFile
+61-0lldb/test/API/commands/watchpoints/watchpoint_set_errors/TestWatchpointSetErrors.py
+0-28lldb/test/Shell/Watchpoint/SetErrorCases.test
+0-13lldb/test/Shell/Watchpoint/Inputs/main.cpp
+9-0lldb/test/API/commands/watchpoints/watchpoint_set_errors/main.c
+3-0lldb/test/API/commands/watchpoints/watchpoint_set_errors/Makefile
+73-415 files

LLVM/project 1191f35clang/test/CodeGen ptr-subtract-stable.c, clang/test/CodeGenOpenCL size_t.cl

Reapply [Clang][CodeGen] Use ptrtoaddr for pointer diff (#210729) (#221675)

Reapply https://github.com/llvm/llvm-project/pull/210729 without change
after https://github.com/llvm/llvm-project/pull/221188, which should fix
the miscompiles this change exposed.

-----

We don't have to expose the provenance of pointers for pointer
subtraction, so use ptrtoaddr instead of ptrtoint if -fwrapv-pointer is
not set.

Co-authored-by: Alexis Engelke <engelke at in.tum.de>
DeltaFile
+1,049-1,049clang/test/OpenMP/parallel_for_codegen.cpp
+124-118clang/test/OpenMP/stripe_codegen.cpp
+82-78clang/test/OpenMP/fuse_codegen.cpp
+36-36clang/test/OpenMP/reverse_codegen.cpp
+25-17clang/test/CodeGenOpenCL/size_t.cl
+21-7clang/test/CodeGen/ptr-subtract-stable.c
+1,337-1,30511 files not shown
+1,407-1,36517 files