LLVM/project de4f473lldb/source/Interpreter ScriptInterpreter.cpp, lldb/source/Plugins/ScriptInterpreter/Python/Interfaces ScriptedPythonInterface.cpp

[lldb] Fix Windows linker error for MakeSBModuleSpec in lldb-server (#181494)

## Summary
Move the definition of `ScriptInterpreter::MakeSBModuleSpec` from
`ScriptInterpreter.cpp` to `ScriptedPythonInterface.cpp`.

`MakeSBModuleSpec` constructs an `SBModuleSpec`, whose symbols live in
the API library (`liblldb`). `ScriptInterpreter.cpp` is part of
`lldbInterpreter`, which is also linked into `lldb-server` — and
`lldb-server` does not link the API library. On Windows, this causes
`LNK2019: unresolved external symbol` for `SBModuleSpec`'s constructor
and destructor.

`ScriptedPythonInterface.cpp` is part of the Python plugin library,
which only links into `liblldb` where the API symbols are available. The
method retains friend access to `SBModuleSpec` since it is still a
member of `ScriptInterpreter` regardless of which `.cpp` file defines
it.


    [5 lines not shown]
DeltaFile
+10-0lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
+0-6lldb/source/Interpreter/ScriptInterpreter.cpp
+10-62 files

LLVM/project 0773c83lldb/source/Plugins/ScriptInterpreter/Python/Interfaces ScriptInterpreterPythonInterfaces.cpp

[lldb] Fix pid_t redefinition on Windows in ScriptInterpreterPythonInterfaces (#181493)

## Summary
Include `lldb-python.h` as the first include inside the
`LLDB_ENABLE_PYTHON` block in `ScriptInterpreterPythonInterfaces.cpp`,
matching the pattern used by every other Python interface `.cpp` file in
this directory.

On Windows, `lldb-python.h` defines `NO_PID_T` before including
`Python.h`. This prevents `PosixApi.h` (transitively included via
`lldb-private.h`) from redefining `pid_t` with a conflicting type
(`uint32_t` vs `int`).

The issue was introduced by #181334 (ScriptedSymbolLocator plugin),
which added a new header whose include chain transitively reaches
`PosixApi.h`.

Fixes Windows build failures on lldb-aarch64-windows, lldb-x86_64-win,
and lldb-remote-linux-win.

    [6 lines not shown]
DeltaFile
+4-0lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
+4-01 files

LLVM/project d7a24d3libcxx/include/__algorithm shift_right.h ranges_shift_right.h, libcxx/test/libcxx/algorithms/alg.modifying.operations/alg.shift assert.shift_right.pass.cpp

[libc++] Implement `ranges::shift_right` (#177847)

Implement the `ranges::shift_right` algorithm from
[P2440R1](https://wg21.link/P2440R1).

Fixes #134062
Fixes #105184
DeltaFile
+307-0libcxx/test/std/algorithms/alg.modifying.operations/alg.shift/ranges_shift_right.pass.cpp
+53-27libcxx/include/__algorithm/shift_right.h
+76-0libcxx/include/__algorithm/ranges_shift_right.h
+29-0libcxx/test/libcxx/algorithms/alg.modifying.operations/alg.shift/assert.shift_right.pass.cpp
+4-4libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
+4-4libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
+473-3512 files not shown
+501-4018 files

LLVM/project 02aa032lldb/source/Plugins/ScriptInterpreter/Python/Interfaces ScriptInterpreterPythonInterfaces.cpp

[lldb] Fix pid_t redefinition on Windows in ScriptInterpreterPythonInterfaces (#181492)

## Summary
- Move `#include "lldb/Core/PluginManager.h"` after `#include
"ScriptInterpreterPythonInterfaces.h"` so Python's `pyconfig.h` defines
`pid_t` before `PosixApi.h` gets included. This fixes the `C2371:
'pid_t': redefinition; different basic types` error on all Windows
builders.

Fixes CI failures from #181334 / #181488.

Co-authored-by: Rahul Reddy Chamala <rachamal at meta.com>
DeltaFile
+2-1lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
+2-11 files

LLVM/project 945db33lldb/include/lldb/Target Target.h, lldb/source/Target Target.cpp

[lldb] Fix Windows build and remote test failure for ScriptedSymbolLocator (#181488)

## Summary
- Move `GetScriptedSymbolLocatorClassName()` from inline in `Target.h`
to out-of-line in `Target.cpp` to avoid collision with Windows
`winuser.h` `#define GetClassName GetClassNameW` macro.
- Replace `LaunchSimple(None, None, os.getcwd())` with
`lldbutil.run_to_breakpoint_do_run()` in `test_locate_source_file` to
fix test failure on remote platforms where the local working directory
doesn't exist.

Fixes CI failures from #181334.

## Test plan
- [ ] Windows (aarch64-windows) build passes
- [ ] remote-linux-win test passes
- [ ] Existing ScriptedSymbolLocator tests pass on local platforms

Co-authored-by: Rahul Reddy Chamala <rachamal at meta.com>
DeltaFile
+3-5lldb/test/API/functionalities/scripted_symbol_locator/TestScriptedSymbolLocator.py
+1-5lldb/include/lldb/Target/Target.h
+6-0lldb/source/Target/Target.cpp
+10-103 files

LLVM/project 1ee03d1lldb/docs/use/tutorials scripted-symbol-locator.md, lldb/examples/python/templates scripted_symbol_locator.py

[lldb] Add ScriptedSymbolLocator plugin for source file resolution (#181334)

## Summary                                                        
                                                                    
Based on discussion from
[RFC](https://discourse.llvm.org/t/rfc-python-callback-for-source-file-resolution/83545),
this PR adds a new `SymbolLocatorScripted` plugin that allows Python
scripts to implement custom symbol and source file resolution logic.
This enables downstream users to build custom symbol servers, source
file remapping, and build artifact resolution entirely in Python.
                                                                    
  ### Changes

- Adds `LocateSourceFile()` to the SymbolLocator plugin interface,
called during source path resolution with a fully loaded `ModuleSP`, so
the plugin has access to the module's UUID, file paths, and symbols.
- Adds `SymbolLocatorScripted` plugin that delegates all four
SymbolLocator methods (`LocateExecutableObjectFile`,
`LocateExecutableSymbolFile`, `DownloadObjectAndSymbolFile`,

    [34 lines not shown]
DeltaFile
+220-0lldb/examples/python/templates/scripted_symbol_locator.py
+201-0lldb/source/Plugins/SymbolLocator/Scripted/SymbolLocatorScripted.cpp
+195-0lldb/test/API/functionalities/scripted_symbol_locator/TestScriptedSymbolLocator.py
+165-0lldb/docs/use/tutorials/scripted-symbol-locator.md
+130-0lldb/source/Commands/CommandObjectTarget.cpp
+120-0lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedSymbolLocatorPythonInterface.cpp
+1,031-041 files not shown
+1,798-1247 files

LLVM/project c472187llvm/include/llvm/CodeGen InlineAsmPrepare.h, llvm/lib/CodeGen InlineAsmPrepare.cpp CallBrPrepare.cpp

Revert "[Clang][inlineasm] Add special support for "rm" output constraints (#92040)"

This change landed without approval.

This reverts commit 45e666a8531c1148bdb170b9a120f99e1500c427.
This reverts commit a636dd4c37f12594275de2fe180ca35bc04d76ea.
DeltaFile
+0-1,307llvm/test/CodeGen/X86/asm-constraints-rm.ll
+0-619llvm/lib/CodeGen/InlineAsmPrepare.cpp
+252-0llvm/lib/CodeGen/CallBrPrepare.cpp
+0-51llvm/test/CodeGen/X86/inline-asm-prepare-memory.ll
+1-30llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+0-31llvm/include/llvm/CodeGen/InlineAsmPrepare.h
+253-2,03834 files not shown
+337-2,12640 files

LLVM/project a636dd4llvm/lib/CodeGen InlineAsmPrepare.cpp

[inlineasm] The CFG is not necessarily preserved.
DeltaFile
+0-2llvm/lib/CodeGen/InlineAsmPrepare.cpp
+0-21 files

LLVM/project 87b9805.github/workflows release-binaries.yml

workflows/release-binaries: Use free arm Windows runners for PRs (#181477)

We are running low on budget, so we need to disable this temporarily.
DeltaFile
+5-1.github/workflows/release-binaries.yml
+5-11 files

LLVM/project 6e23353llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/X86 dag-stlf-mismatch.ll

[DAGCombiner] Fix crash caused by illegal InterVT in ForwardStoreValueToDirectLoad (#181175)

This patch fixes an assertion failure in ForwardStoreValueToDirectLoad
during DAGCombine.

The crash occurs when `STLF (Store-to-Load Forwarding)` creates an
illegal intermediate bitcast type (e.g., `v128i1` when bridging a
128-bit store to a `<32 x i1>` load on X86). Since `v128i1` is not a
legal mask type for the backend, it violates the expectations of the
LegalizeDAG pass.

The fix adds a `TLI.isTypeLegal(InterVT)` check to ensure that the
intermediate type used for the transformation is supported by the
target.

Fixes #181130
DeltaFile
+92-33llvm/test/CodeGen/X86/dag-stlf-mismatch.ll
+2-1llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+94-342 files

LLVM/project 45e666allvm/include/llvm/CodeGen InlineAsmPrepare.h, llvm/lib/CodeGen InlineAsmPrepare.cpp CallBrPrepare.cpp

[Clang][inlineasm] Add special support for "rm" output constraints (#92040)

Clang isn't able to support multiple constraints on inputs and outputs,
like "rm". Instead, it picks the "safest" one to use, i.e. the memory
constraint for "rm". This leads to obviously horrible code:

  asm __volatile__ ("pushf\n\t"
                    "popq %0"
                    : "=rm" (x));

is compiled to:

        pushf
        popq -8(%rsp)
        movq    -8(%rsp), %rax

It gets worse when inlined into other functions, because it may
introduce
a stack where none is needed.

    [16 lines not shown]
DeltaFile
+1,307-0llvm/test/CodeGen/X86/asm-constraints-rm.ll
+621-0llvm/lib/CodeGen/InlineAsmPrepare.cpp
+0-252llvm/lib/CodeGen/CallBrPrepare.cpp
+51-0llvm/test/CodeGen/X86/inline-asm-prepare-memory.ll
+30-1llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+31-0llvm/include/llvm/CodeGen/InlineAsmPrepare.h
+2,040-25334 files not shown
+2,128-33740 files

LLVM/project 84ce7b1llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 vector-lrint.ll vector-llrint.ll

[X86] Avoid custom lowering `llrint` on non-x87 targets (#181339)

Fixes #181265
DeltaFile
+1,023-0llvm/test/CodeGen/X86/vector-lrint.ll
+727-0llvm/test/CodeGen/X86/vector-llrint.ll
+112-0llvm/test/CodeGen/X86/lrint-conv-i64.ll
+105-0llvm/test/CodeGen/X86/llrint-conv.ll
+2-1llvm/lib/Target/X86/X86ISelLowering.cpp
+1,969-15 files

LLVM/project ab25249libcxx/test/benchmarks/algorithms push_heap.bench.cpp, libcxx/test/benchmarks/algorithms/sorting push_heap.bench.cpp

[libc++] Refactor std::push_heap benchmark (#181343)

We're trying to get the time it takes to run all the benchmarks down, so
that we can run them on a regular basis. This patch saves us ~8 minutes
per run.

Fixes #177028
DeltaFile
+88-0libcxx/test/benchmarks/algorithms/sorting/push_heap.bench.cpp
+0-42libcxx/test/benchmarks/algorithms/push_heap.bench.cpp
+88-422 files

LLVM/project 8ccc40elibc/shared/math hypotf16.h, libc/src/__support/math hypotf16.h CMakeLists.txt

[libc][math] Refactor hypotf16 to Header Only (#180511).

closes #175337
part of #175336
DeltaFile
+99-0libc/src/__support/math/hypotf16.h
+2-75libc/src/math/generic/hypotf16.cpp
+31-0libc/shared/math/hypotf16.h
+18-2utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+15-0libc/src/__support/math/CMakeLists.txt
+1-7libc/src/math/generic/CMakeLists.txt
+166-843 files not shown
+169-849 files

LLVM/project 2060561llvm/lib/Transforms/Instrumentation MemorySanitizer.cpp, llvm/test/Instrumentation/MemorySanitizer switch-icmp.ll

Reapply "[msan] Switch switch() from strict handling to (icmp eq)-style handling" (#180636) (#181112)

This reverts https://github.com/llvm/llvm-project/pull/180636 i.e.,
relands https://github.com/llvm/llvm-project/pull/179851.

It was originally reverted because of buildbot failures. When compiling
switch statements with many cases (e.g., AMDGPUGenMCCodeEmitter.inc has
>30,000 cases), MSan's instrumentation created an extremely long chained
expression for the shadow computation. Although that was legal LLVM IR,
it caused the subsequent JumpThreadingPass to have a stack overflow.

This reland avoids the issue by limiting the number of cases considered
(`-msan-switch-precision`), with the tradeoff of niche false negatives
(only in the case where the condition is partly uninitialized and the
first x cases still have a defined comparison, but a case # > x does not
have a fully-defined comparison).

This reland also adds some TODOs for possible improvements.


    [39 lines not shown]
DeltaFile
+67-0llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+20-5llvm/test/Instrumentation/MemorySanitizer/switch-icmp.ll
+87-52 files

LLVM/project bcf0ecflibc/shared/math ffma.h, libc/src/__support/math ffma.h CMakeLists.txt

[libc][math] Refactor ffma implementation to header-only in src/__support/math folder (#175304).

Part of #147386

in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
DeltaFile
+26-0libc/src/__support/math/ffma.h
+23-0libc/shared/math/ffma.h
+12-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+9-0libc/src/__support/math/CMakeLists.txt
+2-4libc/src/math/generic/ffma.cpp
+1-1libc/src/math/generic/CMakeLists.txt
+73-63 files not shown
+76-69 files

LLVM/project a1d856alibc/shared/math tanhf.h, libc/src/__support/math tanhf.h CMakeLists.txt

[libc][math] Refactor tanhf implementation to header-only in src/__support/math folder. (#178554)

Part of https://github.com/llvm/llvm-project/issues/147386
closes https://github.com/llvm/llvm-project/issues/178493
DeltaFile
+127-0libc/src/__support/math/tanhf.h
+2-107libc/src/math/generic/tanhf.cpp
+16-9utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+23-0libc/shared/math/tanhf.h
+15-0libc/src/__support/math/CMakeLists.txt
+1-6libc/src/math/generic/CMakeLists.txt
+184-1223 files not shown
+187-1229 files

LLVM/project 5c14267clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded vabs.c vabdu.c, clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded vabs.c vabdu.c

[Clang][RISCV] Add Zvabd intrinsics

Doc:

* https://github.com/riscv/integer-vector-absolute-difference
* https://github.com/riscv-non-isa/rvv-intrinsic-doc/pull/424

Authored-by: Zhenxuan Sang <sang at bytedance.com>
Co-Authored-by: Pengcheng Wang <wangpengcheng.pp at bytedance.com>

Reviewers: preames, topperc, kito-cheng

Pull Request: https://github.com/llvm/llvm-project/pull/180929
DeltaFile
+956-0clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabs.c
+956-0clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabs.c
+603-0clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabdu.c
+603-0clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabdu.c
+585-0clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/overloaded/vabd.c
+585-0clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/zvabd/policy/non-overloaded/vabd.c
+4,288-022 files not shown
+11,234-1028 files

LLVM/project 2693adflibc/shared/math bf16addf128.h, libc/src/__support/math bf16addf128.h CMakeLists.txt

[libc][math] Refactor bf16addf128 to header only (#181058)

Resolves #181018
Part of #147386
DeltaFile
+32-0libc/src/__support/math/bf16addf128.h
+29-0libc/shared/math/bf16addf128.h
+15-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+10-0libc/src/__support/math/CMakeLists.txt
+2-5libc/src/math/generic/bf16addf128.cpp
+1-5libc/src/math/generic/CMakeLists.txt
+89-103 files not shown
+94-109 files

LLVM/project d6dee90lld/ELF/Arch RISCV.cpp

[ELF] Move RISCV scanSectionImpl next to getRelExpr. NFC

Move scanSectionImpl and scanSection to right after getRelExpr and
before relocate, matching the ordering used in X86_64.cpp and PPC64.cpp.
DeltaFile
+46-46lld/ELF/Arch/RISCV.cpp
+46-461 files

LLVM/project 78d9957lld/ELF Target.cpp, lld/ELF/Arch RISCVInternalRelocations.h RISCV.cpp

Revert "[LLD] Add support for statically resolved vendor-specific RISCV relocations. (#169273)" (#181336)

This reverts commit 0c6d7a40187e5e6cbdff1cf5dbdb6fe91054bef4 and
follow-up 7dfa132936a89a966befb6045f306cb9905c6dab.

It landed prematurely with multiple issues in the implementation and
tests.
DeltaFile
+0-113lld/ELF/Arch/RISCVInternalRelocations.h
+8-38lld/ELF/Arch/RISCV.cpp
+5-12lld/test/ELF/riscv-vendor-relocations.s
+0-9lld/ELF/Target.cpp
+13-1724 files

LLVM/project cfc311elldb/bindings/interface SBMemoryRegionInfoListExtensions.i SBTypeExtensions.i, lldb/test/API/python_api/find_in_memory TestFindInMemory.py

[lldb/API] Add __getitem__ subscript support to python SBAPI list class (#181457)

This patch adds __getitem__ method to the SBAPI list classes that were
missing subscript support, enabling Pythonic index access (e.g.,
list[0], list[-1]) in Python bindings.

The implementation adds __getitem__ to the following classes:
- SBStringList
- SBFileSpecList
- SBProcessInfoList
- SBMemoryRegionInfoList
- SBThreadCollection
- SBBreakpointList
- SBModuleSpecList
- SBTypeList

Each implementation follows the same pattern:
- Type validation (raises TypeError for non-integer indices)
- Range validation with negative index support (raises IndexError for

    [7 lines not shown]
DeltaFile
+18-0lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py
+15-0lldb/test/API/python_api/find_in_memory/TestFindInMemory.py
+13-0lldb/bindings/interface/SBMemoryRegionInfoListExtensions.i
+10-0lldb/bindings/interface/SBTypeExtensions.i
+10-0lldb/test/API/python_api/type/TestTypeList.py
+10-0lldb/bindings/interface/SBBreakpointListExtensions.i
+76-010 files not shown
+151-016 files

LLVM/project 7fd56a0llvm/test/CodeGen/RISCV/rvv fixed-vectors-setcc-fp-vp.ll fixed-vectors-fp-setcc.ll

[RISCV] Calculate max call frame size in RISCVTargetLowering::finalizeLowering. (#181302)

I want to enable the frame pointer when the call frame size is too large
to access emergency spill slots. To do that I need to know the call
frame size early enough to reserve FP.

The code here is copied from AArch64. ARM does the same. I did not check
other targets.

Splitting this off separately because it stops us from unnecessarily
reserving the base pointer in the some RVV tests. That appears to due to
this check

(!hasReservedCallFrame(MF) && (!MFI.isMaxCallFrameSizeComputed() ||
MFI.getMaxCallFrameSize() != 0))) &&

By calculating early !MFI.isMaxCallFrameSizeComputed() is no longer true
and the size is zero.
DeltaFile
+648-640llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
+88-88llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
+83-81llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
+60-60llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll
+44-44llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
+18-18llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
+941-9314 files not shown
+963-94610 files

LLVM/project bc50d9allvm/lib/Target/RISCV RISCVInstrInfoV.td RISCVInstrInfoZvfofp8min.td

[RISCV] Convert some multiclasses in RISCVInstrInfoV.td to classes if they only have one child def. NFC (#181408)

The child def requires an empty string which looks odd. Use classes and
inheritance instead.
DeltaFile
+77-91llvm/lib/Target/RISCV/RISCVInstrInfoV.td
+3-3llvm/lib/Target/RISCV/RISCVInstrInfoZvfofp8min.td
+2-2llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
+82-963 files

LLVM/project 74be8edllvm/lib/CodeGen/GlobalISel LegalizerHelper.cpp

[GlobalISel] Fix type mismatch in LegalizerHelper ternary (#180865)

### Summary

Fix type mismatch in ternary expression that causes GCC `-Werror=extra`
to fail.

### Details

GCC's `-Werror=extra` enforces stricter type consistency in ternary
expressions, in this case unsigned and an enum literal.

### Tested

- Built with ToT clang and GCC 13.3.0 on Linux x86_64 (not really
because there are other warnings, but this one is gone).
- All existing tests pass
DeltaFile
+3-2llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+3-21 files

LLVM/project 5c4a8c1llvm/test/CodeGen/AArch64 clmul-scalable.ll, llvm/test/CodeGen/AMDGPU fptoi.i128.ll

Rebase before commit

Created using spr 1.3.6-beta.1
DeltaFile
+1,560-1,560llvm/test/tools/llvm-mca/RISCV/SiFive7/vector-fp.s
+80-2,209llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops-large-matrixes.ll
+470-1,417llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
+1,060-707llvm/test/CodeGen/AArch64/clmul-scalable.ll
+0-1,543llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
+1,542-0llvm/test/Transforms/LoopVectorize/VPlan/vplan-printing-reductions.ll
+4,712-7,4361,519 files not shown
+63,907-35,8981,525 files

LLVM/project 74599c6clang/test/Driver riscv-cpus.c, clang/test/Driver/print-enabled-extensions riscv-spacemit-a100.c

[RISCV] Add SpacemiT A100 processor definition (#174052)

DeltaFile
+102-0clang/test/Driver/print-enabled-extensions/riscv-spacemit-a100.c
+32-0llvm/lib/Target/RISCV/RISCVProcessors.td
+8-0clang/test/Driver/riscv-cpus.c
+2-0clang/test/Misc/target-invalid-cpu-note/riscv.c
+1-0llvm/docs/ReleaseNotes.md
+145-05 files

LLVM/project e003440clang/test/CXX/drs cwg24xx.cpp cwg4xx.cpp

[clang][NFC] Add missing indentation for expected-notes in C++ DR tests
DeltaFile
+3-3clang/test/CXX/drs/cwg24xx.cpp
+2-2clang/test/CXX/drs/cwg4xx.cpp
+1-1clang/test/CXX/drs/cwg16xx.cpp
+1-1clang/test/CXX/drs/cwg18xx.cpp
+1-1clang/test/CXX/drs/cwg30xx.cpp
+8-85 files

LLVM/project faa0be4clang/include/clang/Basic CodeGenOptions.def, clang/include/clang/Options Options.td

[clang] Ensure -mno-outline adds attributes

Before this change, `-mno-outline` and `-moutline` only controlled the
pass pipelines for the invoked compiler/linker.

The drawback of this implementation is that, when using LTO, only the
flag provided to the linker invocation is honoured (and any files which
individually use `-mno-outline` will have that flag ignored).

This change serialises the `-mno-outline` flag into each function's
IR/Bitcode, so that we can correctly disable outlining from functions in
files which disabled outlining, without affecting outlining choices for
functions from other files. This matches how other optimisation flags
are handled so the IR/Bitcode can be correctly merged during LTO.
DeltaFile
+7-10clang/include/clang/Options/Options.td
+14-3clang/test/CodeGen/attr-no-outline.c
+6-5clang/lib/Driver/ToolChains/CommonArgs.cpp
+3-1clang/lib/CodeGen/CodeGenModule.cpp
+3-0clang/include/clang/Basic/CodeGenOptions.def
+1-1clang/test/Driver/x86-outliner.c
+34-203 files not shown
+37-239 files

LLVM/project 984175cclang/docs ReleaseNotes.rst

Release Note
DeltaFile
+2-0clang/docs/ReleaseNotes.rst
+2-01 files