LLVM/project b4239f6 — llvm/include/llvm/CodeGen RegAllocEvictionAdvisor.h LiveRegMatrix.h, llvm/lib/CodeGen LiveRegMatrix.cpp

[RegAlloc] Notify every eviction advisor when a register is unassigned.

MLEvictAdvisor embeds a DefaultEvictionAdvisor, and the embedded advisor
was replacing the matrix's only unassign listener. The outer cache could
then reuse a failed canReassign after a register became free.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+37-0llvm/unittests/Target/AMDGPU/FailedReassignCacheTest.cpp
+22-11llvm/include/llvm/CodeGen/LiveRegMatrix.h
+4-3llvm/lib/CodeGen/LiveRegMatrix.cpp
+1-1llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
+64-154 files

LLVM/project 0e1bdc7 — llvm/lib/Transforms/Utils SimplifyCFG.cpp, llvm/test/Transforms/SimplifyCFG profile-regression.ll

[SimplifyCFG] Fix profiles in sinkLastInstruction (#234840)

We need to mark branch weights on sunk select instructions explicitly
unknown given we cannot infer them in the general case and pulling out
specific cases will be difficult.

Found while doing a bootstrapping build of LLVM with -mllvm
-enable-profcheck-in-pipeline.
DeltaFile
+26-1llvm/test/Transforms/SimplifyCFG/profile-regression.ll
+6-0llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+32-12 files

LLVM/project 3e903d2 — libc/src/__support/math CMakeLists.txt sinhcosh_utils.h, utils/bazel/llvm-project-overlay/libc BUILD.bazel

Also use rounding trick for small table version.
DeltaFile
+7-4libc/src/__support/math/sinhcosh_utils.h
+0-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+0-1libc/src/__support/math/CMakeLists.txt
+7-63 files

FreeBSD/ports e5a68f3 — net/dpinger Makefile distinfo

net/dpinger: Update 3.6 => 3.7

Changelog:
* Ignore SIGPIPE and handle EPIPE errors to prevent abnormal termination
  if a usocket reader closes the connection before the write call.
* Fix typos.
https://github.com/dennypage/dpinger/releases/tag/v3.7

PR:             299965
Approved by:    osa, vvd (Mentors, implicit)
MFH:            2026Q4

(cherry picked from commit 752a1a3b72a4adbc6c0c090a6219e5eaf4d3c1d2)
DeltaFile
+3-3net/dpinger/distinfo
+1-1net/dpinger/Makefile
+4-42 files

FreeBSD/ports 752a1a3 — net/dpinger Makefile distinfo

net/dpinger: Update 3.6 => 3.7

Changelog:
* Ignore SIGPIPE and handle EPIPE errors to prevent abnormal termination
  if a usocket reader closes the connection before the write call.
* Fix typos.
https://github.com/dennypage/dpinger/releases/tag/v3.7

PR:             299965
Approved by:    osa, vvd (Mentors, implicit)
MFH:            2026Q4
DeltaFile
+3-3net/dpinger/distinfo
+1-1net/dpinger/Makefile
+4-42 files

LLVM/project d1404bf — llvm/lib/Target/LoongArch LoongArchExpandPseudoInsts.cpp

LoongArch: Stop adding kill flags in LoongArchPreRAExpandPseudo (#235081)

Continue purging kill flags on virtual registers.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+9-9llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
+9-91 files

LLVM/project ba9c47c — libc/src/__support/math sinh_double_eval.h sinhcosh_accurate_128.h, libc/test/src/math sinh_test.cpp

[libc][math] Implement double precision sinh correctly rounded for all rounding modes.

- Extend even/odd polynomial evalutions of exp(x) +- exp(-x) from single precision to
double-double and 128-bit fixed point.
- Optimize range reduction using the trict from previous exp implementation, combining
with the new fp-bitwise operations, and reapply it to exp and exp2.

Assisted-by: Gemini for analysis and refactoring.
DeltaFile
+467-0libc/src/__support/math/sinhcosh_utils.h
+309-0libc/src/__support/math/sinhcosh_accurate_128.h
+237-0libc/src/__support/math/sinh_double_eval.h
+187-0libc/test/src/math/sinh_test.cpp
+123-0libc/test/src/math/smoke/sinh_test.cpp
+78-2utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+1,401-230 files not shown
+1,751-2136 files

OpenZFS/src da0903a — config kernel-crypto.m4, include/os/linux/zfs/sys zio_crypt_os.h zio_crypt_os_kcapi.h

zio_crypt_os: add Linux kernel crypto API backend

Implement the zio_crypt_os platform interface using the Linux kernel
crypto API. This provides hardware-accelerated encryption on platforms
where the ICP has none, most notably ARM.

The kernel exports these symbols GPL-only by default, so configure
selects this backend only when the kernel exports them with a license
compatible with the module's and the AEAD and hash cores (CRYPTO_AEAD2
and CRYPTO_HASH2) are enabled. A builtin build is not subject to export
licensing, but then needs those cores to be builtin as well. Otherwise
the ICP backend is used. Only the selected backend is compiled.

The backend looks up its algorithms by name at key load time, so it
declares a soft dependency on the modules providing them for initrd
builders to include.

Finally, since crypto accelerators may DMA write to keydata and
hmac_keydata, dsl_crypto_key_sync() will now put these on the heap

    [6 lines not shown]
DeltaFile
+441-0module/os/linux/zfs/zio_crypt_os_kcapi.c
+125-0config/kernel-crypto.m4
+36-0include/os/linux/zfs/sys/zio_crypt_os_kcapi.h
+11-2module/zfs/dsl_crypt.c
+9-1include/os/linux/zfs/sys/zio_crypt_os.h
+5-1module/Kbuild.in
+627-43 files not shown
+631-49 files

LLVM/project de93044 — clang/include/clang/CIR/Dialect/IR CIROps.td CIRAttrs.td, clang/lib/CIR/CodeGen CIRGenCoroutine.cpp

[CIR] Replace coroutine unit attrs on FuncOp with a CoroutineKind enum attr (#234817)

Follow-up to #203802. `cir.func` used two independent unit attributes,
`coroutine` and`flattened_coroutine`, to track whether a function is a
coroutine and whether its body has been flattened. Nothing prevented
both from being set at once, and `FlattenCFG` had to clear one and set
the other by hand. Replace them with a single optional `coroutine_kind`
attribute backed by a new `CoroutineKind` enum (`coroutine`,
`flattened_coroutine`).
DeltaFile
+16-16clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+30-0clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+1-2clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
+1-2clang/include/clang/CIR/Dialect/IR/CIROps.td
+1-1clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
+49-215 files

LLVM/project f16dbe0 — llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp, llvm/test/CodeGen/AArch64 abdu.ll neon-abd.ll

[SelectionDAG] Don't always use abs(sub) when expanding abdu (#235043)

`TargetLowering::expandABD` expands `abd(a, b)` to `abs(sub(a, b))` when
`willNotOverflowSub` says the sub can't overflow. For `abdu` without
known
non-negative operands, this checks for unsigned overflow, which only
proves
`a >= b (unsigned)`, so `abdu(a, b) == sub(a, b)`. adding abs around it
is wrong, when the
difference is greater than INT_MAX, e.g. `abdu(lshr(x, 1), or(y,
INT_MIN))`.

Keep abs(sub) for the signed check (abds, or abdu with non-negative
operands) and use just sub when abdu and `a >= b`.

Fixes #233087.
DeltaFile
+102-0llvm/test/CodeGen/X86/abdu-vector-128.ll
+57-0llvm/test/CodeGen/AArch64/neon-abd.ll
+36-0llvm/test/CodeGen/X86/abdu.ll
+25-0llvm/test/CodeGen/ARM/abdu.ll
+11-7llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+16-2llvm/test/CodeGen/AArch64/abdu.ll
+247-96 files

LLVM/project fe0fee2 — llvm/lib/Target/PowerPC PPCInstrInfo.cpp, llvm/test/CodeGen/PowerPC convert-rr-to-ri-instrs.mir convert-rr-to-ri-instrs-out-of-range.mir

PowerPC: Stop adding kill flags when promoting instructions to 64-bit (#235082)

Continue purging kill flags from virtual register cases

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+5-5llvm/test/CodeGen/PowerPC/sext_elimination.mir
+5-5llvm/test/CodeGen/PowerPC/peephole-replaceInstr-after-eliminate-extsw.mir
+1-2llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
+1-1llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs.mir
+1-1llvm/test/CodeGen/PowerPC/convert-rr-to-ri-instrs-out-of-range.mir
+13-145 files

LLVM/project d99d197 — llvm/include/llvm/CodeGen BasicBlockMatchingAndInference.h, llvm/lib/CodeGen BasicBlockSections.cpp TargetPassConfig.cpp

[Propeller] Support basic block path cloning with PropellerMatchBBID (#235080)

Previously, BasicBlockPathCloning was disabled when
basic-block-section-match-infer was enabled. When matching by BBID
(-propeller-match-bbid), run BasicBlockPathCloning before
BasicBlockMatchingAndInference and match blocks using their full
UniqueBBID (including CloneID). If a cloned block in the profile does
not exist in the MachineFunction (e.g., when its cloning path is
rejected), fall back to the original block ({BaseID, 0}) so its block
and edge weights are aggregated onto the original block and edges.
DeltaFile
+37-3llvm/test/CodeGen/X86/basic-block-sections-clusters-bbid-edges.ll
+26-2llvm/test/CodeGen/X86/basic-block-sections-clusters-bbid.ll
+13-10llvm/lib/CodeGen/BasicBlockMatchingAndInference.cpp
+4-3llvm/lib/CodeGen/TargetPassConfig.cpp
+4-0llvm/include/llvm/CodeGen/BasicBlockMatchingAndInference.h
+1-1llvm/lib/CodeGen/BasicBlockSections.cpp
+85-196 files

FreeBSD/ports d60f8d6 — net-p2p/jigdo Makefile, net-p2p/jigdo/files patch-src_scan.cc patch-src_util_configfile.cc

net-p2p/jigdo: Attempt to fix functionality issues

* jigdo-file (in configfile.cc) crashes because there is no check
  whether text is empty.
* the iso file is not generated (scan.cc) - the port is built with
  --without-libdb. In that configuration, JigdoCache leaves its
  checkFiles flag uninitialized.

While here, fix LICENSE and pet port{clippy,fmt,lint}.

PR:             298765
Approved by:    osa, vvd (Mentors, implicit)
MFH:            2026Q4

(cherry picked from commit c29ecfc1d192dd9c7504a13f52c8196d762769e2)
DeltaFile
+8-9net-p2p/jigdo/Makefile
+12-0net-p2p/jigdo/files/patch-src_util_configfile.cc
+11-0net-p2p/jigdo/files/patch-src_scan.cc
+31-93 files

NetBSD/pkgsrc-wip f3a1ef5 — 4ti2 Makefile PLIST

4ti2: Restore original configuration done by patch using configure arguments
DeltaFile
+0-1434ti2/PLIST
+4-04ti2/Makefile
+4-1432 files

FreeBSD/ports c29ecfc — net-p2p/jigdo Makefile, net-p2p/jigdo/files patch-src_scan.cc patch-src_util_configfile.cc

net-p2p/jigdo: Attempt to fix functionality issues

* jigdo-file (in configfile.cc) crashes because there is no check
  whether text is empty.
* the iso file is not generated (scan.cc) - the port is built with
  --without-libdb. In that configuration, JigdoCache leaves its
  checkFiles flag uninitialized.

While here, fix LICENSE and pet port{clippy,fmt,lint}.

PR:             298765
Approved by:    osa, vvd (Mentors, implicit)
MFH:            2026Q4
DeltaFile
+8-9net-p2p/jigdo/Makefile
+12-0net-p2p/jigdo/files/patch-src_util_configfile.cc
+11-0net-p2p/jigdo/files/patch-src_scan.cc
+31-93 files

LLVM/project 45433e7 — llvm/lib/Target/Mips MipsInstrInfo.td MicroMipsInstrInfo.td, llvm/lib/Target/Mips/MCTargetDesc MipsBaseInfo.h MipsMCTargetDesc.cpp

[Mips] Add JUMP_TARGET operand types for MIPS and microMIPS (#233566)

evaluateBranch() treated any instruction whose last operand was OPERAND_UNKNOWN or OPERAND_IMMEDIATE as a jump within the current 256 MB-aligned region. This had two problems:

* Instructions with ordinary immediate operands got bogus
  symbol/address annotations in the disassembly.
* microMIPS jumps operate within a 128 MB-aligned region, not 256 MB,
  so their computed targets were wrong.

Introduce OPERAND_JUMP_TARGET and OPERAND_JUMP_TARGET_MM, set them on
the MIPS and microMIPS jump/call target operands, and compute the target
using the correct region size for each. Only jump instructions now get a
jump-target annotation.

Co-authored-by: Faraz Shahbazker <faraz.shahbazker at mediatek.com>
DeltaFile
+23-8llvm/test/MC/Mips/micromips-jump-pc-region.s
+8-4llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
+9-0llvm/test/MC/Mips/mips-jump-pc-region.s
+3-1llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
+4-0llvm/lib/Target/Mips/MipsInstrInfo.td
+4-0llvm/lib/Target/Mips/MicroMipsInstrInfo.td
+51-132 files not shown
+53-158 files

LLVM/project 4f0f4af — llvm/include/llvm/IR RuntimeLibcalls.td, llvm/unittests/IR RuntimeLibcallsTest.cpp

RuntimeLibcalls: Split __atomic_* into a separate libatomic library (#233571)

The __atomic_* functions are not part of libgcc or the default
compiler-rt builtins. GCC ships them in libatomic, and compiler-rt in
the optional clang_rt.atomic. Every system that uses compiler-rt also lists
libatomic, so the available functions are unchanged.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+51-20llvm/include/llvm/IR/RuntimeLibcalls.td
+11-9llvm/unittests/IR/RuntimeLibcallsTest.cpp
+62-292 files

LLVM/project 2a1c62e — llvm/include/llvm/CodeGen LiveRegMatrix.h, llvm/lib/CodeGen RegAllocEvictionAdvisor.cpp FailedReassignCache.h

[RegAlloc] Cache failed canReassign searches

The eviction advisor can ask canReassign repeatedly for the same live
interval. For register classes with long allocation orders, rescanning every
candidate is expensive when the answer remains false.

Cache failed searches that examine more than the configured order-size
threshold. A failure remains valid while registers are assigned because an
assignment cannot make another physical register available. LiveRegMatrix now
notifies the advisor when an interval is unassigned so cached failures whose
slot ranges overlap the freed interval can record the affected physical
register.

On a later query, return the cached failure immediately when no relevant
unassign occurred. Otherwise, check only the freed register and its aliases
that belong to the interval's allocation order. If none are now free, retain
the failure without rescanning the full order.

Index cached intervals in slot-range buckets to limit unassign bookkeeping,

    [6 lines not shown]
DeltaFile
+305-0llvm/unittests/Target/AMDGPU/FailedReassignCacheTest.cpp
+202-0llvm/lib/CodeGen/FailedReassignCache.cpp
+132-0llvm/lib/CodeGen/FailedReassignCache.h
+115-1llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
+75-0llvm/test/CodeGen/AMDGPU/failed-reassign-cache.mir
+25-0llvm/include/llvm/CodeGen/LiveRegMatrix.h
+854-16 files not shown
+880-2612 files

LLVM/project 382b39c — llvm/include/llvm/CodeGen LiveRegMatrix.h, llvm/lib/CodeGen LiveRegMatrix.cpp

[RegAlloc] Notify every eviction advisor when a register is unassigned.

MLEvictAdvisor embeds a DefaultEvictionAdvisor, and the embedded advisor
was replacing the matrix's only unassign listener. The outer cache could
then reuse a failed canReassign after a register became free.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+37-0llvm/unittests/Target/AMDGPU/FailedReassignCacheTest.cpp
+22-11llvm/include/llvm/CodeGen/LiveRegMatrix.h
+4-3llvm/lib/CodeGen/LiveRegMatrix.cpp
+63-143 files

LLVM/project 7b86f04 — llvm/include/llvm/CodeGen SlotIndexes.h, llvm/lib/CodeGen SlotIndexes.cpp FailedReassignCache.cpp

[RegAlloc] Drop the failed-reassign cache when slot indexes are renumbered.

Bucket keys are distances, and renumberIndexes/packIndexes rewrite those
numbers without changing SlotIndex equality. A later unassign can miss the
entry and leave a stale failure, so drop the cache instead.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+59-0llvm/unittests/Target/AMDGPU/FailedReassignCacheTest.cpp
+16-6llvm/lib/CodeGen/FailedReassignCache.h
+19-1llvm/lib/CodeGen/FailedReassignCache.cpp
+8-0llvm/include/llvm/CodeGen/SlotIndexes.h
+2-0llvm/lib/CodeGen/SlotIndexes.cpp
+104-75 files

LLVM/project 46d85f7 — llvm/lib/CodeGen FailedReassignCache.cpp FailedReassignCache.h, llvm/unittests/Target/AMDGPU FailedReassignCacheTest.cpp

[RegAlloc] Do not reuse hint-only canReassign failures.

The hint set can grow without an overlapping unassign, so an empty
FreedRegs list is not proof the failure still holds.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+31-5llvm/unittests/Target/AMDGPU/FailedReassignCacheTest.cpp
+5-3llvm/lib/CodeGen/FailedReassignCache.h
+1-3llvm/lib/CodeGen/FailedReassignCache.cpp
+37-113 files

NetBSD/pkgsrc-wip fdfd3a6 — 4ti2 COMMIT_MSG Makefile, 4ti2/patches patch-configure

4ti2: Update version 1.6.15, prepare for import to pkgsrc, checking with original commiter
DeltaFile
+116-14ti2/PLIST
+0-674ti2/patches/patch-configure
+3-44ti2/distinfo
+3-34ti2/Makefile
+5-04ti2/COMMIT_MSG
+127-755 files

LLVM/project 35f0413 — llvm/include/llvm/CodeGen SlotIndexes.h, llvm/lib/CodeGen RegAllocGreedy.cpp LiveIntervals.cpp

[CodeGen] Drop dead SlotIndexes before allocation

SlotIndexes keeps the index list entry of an erased instruction and only
clears its instruction pointer. Live range sizes are measured in slot
indexes and greedy ranks ranges by size, so the leftovers inflate some
ranges more than others and reorder allocation, spilling heavily on
register-starved functions.

Add SlotIndexes::compactIndexes() to erase them. Erased entries are
unlinked, so holding an index to one is now a bug; linkedEntry() asserts
on it. The one analysis that did was LiveIntervals, so add
removeUnreferencedIntervals() to retire the intervals responsible.

Off by default behind -greedy-compact-slot-indexes, since it changes
allocation across much of the test suite.
DeltaFile
+288-0llvm/unittests/CodeGen/SlotIndexesTest.cpp
+43-0llvm/lib/CodeGen/SlotIndexes.cpp
+32-0llvm/test/CodeGen/AMDGPU/greedy-compact-slot-indexes.ll
+23-6llvm/include/llvm/CodeGen/SlotIndexes.h
+17-0llvm/lib/CodeGen/LiveIntervals.cpp
+12-1llvm/lib/CodeGen/RegAllocGreedy.cpp
+415-71 files not shown
+419-77 files

LLVM/project da1ff2f — llvm/lib/Target/AMDGPU SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU inline-asm-16bit-physreg-no-true16-err.ll

AMDGPU: Reject 16-bit physical register inline asm constraints without true16 (#235063)

Constraints naming 16-bit physical registers such as {v1.l}, {v1.h},
{s1.l} or {a1.l} were accepted on subtargets without true16, which
then hit an assertion in copyPhysReg. Report the constraint as
unallocatable instead.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+58-0llvm/test/CodeGen/AMDGPU/inline-asm-16bit-physreg-no-true16-err.ll
+5-1llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+63-12 files

LLVM/project e13668a — llvm/lib/Target/WebAssembly WebAssemblyTargetMachine.cpp WebAssemblyLowerEmscriptenEHSjLj.cpp, llvm/test/CodeGen/WebAssembly eh-option-errors.ll

WebAssembly: Use reportFatalUsageError for eh option errors (#233031)

Avoid using the deprecated report_fatal_error, and add missing
error test coverage.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+32-8llvm/test/CodeGen/WebAssembly/eh-option-errors.ll
+6-6llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+1-1llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+39-153 files

LLVM/project 4024d04 — flang/include/flang/Evaluate fold.h, flang/lib/Evaluate character-value-impl.cpp

clang-format with recent clang-format
DeltaFile
+17-18flang/lib/Evaluate/character-value-impl.cpp
+2-2flang/include/flang/Evaluate/fold.h
+19-202 files

LLVM/project 0fcb5f8 — llvm/docs AMDGPUUsage.rst, llvm/test/CodeGen/NVPTX store-sm60.ll load-sm70.ll

Merge branch 'flangast-main' into users/meinersbur/flang_KIND-detemplatization
DeltaFile
+22,584-0llvm/test/CodeGen/NVPTX/load-sm90.ll
+0-22,228llvm/docs/AMDGPUUsage.rst
+21,644-0llvm/test/CodeGen/NVPTX/store-sm90.ll
+20,068-0llvm/test/CodeGen/NVPTX/load-sm60.ll
+19,684-0llvm/test/CodeGen/NVPTX/load-sm70.ll
+19,088-0llvm/test/CodeGen/NVPTX/store-sm60.ll
+103,068-22,2282,726 files not shown
+266,043-74,1542,732 files

LLVM/project 9620483 — llvm/lib/Transforms/Utils SimplifyCFG.cpp, llvm/test/Transforms/SimplifyCFG profile-regression.ll

[SimplifyCFG] Fix profiles in hoistCommonCodeFromSuccessors (#234833)

We cannot keep branch weights here given the select condition/control
flow condition we're hoisting across might be dependent.

Found in a bootstrapping build of LLVM with -mllvm
-enable-profcheck-in-pipeline.
DeltaFile
+19-0llvm/test/Transforms/SimplifyCFG/profile-regression.ll
+6-0llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+25-02 files

LLVM/project 03cf774 — llvm/lib/Transforms/Utils SimplifyCFG.cpp, llvm/test/Transforms/SimplifyCFG preserve-branchweights-switch-create.ll

[SimplifyCFG] Propagate unknown profiles in performValueComparisonIntoPredecessorFolding (#234827)

Otherwise we get profcheck verification failures as the verifier assumes
we just did not handle this case.

This came up in a bootstrapping build of LLVM with -mllvm
-enable-profcheck-in-pipeline.
DeltaFile
+51-0llvm/test/Transforms/SimplifyCFG/preserve-branchweights-switch-create.ll
+2-0llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+53-02 files

LLVM/project bb87bbe — llvm/lib/Transforms/Utils SimplifyIndVar.cpp, llvm/test/Transforms/IndVarSimplify urem-to-select-pgo.ll

[IndVars] Synthesize profile information for urem->select folding (#231990)

In these cases we can derive the profile information from the loop trip
count assuming a couple of assumptions are met.
DeltaFile
+200-0llvm/test/Transforms/IndVarSimplify/urem-to-select-pgo.ll
+31-0llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
+0-3llvm/utils/profcheck-xfail.txt
+231-33 files