LLVM/project a9a092cllvm/lib/Target/RISCV RISCVInstrInfo.td, llvm/test/CodeGen/RISCV float-intrinsics.ll bittest.ll

[RISCV] Add isel pattern (setlt (shl X, 32), 0) -> srliw. (#178765)

DAGCombiner sometimes turns (setlt (sext_inreg, X, i32), 0) into this
now so we need another pattern.

I tried to remove the sext_inreg pattern but it seems DAGCombiner
doesn't always do this transform. I suspect it depends on if
SimplifyDemandedBits visits the setcc. We could probably make (setlt Y,
0) call SimplifyDemandedBits on itself.

Fixes #178600.
DeltaFile
+6-8llvm/test/CodeGen/RISCV/float-intrinsics.ll
+2-4llvm/test/CodeGen/RISCV/bittest.ll
+1-0llvm/lib/Target/RISCV/RISCVInstrInfo.td
+9-123 files

LLVM/project 10f2611lldb/include/lldb/Interpreter/Interfaces ScriptedFrameInterface.h, lldb/source/Plugins/Process/scripted ScriptedFrame.cpp ScriptedFrame.h

[lldb] Add support for ScriptedFrame to provide values/variables. (#178575)


This patch adds plumbing to support the implementations of StackFrame::Get{*}Variable{*} on ScriptedFrame. The major pieces required are:
- A modification to ScriptedFrameInterface, so that we can actually call the python methods.
- A corresponding update to the python implementation to call the python methods.
- An implementation in ScriptedFrame that can get the variable list on construction inside ScriptedFrame::Create, and pass that list into the ScriptedFrame so it can get those values on request.

There is a major caveat, which is that if the values from the python side don't have variables attached, right now, they won't be passed into the scripted frame to be stored in the variable list. Future discussions around adding support for 'extended variables' when printing frame variables may create a reason to change the VariableListSP into a ValueObjectListSP, and generate the VariableListSP on the fly, but that should be addressed at a later time.

This patch also adds tests to the frame provider test suite to prove these changes all plumb together correctly.

Related radar: rdar://165708771
DeltaFile
+82-0lldb/test/API/functionalities/scripted_frame_provider/test_frame_providers.py
+66-0lldb/source/Plugins/Process/scripted/ScriptedFrame.cpp
+53-0lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
+28-0lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedFramePythonInterface.cpp
+21-0lldb/source/Plugins/Process/scripted/ScriptedFrame.h
+9-0lldb/include/lldb/Interpreter/Interfaces/ScriptedFrameInterface.h
+259-02 files not shown
+269-08 files

LLVM/project 120b482llvm/lib/Target/AMDGPU AMDGPULegalizerInfo.cpp AMDGPURegisterBankInfo.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-sitofp.mir

Revert "[AMDGPU] Replace AMDGPUISD::FFBH_I32 with ISD::CTLS" (#178837)

Revert to unblock buildbot:
https://lab.llvm.org/buildbot/#/builders/206/builds/12769
DeltaFile
+10-10llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir
+2-7llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+0-7llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
+1-2llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+2-1llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
+1-1llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+16-281 files not shown
+17-297 files

FreeBSD/src efd7c55sys/powerpc/aim moea64_native.c

powerpc: disable the TLBIE lock, it's not needed for POWER8

According to POWER8_UM_v1.3_16MAR2016 3.8.3 Translation Lookaside
Buffer (TLB), POWER8 supports lockless TLBIE operations.

Locally Tested:

* IBM POWER8 Revision 2.0, dual socket, 160 threads

Differential Revision:  https://reviews.freebsd.org/D54855
Approved by:    jhibbits

(cherry picked from commit 9a5baa9c585652fb7bd4ccd45d567204caf349f2)
DeltaFile
+5-0sys/powerpc/aim/moea64_native.c
+5-01 files

FreeBSD/src f7358bcsys/powerpc/powermac platform_powermac.c

powerpc: add a best-effort SMP time base sync for G5's that need it

There's no timebase freeze platform routine registered on my dual 2.3GHz
G5 PPC970FX Apple PowerMac.

For platforms without an explicit timebase freeze/unfreeze, we'll have to
make do with what we have - which for now is an explicit hand-crafted
spinlock/rendezvous method.

* For existing platforms, they'll still continue to clock freeze /
  rendezvous; albeit with some stronger atomic bits now (from jhibbits@.)
* Instead of the fallback being "no timesync", implement a
  best-effort one which does a similar rendezvous barrier between
  BSP and APs, but instead of freeze/unfreeze the first instruction
  after the CPUs all register they're ready is to set the timebase.

This has resulted in many reboots of my Powermac G5 dual-socket device
correctly starting and running in SMP mode.


    [4 lines not shown]
DeltaFile
+90-9sys/powerpc/powermac/platform_powermac.c
+90-91 files

FreeBSD/src 8baa4e9release/powerpc mkisoimages.sh

powerpc: fix release image building for Apple partitions

awk changed somewhere between 14 and 15 and it stopped accepting
a hexadecimal number as its input - it will always return 0.
This results in a very badly written apple boot block.

So just remove it; do the math in shell.

PR:             kern/292341
Differential Revision:  https://reviews.freebsd.org/D54639
Reviewed by:    imp
MFC after:      1 week

(cherry picked from commit 7afa03963c448a14b1735a10eaf84941b0b74862)
DeltaFile
+1-1release/powerpc/mkisoimages.sh
+1-11 files

FreeBSD/src 6665996sys/powerpc/powerpc swtch32.S swtch64.S

powerpc: put the isync inside the TD_LOCK() checking loop

Fix a narrow window where the lock is unlocked but the checking CPU
hasn't flushed things appropriately.

Inside this window the CPU inside cpu_switch() will loop forever thinking
the destination thread is still blocked/locked even though it is not.

This manifests as the system hanging after starting all APs.

I've seen this reliably trigger in qemu-system-ppc64 running power9 pseries
guests; the more CPUs the more likely it triggers at boot.

PR: kern/292167
Differential Revision:  https://reviews.freebsd.org/D54478
Reviewed by:    jhibbits
MFC after:      1 week
Relnotes:       yes

(cherry picked from commit 8df2e542146801fd01675e56724eaa567d04c209)
DeltaFile
+1-1sys/powerpc/powerpc/swtch32.S
+1-1sys/powerpc/powerpc/swtch64.S
+2-22 files

FreeBSD/src 0a45c88sys/powerpc/aim moea64_native.c

powerpc: disable the TLBIE lock, it's not needed for POWER8

According to POWER8_UM_v1.3_16MAR2016 3.8.3 Translation Lookaside
Buffer (TLB), POWER8 supports lockless TLBIE operations.

Locally Tested:

* IBM POWER8 Revision 2.0, dual socket, 160 threads

Differential Revision:  https://reviews.freebsd.org/D54855
Approved by:    jhibbits

(cherry picked from commit 9a5baa9c585652fb7bd4ccd45d567204caf349f2)
DeltaFile
+5-0sys/powerpc/aim/moea64_native.c
+5-01 files

FreeBSD/src b30d064sys/powerpc/powermac platform_powermac.c

powerpc: add a best-effort SMP time base sync for G5's that need it

There's no timebase freeze platform routine registered on my dual 2.3GHz
G5 PPC970FX Apple PowerMac.

For platforms without an explicit timebase freeze/unfreeze, we'll have to
make do with what we have - which for now is an explicit hand-crafted
spinlock/rendezvous method.

* For existing platforms, they'll still continue to clock freeze /
  rendezvous; albeit with some stronger atomic bits now (from jhibbits@.)
* Instead of the fallback being "no timesync", implement a
  best-effort one which does a similar rendezvous barrier between
  BSP and APs, but instead of freeze/unfreeze the first instruction
  after the CPUs all register they're ready is to set the timebase.

This has resulted in many reboots of my Powermac G5 dual-socket device
correctly starting and running in SMP mode.


    [4 lines not shown]
DeltaFile
+90-9sys/powerpc/powermac/platform_powermac.c
+90-91 files

FreeBSD/src c443f5dshare/man/man9 intro.9

intro.9: grammar
DeltaFile
+1-1share/man/man9/intro.9
+1-11 files

FreeBSD/src 7f537f4share/man/man9 intro.9

intro.9: deduplicate vm_page Xrs

PR:             292820
Submitted by:   Kraytonian
MFC after:      1 week
DeltaFile
+0-2share/man/man9/intro.9
+0-21 files

LLVM/project ed26a4bclang/include/clang/Basic BuiltinsAMDGPU.td, clang/test/Sema wave-reduce-builtins-validate-amdgpu.cl

Mark stratergy argument as constant
DeltaFile
+86-0clang/test/Sema/wave-reduce-builtins-validate-amdgpu.cl
+26-26clang/include/clang/Basic/BuiltinsAMDGPU.td
+112-262 files

LLVM/project b3c8562clang/include/clang/Basic BuiltinsAMDGPU.td, clang/lib/CodeGen/TargetBuiltins AMDGPU.cpp

[AMDGPU] Add builtins for wave reduction intrinsics
DeltaFile
+84-0clang/test/CodeGenOpenCL/builtins-amdgcn.cl
+8-0clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
+4-0clang/include/clang/Basic/BuiltinsAMDGPU.td
+96-03 files

LLVM/project fff45e7llvm/docs AMDGPUUsage.rst

Modelled fmin/fmax similar to llvm.minimumnum/maximumnum
DeltaFile
+8-2llvm/docs/AMDGPUUsage.rst
+8-21 files

LLVM/project 9a27389llvm/docs AMDGPUUsage.rst

[AMDGPU] Update documentation for wave reduction intrinsics
DeltaFile
+70-4llvm/docs/AMDGPUUsage.rst
+70-41 files

LLVM/project 18fd307llvm/lib/Target/AMDGPU SIISelLowering.cpp

Use getRegClass() API
DeltaFile
+1-2llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+1-21 files

LLVM/project 6bba170lld/ELF Relocations.cpp

[ELF] Remove unneeded -z ifunc-noplt check. NFC

The `isIfunc && zIfuncNoplt` code path does not use the RelExpr, so we
don't need to adjust it.
DeltaFile
+1-1lld/ELF/Relocations.cpp
+1-11 files

LLVM/project c4528aallvm/lib/Target/AMDGPU SIISelLowering.cpp

Don't use the pseudo as a case label.
DeltaFile
+17-23llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+17-231 files

LLVM/project 6f3a197llvm/lib/Target/AMDGPU SIISelLowering.cpp

Refactor code and add some comments
DeltaFile
+8-5llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+8-51 files

LLVM/project b0ef64dllvm/lib/Target/AMDGPU SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.reduce.fadd.ll llvm.amdgcn.reduce.fsub.ll

Use _pseudo instead of _gfx12 encoding, plus minor code cleanup
DeltaFile
+19-14llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+4-4llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
+4-4llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll
+27-223 files

LLVM/project 0ed2fd7llvm/lib/Target/AMDGPU SIISelLowering.cpp

Use pseudo opcode for switch statements
DeltaFile
+9-9llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+9-91 files

LLVM/project f278902llvm/lib/Target/AMDGPU SIISelLowering.cpp

    Avoid generation check in callee function
DeltaFile
+17-7llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+17-71 files

LLVM/project 29b0208llvm/lib/Target/AMDGPU SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.reduce.fadd.ll

use `v_mul_f64_pseudo_e64`
DeltaFile
+3-3llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
+1-1llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+4-42 files

LLVM/project ac878edllvm/lib/Target/AMDGPU SIISelLowering.cpp

Use `WAVE_REDUCE_FSUB_PSEUDO_F64` in switch statements
DeltaFile
+17-13llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+17-131 files

LLVM/project 5d335d7llvm/lib/Target/AMDGPU SIISelLowering.cpp

Use enum values for source modifiers
DeltaFile
+3-3llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+3-31 files

LLVM/project 5f82668llvm/lib/Target/AMDGPU SIISelLowering.cpp

Use `e32` encoding as placeholder
DeltaFile
+9-9llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+9-91 files

LLVM/project 9aec66dllvm/lib/Target/AMDGPU SIISelLowering.cpp SIInstructions.td, llvm/test/CodeGen/AMDGPU llvm.amdgcn.reduce.fadd.ll llvm.amdgcn.reduce.fsub.ll

[AMDGPU] Add wave reduce intrinsics for double types - 2

Supported Ops: `add`, `sub`
DeltaFile
+1,115-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fadd.ll
+1,102-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.reduce.fsub.ll
+76-19llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+2-0llvm/lib/Target/AMDGPU/SIInstructions.td
+2,295-194 files

LLVM/project ddc5fa3llvm/lib/Target/AMDGPU SIISelLowering.cpp

Use enum values for src modifiers.
DeltaFile
+8-8llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+8-81 files

LLVM/project cbec464llvm/lib/Target/AMDGPU SIISelLowering.cpp

Running clang format
DeltaFile
+1-2llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+1-21 files

OpenBSD/src GcgzPRasys/net80211 ieee80211_input.c

   Update ni_rssi only with good rxi_rssi in ieee80211_inputm()

   Some drivers don't report rssi here. This causes good value from other
   places replaced with 0, leading to annoying UI oscillation.

   OK stsp@ phessler@
VersionDeltaFile
1.258+4-2sys/net80211/ieee80211_input.c
+4-21 files