LLVM/project 763aec0lldb/source/Host/common NativeProcessProtocol.cpp, lldb/source/Plugins/Process/elf-core ProcessElfCore.cpp

[lldb] Adopt ProcessAddress in the read memory APIs (NFC) (#214088)

Relevant RFC:
https://discourse.llvm.org/t/rfc-address-spaces-support-in-lldb/91222/

Previous PR  #206370  adding the AddressSpace definitions. 


- switches the read memory virtuals from lldb::addr_t to const
ProcessAddress & and updates every override. No behavior change
expected.
 

**Test Plan**
- Depending on the buildbots for all other platforms.
DeltaFile
+10-7lldb/unittests/Target/MemoryTest.cpp
+6-4lldb/source/Target/ProcessTrace.cpp
+6-4lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
+6-4lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
+6-4lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
+6-4lldb/source/Host/common/NativeProcessProtocol.cpp
+40-2742 files not shown
+143-10748 files

LLVM/project 23b24afllvm/lib/Target/WebAssembly WebAssemblyInstrSIMD.td, llvm/test/CodeGen/WebAssembly f16-intrinsics.ll

[WebAssembly] Add v8f16 select instruction patterns (#213280)

I see the following 

```
 anutosh491 at Anutoshs-MacBook-Air llvm-project % cat /private/tmp/wasm-f16-select.ll
define <8 x half> @select_v8f16(i1 %cond, <8 x half> %a, <8 x half> %b) {
  %result = select i1 %cond, <8 x half> %a, <8 x half> %b
  ret <8 x half> %result
}
```
```

 anutosh491 at Anutoshs-MacBook-Air llvm-project % build-assert/bin/llc \             
  -mtriple=wasm32-unknown-unknown \
  -mattr=+simd128,+fp16 \
  -o /dev/null \
  /private/tmp/wasm-f16-select.ll
LLVM ERROR: Cannot select: t8: v8f16 = select t12, t4, t6

    [33 lines not shown]
DeltaFile
+33-0llvm/test/CodeGen/WebAssembly/f16-intrinsics.ll
+2-2llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
+35-22 files

LLVM/project 0207706orc-rt/include/orc-rt NativeDylibManager.h

[orc-rt] Add missing `#include <optional>` (#216894)
DeltaFile
+2-0orc-rt/include/orc-rt/NativeDylibManager.h
+2-01 files

LLVM/project 93030c3llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/X86 abdu.ll

[SDAG] Fix invalid sign bit condition for abs(sub) -> abdu fold (#215548)

The fold here for (abs (sub x y)) -> (abdu x y) was proven in Alive,
assuming that both operands had a sign bit of zero. However, the code
was checking if x had a sign bit of zero and y had a sign bit of 1

Fixes https://github.com/llvm/llvm-project/issues/214942

Original Alive proof from
https://github.com/llvm/llvm-project/pull/186659 :
https://alive2.llvm.org/ce/z/HfPF5q
A variant that's explicitly (abs (sub x y)):
https://alive2.llvm.org/ce/z/QEgDaa
And changing the range to 32770 or higher there will break the
transformation
DeltaFile
+30-0llvm/test/CodeGen/X86/abdu.ll
+2-2llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+32-22 files

LLVM/project 7b2a985lldb/source/Expression DWARFExpression.cpp, lldb/unittests/Expression DWARFExpressionTest.cpp

[lldb] Keep DW_OP_fbreg results address-sized (#216641)

DW_OP_fbreg adds its signed displacement as an int64_t, which can widen
a 32-bit frame-base Scalar to 64 bits. Canonicalize the pushed result
using the evaluator's existing generic conversion so subsequent
arithmetic uses the target address width.

Add an i386 regression test that checks 32-bit wrapping and the
resulting APSInt width.

Fixes #211007
DeltaFile
+36-0lldb/unittests/Expression/DWARFExpressionTest.cpp
+2-0lldb/source/Expression/DWARFExpression.cpp
+38-02 files

LLVM/project fc04134llvm/lib/Target/NVPTX CMakeLists.txt, llvm/utils/gn/secondary/llvm/lib/Target/NVPTX BUILD.gn

[NVPTX] Fix link error when building LLVM with dylib
DeltaFile
+2-0llvm/utils/gn/secondary/llvm/lib/Target/NVPTX/BUILD.gn
+2-0llvm/lib/Target/NVPTX/CMakeLists.txt
+4-02 files

LLVM/project 2e5c3f6llvm/test/Transforms/PGOProfile memprof.ll

don't test on windows
DeltaFile
+2-0llvm/test/Transforms/PGOProfile/memprof.ll
+2-01 files

LLVM/project ccef5b7llvm/test/CodeGen/AMDGPU flat-saddr-atomics.ll llvm.amdgcn.wmma.imm.gfx1250.w32.ll

[AMDGPU] Improve the sequence for initial unclaused VMEM

Fixes LCOMPILER-2619.
DeltaFile
+250-250llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.gfx1250.w32.ll
+232-232llvm/test/CodeGen/AMDGPU/flat-saddr-load.ll
+196-196llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imod.gfx1250.w32.ll
+183-183llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
+174-174llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wmma.imm.gfx1250.w32.ll
+166-166llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
+1,201-1,201204 files not shown
+6,524-6,326210 files

LLVM/project 9b2118cbolt/include/bolt/Core BinaryContext.h, bolt/include/bolt/Passes LongJmp.h

[BOLT][AArch64] Add call relaxation pass (#173952)

Add a function call relaxation pass that groups functions into clusters,
each with a maximum size of 128MB. This pass is enabled using the
`--relax-exp` option.

* Within each cluster: function calls do not require relaxation.

* Between clusters: thunks are created at the cluster boundaries to
handle inter-cluster calls. These thunks can be either short or long,
depending on the proximity of the thunk destination. When possible, a
long thunk may be shared by both adjacent clusters.

* Hot functions: if all hot functions (after reordering) fit within a
single cluster (under 128MB), no thunks are needed on the hot path, as
determined by the profile.

* PLT behavior: for the Procedure Linkage Table (PLT), it is currently
assumed that the hottest cluster will be placed adjacent to the PLT, so

    [8 lines not shown]
DeltaFile
+316-2bolt/lib/Passes/LongJmp.cpp
+78-0bolt/test/AArch64/relax-exp.s
+41-0bolt/include/bolt/Passes/LongJmp.h
+11-1bolt/include/bolt/Core/BinaryContext.h
+8-2bolt/lib/Core/BinaryContext.cpp
+5-3bolt/lib/Passes/BinaryPasses.cpp
+459-81 files not shown
+462-87 files

LLVM/project 9f05d1fllvm/test/Transforms/PGOProfile memprof-inline-call-stacks.ll

Remove unneeded lines
DeltaFile
+0-94llvm/test/Transforms/PGOProfile/memprof-inline-call-stacks.ll
+0-941 files

LLVM/project ecdcdf0llvm/test/CodeGen/AMDGPU rewrite-vgpr-mfma-to-agpr-spill-joint-dom-mir.mir

[AMDGPU] Fix MIR test by adding stackPtrOffsetReg (#216866)

Otherwise, the test fails with expensive_checks.
DeltaFile
+2-0llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-joint-dom-mir.mir
+2-01 files

LLVM/project 85e76ecclang/lib/Frontend CompilerInvocation.cpp, clang/test/Driver lto.c

[Driver] Treat -O4 as -O3 in clang::getOptimizationLevel, which is called when building LTO link command (#216450)

#169762 (commit e60a69ab8a9e7) replaced the -O option handling in
`tools::addLTOOptions` with `getOptimizationLevel()`, but
`getOptimizationLevel` doesn't expect -O4, while `addLTOOptions` used to
accept and without diagnostics. Teach `getOptimizationLevel` about -O4
and don't diagnose to revert to the old behavior.

---------

Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>
DeltaFile
+2-1clang/lib/Frontend/CompilerInvocation.cpp
+2-0clang/test/Driver/lto.c
+4-12 files

LLVM/project dbf0a16llvm/test/Transforms/PGOProfile memprof.ll, llvm/test/Transforms/PGOProfile/Inputs memprof.nocolinfo.memprofraw memprof.nocolinfo.exe

[NFC][MemProf] Replace memprofraw with YAML in memprof.ll test
DeltaFile
+205-49llvm/test/Transforms/PGOProfile/memprof.ll
+0-96llvm/test/Transforms/PGOProfile/Inputs/update_memprof_inputs.sh
+0-60llvm/test/Transforms/PGOProfile/Inputs/memprof_pgo.proftext
+0-0llvm/test/Transforms/PGOProfile/Inputs/memprof.nocolinfo.memprofraw
+0-0llvm/test/Transforms/PGOProfile/Inputs/memprof.nocolinfo.exe
+0-0llvm/test/Transforms/PGOProfile/Inputs/memprof.memprofraw
+205-2056 files

LLVM/project a7bf990llvm/test/Transforms/PGOProfile memprof.ll

Replace GUIDs with names
DeltaFile
+43-43llvm/test/Transforms/PGOProfile/memprof.ll
+43-431 files

LLVM/project 1a5de2fllvm/test/Transforms/PGOProfile/Inputs memprof.exe

remove memprof.exe
DeltaFile
+0-0llvm/test/Transforms/PGOProfile/Inputs/memprof.exe
+0-01 files

LLVM/project efb5e00clang/test/CodeGen/Inputs memprof.memprofraw memprof.exe

remove memprof.exe
DeltaFile
+0-0clang/test/CodeGen/Inputs/memprof.memprofraw
+0-0clang/test/CodeGen/Inputs/memprof.exe
+0-02 files

LLVM/project 8412b91llvm/test/Transforms/PGOProfile memprof-inline-call-stacks.ll

Replace GUIDs with names
DeltaFile
+43-43llvm/test/Transforms/PGOProfile/memprof-inline-call-stacks.ll
+43-431 files

LLVM/project 8098543llvm/test/Transforms/PGOProfile memprof-inline-call-stacks.ll

[NFC][MemProf] Use YAML in memprof-inline-call-stacks.ll
DeltaFile
+117-3llvm/test/Transforms/PGOProfile/memprof-inline-call-stacks.ll
+117-31 files

LLVM/project 9916515clang/test/CodeGen/Inputs update_memprof_inputs.sh

Remove clang/test/CodeGen/Inputs/update_memprof_inputs.sh
DeltaFile
+0-17clang/test/CodeGen/Inputs/update_memprof_inputs.sh
+0-171 files

LLVM/project b34d824clang/test/CodeGen memprof.cpp

[NFC][MemProf] Replace memprofraw with YAML in memprof.cpp test
DeltaFile
+25-11clang/test/CodeGen/memprof.cpp
+25-111 files

LLVM/project e67735cllvm/test/Transforms/PGOProfile memprofmissingfunc.ll

[NFC][MemProf] Replace memprofraw with YAML in memprofmissingfunc.ll test

Use split-file to create a basic `.memprofdata` file to be used in the test.  This also allows us to remove the REQUIRES because we are no longer reading a binary file.
DeltaFile
+12-10llvm/test/Transforms/PGOProfile/memprofmissingfunc.ll
+12-101 files

LLVM/project f431b45flang/lib/Optimizer/Transforms AddAliasTags.cpp, flang/test/Fir tbaa-value-dummy-arg-dse.ll

[flang] Fix incorrect DSE of VALUE dummy arg copy stores due to TBAA mismatch (#215366)

Assisted by : IBM Bob

**Problem:**
When a BIND(C) derived-type dummy argument with the VALUE attribute is
large
enough to be passed on the stack (e.g. PPC64 byval ABI), Flang lowers it
as
a local `fir.alloca` with a `fir.declare` carrying
`fortran_attrs = value`. Before this fix, `AddAliasTags` classified
accesses
to that alloca under the `"allocated data"` TBAA subtree
(`SourceKind::Allocate`). However, other accesses to the same dummy
variable
were tagged under the `"dummy arg data"` subtree
(`SourceKind::Argument`).
Because these two subtrees are siblings under `"any data access"`,
LLVM's

    [47 lines not shown]
DeltaFile
+93-0flang/test/Transforms/tbaa-value-dummy-arg.fir
+68-0flang/test/Fir/tbaa-value-dummy-arg-dse.ll
+35-0flang/lib/Optimizer/Transforms/AddAliasTags.cpp
+196-03 files

LLVM/project 403a6b5libc/config/linux/aarch64 entrypoints.txt, libc/config/linux/riscv entrypoints.txt

Reland "[libc] Add realpath to linux entrypoints" (#212925) (#216869)

This relands https://github.com/llvm/llvm-project/pull/212925 by
reverting commit efe96c53557041be11e7fb4d43e6448cc09f6062.

CI failures w/ `libc-riscv32-qemu-yocto-fullbuild-dbg` should have been
fixed by https://github.com/llvm/llvm-project/pull/216828.
DeltaFile
+1-4libc/config/linux/x86_64/entrypoints.txt
+1-4libc/config/linux/riscv/entrypoints.txt
+1-0libc/config/linux/aarch64/entrypoints.txt
+3-83 files

LLVM/project 70fee32clang/test/CodeGen/Inputs memprof.memprofraw memprof.exe

remove memprof.exe
DeltaFile
+0-0clang/test/CodeGen/Inputs/memprof.memprofraw
+0-0clang/test/CodeGen/Inputs/memprof.exe
+0-02 files

LLVM/project 1e2e726llvm/test/Transforms/PGOProfile memprof-inline-call-stacks.ll

Replace GUIDs with names
DeltaFile
+43-43llvm/test/Transforms/PGOProfile/memprof-inline-call-stacks.ll
+43-431 files

LLVM/project e017cc3llvm/test/Transforms/PGOProfile memprof.ll

Replace GUIDs with names
DeltaFile
+43-43llvm/test/Transforms/PGOProfile/memprof.ll
+43-431 files

LLVM/project 2b318d3llvm/test/Transforms/PGOProfile/Inputs memprof.exe

remove memprof.exe
DeltaFile
+0-0llvm/test/Transforms/PGOProfile/Inputs/memprof.exe
+0-01 files

LLVM/project ef88ad6clang/lib/CIR/Lowering/DirectToLLVM LowerToLLVM.cpp, clang/test/CIR/CodeGenCoroutines coro-builtins.cpp

[CIR] Add lowering for coroutine intrinsics and token none (#215709)

This patch adds CIRToLLVM lowering for coroutine intrinsics and token
none:

* `cir.token.none`
* `cir.coro.intrinsic.id`
* `cir.coro.intrinsic.alloc`
* `cir.coro.intrinsic.size`
* `cir.coro.intrinsic.begin`
* `cir.coro.intrinsic.free`
* `cir.coro.intrinsic.end`
DeltaFile
+25-7clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+20-0clang/test/CIR/CodeGenCoroutines/coro-builtins.cpp
+45-72 files

LLVM/project 0192187llvm/test/Transforms/PGOProfile memprof.ll, llvm/test/Transforms/PGOProfile/Inputs memprof.nocolinfo.memprofraw memprof.nocolinfo.exe

[NFC][MemProf] Replace memprofraw with YAML in memprof.ll test
DeltaFile
+205-49llvm/test/Transforms/PGOProfile/memprof.ll
+0-96llvm/test/Transforms/PGOProfile/Inputs/update_memprof_inputs.sh
+0-60llvm/test/Transforms/PGOProfile/Inputs/memprof_pgo.proftext
+0-0llvm/test/Transforms/PGOProfile/Inputs/memprof.nocolinfo.memprofraw
+0-0llvm/test/Transforms/PGOProfile/Inputs/memprof.nocolinfo.exe
+0-0llvm/test/Transforms/PGOProfile/Inputs/memprof.memprofraw
+205-2056 files

LLVM/project a50b5a7llvm/test/Transforms/PGOProfile memprof-inline-call-stacks.ll

[NFC][MemProf] Use YAML in memprof-inline-call-stacks.ll
DeltaFile
+117-3llvm/test/Transforms/PGOProfile/memprof-inline-call-stacks.ll
+117-31 files