LLVM/project 1e5adb0llvm/lib/Transforms/InstCombine InstructionCombining.cpp, llvm/test/Transforms/InstCombine select-binop-associative-prof.ll

[InstCombine] Preserve !prof metadata when creating select instructions.
DeltaFile
+19-0llvm/test/Transforms/InstCombine/select-binop-associative-prof.ll
+3-1llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+22-12 files

LLVM/project 7b9b88fllvm/lib/Transforms/InstCombine InstructionCombining.cpp, llvm/test/Transforms/InstCombine branch.ll

[InstCombine][profcheck] Propogate profile metadata when transforming br (X && !Y) to br (!X || Y)

Updated visitBranchInst to propagate and swap !prof metadata when transforming br (X && !Y) to br (!X || Y).
DeltaFile
+21-13llvm/test/Transforms/InstCombine/branch.ll
+12-0llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+33-132 files

LLVM/project ac454a2mlir/lib/Dialect/Tosa/IR TosaOps.cpp, mlir/test/Dialect/Tosa tosa-infer-shapes.mlir

[mlir][tosa] Guard pooling shape inference on unranked inputs (#177999)

Fix #177946

poolingInferReturnTypes didn't properly guard the unknown rank,
triggering an assertion in ShapeAdaptor::getDimSize.
DeltaFile
+9-0mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
+1-1mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
+10-12 files

LLVM/project 528c99dllvm/lib/Analysis ValueTracking.cpp

ValueTracking: Use m_CheckedFp in isKnownIntegral (#178019)

DeltaFile
+1-20llvm/lib/Analysis/ValueTracking.cpp
+1-201 files

LLVM/project 5582f29llvm/docs ReleaseNotes.md

Release note
DeltaFile
+2-0llvm/docs/ReleaseNotes.md
+2-01 files

LLVM/project d39f030llvm/lib/CodeGen/SelectionDAG LegalizeFloatTypes.cpp LegalizeTypes.h

Delete the implementation functions
DeltaFile
+0-655llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+0-37llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
+0-6922 files

LLVM/project 80e5ab9llvm/include/llvm/CodeGen TargetLowering.h, llvm/lib/CodeGen TargetLoweringBase.cpp

DAG: Remove softPromoteHalfType

Remove the now unimplemented target hook and associated DAG machinery
for the old half legalization path.

Really fixes #97975
DeltaFile
+7-22llvm/include/llvm/CodeGen/TargetLowering.h
+0-20llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+0-11llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+2-7llvm/lib/CodeGen/TargetLoweringBase.cpp
+0-8llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
+0-2llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+9-701 files not shown
+9-717 files

LLVM/project 89e38d6llvm/lib/Target/AMDGPU SIInsertWaitcnts.cpp

[AMDGPU][SIInsertWaitcnts][NFC] Move static array definition (#178014)

Move the array out of the member function.
DeltaFile
+31-35llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+31-351 files

LLVM/project 6b9c9edllvm/lib/Transforms/Vectorize SLPVectorizer.cpp

Fix formatting

Created using spr 1.3.7
DeltaFile
+2-2llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+2-21 files

LLVM/project 4d460d6lldb/test/API/functionalities/process_save_core TestProcessSaveCore.py

[lldb][windows] fix ProcessSaveCoreTestCase.test_save_core_to_nonwritable_dir (#178016)

This patch fixes the
`ProcessSaveCoreTestCase.test_save_core_to_nonwritable_dir` test on
Windows.

This test fails on Windows because `os.chmod` does not work on Windows.
It was used to make the directory unwritable.

[`icacls`](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/icacls)
can be used instead to block the directory.

This is a followup to https://github.com/llvm/llvm-project/pull/177496.
DeltaFile
+15-3lldb/test/API/functionalities/process_save_core/TestProcessSaveCore.py
+15-31 files

LLVM/project 680388alldb/packages/Python/lldbsuite/test/tools/lldb-dap dap_server.py

[lldb-dap] Fix assertion on the recv thread. (#177977)

threading.current_thread is a function
DeltaFile
+1-1lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
+1-11 files

LLVM/project 6c9fc1bllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 deleted-instructions-clear.ll vec_list_bias_external_insert_shuffled.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+110-25llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+16-15llvm/test/Transforms/SLPVectorizer/X86/deleted-instructions-clear.ll
+12-14llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll
+12-13llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
+12-13llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
+162-805 files

LLVM/project 51f4c5eclang-tools-extra/clang-tidy/readability ContainerContainsCheck.cpp ContainerContainsCheck.h

[clang-tidy] Speed up `readability-container-contains` (#175121)

This is currently one of our most expensive checks according to
`--enable-check-profile`. I measured using [the usual
setup](https://github.com/llvm/llvm-project/pull/174357#issue-3780188615):
```sh
hyperfine \
    --shell=none \
    --prepare='cmake --build build/release --target clang-tidy' \
    './build/release/bin/clang-tidy --checks=-*,readability-container-contains all_headers.cpp -header-filter=.* -system-headers -- -std=c++23 -fno-delayed-template-parsing'
```

First, the status quo:
```txt
  Time (mean ± σ):      5.243 s ±  0.158 s    [User: 4.964 s, System: 0.248 s]
  Range (min … max):    5.133 s …  5.612 s    10 runs
```
This PR improves that in two independent commits. The first commit
changes the default traversal mode from `TK_AsIs` to

    [12 lines not shown]
DeltaFile
+28-48clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.cpp
+1-1clang-tools-extra/clang-tidy/readability/ContainerContainsCheck.h
+29-492 files

LLVM/project 794a96aclang/lib/Parse ParsePragma.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.6
DeltaFile
+1-1clang/lib/Parse/ParsePragma.cpp
+1-11 files

LLVM/project 7fd2056llvm/lib/Analysis ScalarEvolution.cpp, llvm/test/Analysis/ScalarEvolution ptrtoaddr.ll ptrtoaddr-i32-index-width.ll

[SCEV] Sink SCEVPtrToAddr to leaf SCEVUnknowns. (#174437)

Use CastSinkingRewriter for SCEVPtrToAddr expressions as well, sinking
them the same as SCEVPtrToInt expressions.

Depends on https://github.com/llvm/llvm-project/pull/174435 
and https://github.com/llvm/llvm-project/pull/158032.

PR: https://github.com/llvm/llvm-project/pull/174437
DeltaFile
+21-28llvm/lib/Analysis/ScalarEvolution.cpp
+19-1llvm/test/Analysis/ScalarEvolution/ptrtoaddr.ll
+1-1llvm/test/Analysis/ScalarEvolution/ptrtoaddr-i32-index-width.ll
+41-303 files

LLVM/project c4585b4lldb/include/lldb/Host ProcessLaunchInfo.h, lldb/source/Host/windows ProcessLauncherWindows.cpp

[lldb][windows] do not attach to a PseudoConsole if it is not opened (#177934)

# Summary

This patch ensures lldb will not try to read from a PseudoConsole if it
has not been opened.

# Original issue

https://github.com/llvm/llvm-project/pull/168729 introduces support for
the Windows ConPTY in `lldb-dap`. This caused a regression in `lldb`
which was not caught by our tests:
https://github.com/llvm/llvm-project/issues/175652.

This patch fixes https://github.com/llvm/llvm-project/issues/175652.

`lldb_private::ProcessLauncherWindows::LaunchProcess` connects the
debuggee to a PseudoConsole only if:
```cpp

    [15 lines not shown]
DeltaFile
+8-8lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
+12-0lldb/include/lldb/Host/ProcessLaunchInfo.h
+4-3lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
+1-3lldb/source/Host/windows/ProcessLauncherWindows.cpp
+25-144 files

LLVM/project ab310f3llvm/lib/Analysis ValueTracking.cpp

ValueTracking: Use m_CheckedFp in isKnownIntegral
DeltaFile
+1-20llvm/lib/Analysis/ValueTracking.cpp
+1-201 files

LLVM/project a25c7d7llvm/include/llvm/Analysis ValueTracking.h, llvm/lib/Analysis ValueTracking.cpp

ValueTracking: Extract isKnownIntegral out of AMDGPU (#177912)

Also do some basic conversions to use SimplifyQuery and add tests to
show assume works in a new context.
DeltaFile
+14-88llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
+67-0llvm/lib/Analysis/ValueTracking.cpp
+38-0llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
+5-0llvm/include/llvm/Analysis/ValueTracking.h
+124-884 files

LLVM/project 6039b47llvm/lib/Target/AMDGPU R600ISelLowering.cpp, llvm/test/CodeGen/AMDGPU kernel-args.ll

Reapply "R600: Remove softPromoteHalfType (#177420)" (#178013)

This reverts commit 38b7176c92f31c274226ff418891545046dcf1f0.
DeltaFile
+174-0llvm/test/CodeGen/AMDGPU/kernel-args.ll
+11-4llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
+185-42 files

LLVM/project 674b020llvm/lib/Target/RISCV RISCVInstrInfo.cpp RISCVInstrInfo.h, llvm/test/CodeGen/RISCV machine-outliner-call-reg-live-across.mir

[RISC-V] Fix outliner candidate analysis (#177126)

When analyzing outliner candidates, there is no check that the tail-call
expansion register is live across the candidate call site. That can
result in a situation where the original function sets the volatile
register and uses it in the section that gets outlined. This of course
results in the use of the register receiving the incorrect value. Namely
the address of the outlined function since that is what the tail-call
sequence placed in the register.
DeltaFile
+354-0llvm/test/CodeGen/RISCV/machine-outliner-call-reg-live-across.mir
+22-6llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
+1-0llvm/lib/Target/RISCV/RISCVInstrInfo.h
+377-63 files

LLVM/project 8d28955llvm/lib/Transforms/InstCombine InstructionCombining.cpp, llvm/test/Transforms/InstCombine select-binop-associative-prof.ll

[InstCombine] Preserve !prof metadata when creating select instructions.
DeltaFile
+19-0llvm/test/Transforms/InstCombine/select-binop-associative-prof.ll
+3-1llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+22-12 files

LLVM/project 9297558llvm/lib/Transforms/InstCombine InstructionCombining.cpp, llvm/test/Transforms/InstCombine branch.ll

[InstCombine][profcheck] Propogate profile metadata when transforming br (X && !Y) to br (!X || Y)

Updated visitBranchInst to propagate and swap !prof metadata when transforming br (X && !Y) to br (!X || Y).
DeltaFile
+18-7llvm/test/Transforms/InstCombine/branch.ll
+12-0llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+30-72 files

LLVM/project 0ae2043llvm/test/CodeGen/AMDGPU amdgcn.bitcast.512bit.ll

AMDGPU: Disable machine verifier for gfx6 run line in test (#178008)

Hack around expensive checks failures for now.
DeltaFile
+1-1llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+1-11 files

LLVM/project c9e0cf1llvm/include/llvm/Target TargetSelectionDAG.td, llvm/lib/Target/AMDGPU AMDGPUInstructions.td

[AMDGPU] Update patterns for v_cvt_flr and v_cvt_rpi (#177962)

Support GlobalISel and switch to checking `nnan` flag on instruction
instead of TargetOptions.
    
Instruction are renamed to v_cvt_floor and v_cvt_nearest on gfx11+
so add gfx11 tests as well.
DeltaFile
+289-39llvm/test/CodeGen/AMDGPU/cvt_flr_i32_f32.ll
+248-36llvm/test/CodeGen/AMDGPU/cvt_rpi_i32_f32.ll
+11-9llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
+8-0llvm/include/llvm/Target/TargetSelectionDAG.td
+3-0llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
+2-1llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
+561-856 files

LLVM/project ecb1b0bmlir/lib/Bindings/Python IRCore.cpp

[MLIR][Python] Fix overly specific type annotation on PyValue.owner (#178003)

DeltaFile
+2-1mlir/lib/Bindings/Python/IRCore.cpp
+2-11 files

LLVM/project bcf6d52llvm/test/MC/RISCV zibi-valid.s

[RISCV] Test Zibi relocation type (#177896)

Zibi beqi/bnei (#127463) use a modified B-type format (replace `rs2`
with `cimm`) and reuse the R_RISCV_BRANCH relocation type.
DeltaFile
+6-1llvm/test/MC/RISCV/zibi-valid.s
+6-11 files

LLVM/project a2cf1d9llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.960bit.ll, polly/lib/External/isl/include/isl typed_cpp.h cpp.h

rebase

Created using spr 1.3.6
DeltaFile
+52,760-0polly/lib/External/isl/include/isl/typed_cpp.h
+19,051-23,588llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+30,864-0polly/lib/External/isl/include/isl/cpp.h
+21,192-0polly/lib/External/isl/include/isl/cpp-checked.h
+19,097-0polly/lib/External/isl/interface/isl.py.core
+7,381-11,318llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+150,345-34,906778 files not shown
+250,094-135,053784 files

LLVM/project 5aff076llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.960bit.ll, polly/lib/External/isl/include/isl typed_cpp.h cpp.h

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.6

[skip ci]
DeltaFile
+52,760-0polly/lib/External/isl/include/isl/typed_cpp.h
+19,051-23,588llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+30,864-0polly/lib/External/isl/include/isl/cpp.h
+21,192-0polly/lib/External/isl/include/isl/cpp-checked.h
+19,097-0polly/lib/External/isl/interface/isl.py.core
+7,381-11,318llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+150,345-34,906778 files not shown
+250,094-135,053784 files

LLVM/project fc6a5edllvm/lib/Transforms/Utils MemoryTaggingSupport.cpp, llvm/test/CodeGen/AArch64 stack-tagging-split-lifetime.ll stack-tagging-untag-placement.ll

[HWASan] [MTE] use precise lifetimes even if they don't cover all exits

Previously, for performance reasons, we would only use precise lifetimes
if they cover all reachable exits. Now, if they do not, we use precise
lifetimes in addition to untagging at every exit that is not dominated
by them.

This is the behavior of ASan.

Reviewers: vitalybuka, pcc

Pull Request: https://github.com/llvm/llvm-project/pull/174875
DeltaFile
+417-14llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
+46-2llvm/test/CodeGen/AArch64/stack-tagging-split-lifetime.ll
+9-19llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
+4-2llvm/test/CodeGen/AArch64/stack-tagging-untag-placement.ll
+2-1llvm/test/CodeGen/AArch64/stack-tagging-ex-1.ll
+478-385 files

LLVM/project c327d46llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel llvm.amdgcn.fract.ll llvm.amdgcn.frexp.mant.ll

[AMDGPU][GlobalISel] Add frexp_mant/fract intrinsic RegBankLegalize r… (#177512)

…ules
DeltaFile
+96-0llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.fract.ll
+76-0llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.frexp.mant.ll
+8-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+180-03 files