LLVM/project f1c066cclang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin TestTransformation.cpp CMakeLists.txt

Revert "[SSAF] Fix a stage2 test failure with ASan-instrumented clang - continued" (#218092)

Reverts llvm/llvm-project#217799 because it breaks other ASan buildbots
(e.g., https://lab.llvm.org/buildbot/#/builders/169/builds/25867):
```
[1692/5724] Building CXX object tools/clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/CMakeFiles/SSAFTestTransformationPlugin.dir/TestTransformation.cpp.o
FAILED: [code=1] tools/clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/CMakeFiles/SSAFTestTransformationPlugin.dir/TestTransformation.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /home/b/sanitizer-x86_64-linux-fast/build/llvm_build0/bin/clang++ -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/tools/clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin -I/home/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin -I/home/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/include -I/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/tools/clang/include -I/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/include -I/home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include -nostdinc++ -isystem /home/b/sanitizer-x86_64-linux-fast/build/libcxx_install_asan_ubsan/include -isystem /home/b/sanitizer-x86_64-linux-fast/build/libcxx_install_asan_ubsan/include/c++/v1 -fsanitize=address,undefined -fno-sanitize-recover=all -Wl,--rpath=/home/b/sanitizer-x86_64-linux-fast/build/libcxx_install_asan_ubsan/lib -L/home/b/sanitizer-x86_64-linux-fast/build/libcxx_install_asan_ubsan/lib -lc++abi -fuse-ld=lld -w -stdlib=libc++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fno-omit-frame-pointer -gline-tables-only -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr,function -fno-sanitize-recover=all -fsanitize-blacklist=/home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/utils/sanitizers/ubsan_ignorelist.txt -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17 -fPIC -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -fno-sanitize=all -MD -MT tools/clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/CMakeFiles/SSAFTestTransformationPlugin.dir/TestTransformation.cpp.o -MF tools/clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/CMakeFiles/SSAFTestTransformationPlugin.dir/TestTransformation.cpp.o.d -o tools/clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/CMakeFiles/SSAFTestTransformationPlugin.dir/TestTransformation.cpp.o -c /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/TestTransformation.cpp
In file included from /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/TestTransformation.cpp:21:
In file included from /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/include/clang/AST/ASTContext.h:18:
In file included from /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/include/clang/AST/CanonicalType.h:17:
In file included from /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/include/clang/AST/Type.h:20:
In file included from /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/include/clang/AST/Decl.h:16:
In file included from /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/clang/include/clang/AST/APNumericStorage.h:12:
In file included from /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/APFloat.h:19:
In file included from /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:12:
In file included from /home/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/include/llvm/ADT/Hashing.h:58:
In file included from /home/b/sanitizer-x86_64-linux-fast/build/libcxx_install_asan_ubsan/include/c++/v1/string:603:
/home/b/sanitizer-x86_64-linux-fast/build/libcxx_install_asan_ubsan/include/c++/v1/__debug_utils/sanitizers.h:42:4: error: "We can't disable ASAN container checks when libc++ has been built with ASAN container checks enabled"

    [10 lines not shown]
DeltaFile
+0-10clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/CMakeLists.txt
+3-0clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/TestTransformation.cpp
+3-102 files

LLVM/project c899f6bllvm/lib/Target/WebAssembly WebAssemblyPassRegistry.def WebAssemblyTargetMachine.cpp, llvm/lib/Target/WebAssembly/GISel WebAssemblyPreLegalizerCombiner.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+58-28llvm/lib/Target/WebAssembly/GISel/WebAssemblyPreLegalizerCombiner.cpp
+9-2llvm/lib/Target/WebAssembly/WebAssembly.h
+2-4llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+2-2llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+1-0llvm/lib/Target/WebAssembly/WebAssemblyPassRegistry.def
+72-365 files

LLVM/project c9ba8a4clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin TestTransformation.cpp CMakeLists.txt

Revert "[SSAF] Fix a stage2 test failure with ASan-instrumented clang - conti…"

This reverts commit ede975d9f046441b9793e02bab190bd0bafb1fa2.
DeltaFile
+0-10clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/CMakeLists.txt
+3-0clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/TestTransformation.cpp
+3-102 files

LLVM/project 55de668llvm/lib/Target/RISCV RISCVCodeGenPassBuilder.cpp RISCVPassRegistry.def, llvm/test/CodeGen/RISCV prera-expand-pseudo.mir

[RISCV] Port PreRA Pseudo Expansion to NewPM (#218069)
DeltaFile
+53-28llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
+50-0llvm/test/CodeGen/RISCV/prera-expand-pseudo.mir
+12-2llvm/lib/Target/RISCV/RISCV.h
+2-2llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
+1-1llvm/lib/Target/RISCV/RISCVCodeGenPassBuilder.cpp
+2-0llvm/lib/Target/RISCV/RISCVPassRegistry.def
+120-332 files not shown
+122-338 files

LLVM/project f787fa7llvm/lib/Target/AMDGPU SIISelLowering.h VOP3Instructions.td, llvm/test/CodeGen/AMDGPU arbitrary-fp-to-float-fp8-hw.ll float-to-arbitrary-fp-fp8-hw.ll

[AMDGPU] Add custom lowering for E5M3 path for packed convert instructions through `convert.{to|from}.arbitrary.fp` (#218056)

Some packed convert instructions support producing FP8 floating output
in the E5M3 format by control through the CLAMP bit. Currently, we have
builtins and intrinsics that support that lowering.

This PR adds lowering through the newly added
`convert.{to|from}.arbitrary.fp` intrinsics.
DeltaFile
+1,540-3llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-fp8-hw.ll
+460-1llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float-fp8-hw.ll
+56-17llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+10-0llvm/lib/Target/AMDGPU/SIInstrInfo.td
+2-2llvm/lib/Target/AMDGPU/VOP3Instructions.td
+2-1llvm/lib/Target/AMDGPU/SIISelLowering.h
+2,070-241 files not shown
+2,072-247 files

LLVM/project 4e3ddd5lldb/source/Expression DWARFExpression.cpp, lldb/unittests/Expression DWARFExpressionTest.cpp

[lldb] Canonicalize DW_OP_GNU_const_index to the generic type (#217262)

`DW_OP_GNU_const_index` reads a machine-address-sized constant from the
address table and pushes it as a generic value. The generic type has the
size of an address on the target, so on a 32-bit compilation unit the
pushed value should be a 32-bit scalar.

`DWARFUnit::ReadAddressFromDebugAddrSection` reads the correct number of
bytes, but the evaluator case pushed the result as `Scalar(value)`,
where
`value` is a 64-bit `lldb::addr_t`, leaving a 64-bit scalar on the stack
instead of canonicalizing to `8 * address_size` like the other
constant-pushing opcodes.

Use `to_generic`, as `DW_OP_addrx` / `DW_OP_GNU_addr_index` already do,
so the pushed value has the generic type's width.

Adds a `DW_OP_GNU_const_index_address_size` unit test asserting both the
wraparound of generic arithmetic at the 32-bit address size and the

    [3 lines not shown]
DeltaFile
+14-0lldb/unittests/Expression/DWARFExpressionTest.cpp
+1-1lldb/source/Expression/DWARFExpression.cpp
+15-12 files

LLVM/project 5ed5b7bclang/lib/Basic/Targets NVPTX.cpp, clang/lib/CodeGen CodeGenModule.cpp

[clang][NVPTX] exclude feature attributes from target-features (#215451)
DeltaFile
+5-3clang/lib/CodeGen/CodeGenModule.cpp
+6-0clang/lib/Basic/Targets/NVPTX.cpp
+1-1clang/test/CodeGen/nvptx_attributes.c
+12-43 files

LLVM/project a6d7b2fllvm/include/llvm/Analysis DXILResource.h, llvm/lib/Analysis DXILResource.cpp

[DirectX] Add support for heap resources to `DXILResourceMap` (#216454)

`DXILResourceMap` now handles a new `llvm.dx.resource.handlefromheap`
intrisics and adds the heap resources to the resource map.

A new member `HeapResourceID` has been added to `ResourceInfo` to
distinguish between heap resource instances created from different
indices. The `HeapResourceID` is unique for each heap index `Value*`, so
multiple handle creation calls using the same index `Value*` resolve to
the same resource.

Heap resources do not have register bindings, so the `Binding` member on
`ResourceInfo` is now optional.

All places that were expecting binding to exist are updated to handle
bindless heap resources. In most cases that means skipping them, such as
when generating DXIL resource metadata, creating PSV resource entries or
pretty-printing the resource table comment for the module disassembly
output.

    [5 lines not shown]
DeltaFile
+186-0llvm/test/Analysis/DXILResource/buffer-fromheap.ll
+48-10llvm/lib/Analysis/DXILResource.cpp
+32-8llvm/include/llvm/Analysis/DXILResource.h
+19-1llvm/test/CodeGen/DirectX/Metadata/cbuffer-metadata.ll
+13-1llvm/test/CodeGen/DirectX/Metadata/uav_metadata.ll
+13-1llvm/test/CodeGen/DirectX/Metadata/srv_metadata.ll
+311-216 files not shown
+349-2712 files

LLVM/project f299471llvm/include/llvm/IR VPIntrinsics.def, llvm/lib/CodeGen/SelectionDAG MatchContext.h LegalizeVectorOps.cpp

[DAG] Remove trivial VP SDNodes. NFC

This removes the codegen parts of the trivial VP intrinsics. It's quite far reaching, but the general categories of code removed are:

- Removing definitions from VPIntrinsics.def
- Legalization and expansion code
- MatchContext used to match over both VP and non-VP nodes
- Some dead DAGCombines and folds in SelectionDAGBuilder

There are still more things to be cleaned up after this, e.g. removing more of the VPIntrinsic class hierarchy, removing ExpandVectorPredication/moving expansion into other places, removing MatchContext from SDPatternMatch
DeltaFile
+80-283llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+3-340llvm/include/llvm/IR/VPIntrinsics.def
+6-336llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+47-282llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+7-217llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
+0-182llvm/lib/CodeGen/SelectionDAG/MatchContext.h
+143-1,64011 files not shown
+188-2,01417 files

LLVM/project 277a9f0llvm/lib/Target/VE VVPNodes.def

[VE] Remove trivial VP SDNode mappings. NFC

These SDNodes aren't emitted anymore and will be removed in an upcoming patch.
DeltaFile
+9-9llvm/lib/Target/VE/VVPNodes.def
+9-91 files

LLVM/project e6e93eallvm/lib/CodeGen/SelectionDAG TargetLowering.cpp LegalizeVectorOps.cpp, llvm/test/CodeGen/VE/Vector vp_urem.ll vp_srem.ll

[DAG] Expand vp.*rem and vp.cttz.elts with non-vp nodes.

Trivial VP SDNodes will be removed in an upcoming patch. The division is still predicated so we avoid UB.
DeltaFile
+24-12llvm/test/CodeGen/VE/Vector/vp_urem.ll
+24-12llvm/test/CodeGen/VE/Vector/vp_srem.ll
+5-5llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
+3-5llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+56-344 files

LLVM/project 3bc32damlir/test lit.site.cfg.py.in, mlir/test/Integration/Dialect/LLVMIR/CPU lit.local.cfg test-vp-intrinsic.mlir

[MLIR] Remove VP intrinsic intregration test. NFC (#218087)

Fixes the buildbot failure in
https://lab.llvm.org/buildbot/#/builders/177/builds/39732.
vp.add has been removed in #217863 so this just removes the test.

This essentially reverts commit
ee82b864f2086f944f046bd00b03f30697403f8a.
DeltaFile
+0-36mlir/test/Integration/Dialect/LLVMIR/CPU/test-vp-intrinsic.mlir
+0-22mlir/test/Integration/Dialect/LLVMIR/CPU/lit.local.cfg
+0-5mlir/test/lit.site.cfg.py.in
+0-633 files

LLVM/project dafb6eeclang/include/clang/Options FlangOptions.td, clang/lib/Driver/ToolChains Flang.cpp

[Flang] Repair intrinsic CUBLAS USE association (#217455)

This is a fix targeted at the specific code berkeleygw. It adds a
general extension by which imports of intrinsic functions can shadow
imported user functions and adds a single exception for CUBLAS `zgemm`
USE-association collision with an equivalent user external interface.

When the intrinsic CUBLAS generic and an equivalent external interface
are USE-associated under the same name, Flang now selects the CUBLAS
generic via a default-on compatibility extension. This preserves the
CUBLAS CUDA-specific overloads instead of creating an unusable local
association.

The repair warns by default under
`-Wintrinsic-module-use-association-extension`;
`-fno-intrinsic-module-use-association` retains the prior semantic
error, and `-Wno-intrinsic-module-use-association-extension` suppresses
the warning.
DeltaFile
+176-0flang/test/Semantics/CUDA/cuf-use-cublas-zgemm.cuf
+130-0flang/lib/Semantics/resolve-names.cpp
+32-29clang/lib/Driver/ToolChains/Flang.cpp
+10-0flang/lib/Frontend/CompilerInvocation.cpp
+8-0flang/tools/bbc/bbc.cpp
+3-0clang/include/clang/Options/FlangOptions.td
+359-292 files not shown
+361-308 files

LLVM/project d71dc82llvm/include/llvm/TargetParser AMDGPUTargetParser.h, llvm/lib/Target/AMDGPU GCNSubtarget.h GCNSubtarget.cpp

Remove FullSIMDs and HalfSIMDs discussion

Change-Id: I069219e98793a5234724235c2bfe4a1becda8b1d
DeltaFile
+5-19llvm/lib/Target/AMDGPU/AMDGPU.td
+2-5llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
+2-5llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+3-4llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+0-3llvm/lib/Target/AMDGPU/GCNSubtarget.h
+1-2llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+13-386 files

LLVM/project 6d8f48cbolt/include/bolt/Core Exceptions.h, bolt/lib/Core Exceptions.cpp

[BOLT] Parse .eh_frame CFI programs on demand to reduce memory

BOLT read the entire .eh_frame up front via DwCtx->getEHFrame(), which
parses and caches the CFI instruction program of every CIE/FDE in the
binary for the whole run. On a large binary, this dominated
file-object discovery: CFIProgram::parse accounted for ~6.5 GB and the
cached DWARFDebugFrame ~6.9 GB of live memory. Yet the CFI programs
are only consumed in CFIReaderWriter::fillCFIInfoFor, and only for the
functions BOLT actually disassembles. discoverFileObjects itself needs
nothing but each FDE's address and range for function-boundary checks.

Here we parse .eh_frame for its index only, and decode each function's
CFI program on demand, lazily, only for the functions that really need
it. In a large binary, DWARFDebugFrame::parse drops from 6922.2 MB
to 587.6 MB, the residual being the lightweight FDE/CIE index (entries
without instruction programs), and readSpecialSections falls from
7078.7 MB to 738.6 MB on the tested binary for which BOLT's RSS is
about 80-120GB.
DeltaFile
+26-8bolt/lib/Core/Exceptions.cpp
+20-5bolt/lib/Rewrite/RewriteInstance.cpp
+21-3bolt/include/bolt/Core/Exceptions.h
+67-163 files

LLVM/project a0c7c53llvm/include/llvm/DebugInfo/DWARF DWARFDebugFrame.h, llvm/lib/DebugInfo/DWARF DWARFDebugFrame.cpp

[DebugInfo] Allow .eh_frame CFI programs to be parsed lazily

BOLT read the entire .eh_frame up front via DwCtx->getEHFrame(), which
parses and caches the CFI instruction program of every CIE/FDE in the
binary for the whole run. On a large binary, this dominated
file-object discovery: CFIProgram::parse accounted for ~6.5 GB and the
cached DWARFDebugFrame ~6.9 GB of live memory (from 5 to 10% of total
anon peak RSS).

This new interface allows DebugInfo's users to optionally parse CFIs
on demand, only when necessary. On BOLT, this is an important lever
to manage memory utilization when processing large binaries.
DeltaFile
+25-1llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
+10-1llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
+35-22 files

LLVM/project aa190a6llvm/include/llvm/DebugInfo/DWARF DWARFDebugFrame.h, llvm/lib/DebugInfo/DWARF DWARFDebugFrame.cpp

Make Data optional
DeltaFile
+6-5llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
+1-1llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
+7-62 files

LLVM/project c5359f4llvm/include/llvm/DebugInfo/DWARF DWARFContext.h DWARFDebugFrame.h, llvm/lib/DebugInfo/DWARF DWARFContext.cpp DWARFDebugFrame.cpp

Implement partial dump of debug info to showcase lazy ehframe parsing
DeltaFile
+79-0llvm/test/tools/llvm-dwarfdump/X86/debug_frame_invalid_cfi_program.s
+65-6llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
+35-16llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
+29-7llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
+12-5llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
+220-345 files

LLVM/project 6c1f607clang/test/CodeGen attr-counted-by-or-null-for-pointers.c attr-sized-by-or-null-for-pointers.c, lldb/test/API/functionalities/gdb_remote_client TestWasm.py

Rebase

Created using spr 1.3.7
DeltaFile
+0-2,733llvm/docs/LangRef.md
+1,628-280llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
+0-1,354llvm/test/Transforms/VectorCombine/RISCV/vpintrin-scalarization.ll
+608-81lldb/test/API/functionalities/gdb_remote_client/TestWasm.py
+655-0clang/test/CodeGen/attr-sized-by-or-null-for-pointers.c
+514-0clang/test/CodeGen/attr-counted-by-or-null-for-pointers.c
+3,405-4,448850 files not shown
+25,014-11,800856 files

LLVM/project 05486e3flang/include/flang/Evaluate designator-path.h, flang/lib/Evaluate designator-path.cpp

[semantics][acc] start handling clauses that use sections and components (#211606)

## Motivation
The current implementation of checking OpenACC data sharing clauses and
references is rather adhoc because the machinery could was only designed
to keep track of a single identifier. Sections currently track the base
object to which the refer while component reference throw away their
declared object. Duplicate / contradictory clause checking also has
similar issues. For example:

```fortran
subroutine outside_copied_section()
  implicit none
  real :: a(3)
  !$acc parallel default(none) copy(a(1:2))
    a(2) = -1.0
    a(3) = 1.0
    a(1) = a(2) + a(3)
  !$acc end parallel

    [62 lines not shown]
DeltaFile
+447-112flang/lib/Semantics/resolve-directives.cpp
+441-0flang/lib/Evaluate/designator-path.cpp
+392-0flang/unittests/Evaluate/designator-path.cpp
+187-0flang/lib/Semantics/tools.cpp
+132-10flang/test/Semantics/OpenACC/acc-dataclause-dedup.f90
+126-0flang/include/flang/Evaluate/designator-path.h
+1,725-1229 files not shown
+2,064-14215 files

LLVM/project f99da81llvm/lib/Transforms/IPO LowerTypeTests.cpp ThinLTOBitcodeWriter.cpp, llvm/test/Transforms/LowerTypeTests promoted-internal.ll

[CFI] Create an external linkage alias instead of promoting internals
DeltaFile
+19-32llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
+35-0llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+29-0llvm/test/Transforms/LowerTypeTests/promoted-internal.ll
+10-7llvm/test/Transforms/ThinLTOBitcodeWriter/comdat.ll
+4-2llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll
+3-2llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
+100-432 files not shown
+104-478 files

LLVM/project f96efbe

[WPD] Dereference `GlobalAlias` targets
DeltaFile
+0-00 files

LLVM/project f837b6bllvm/lib/Transforms/IPO WholeProgramDevirt.cpp, llvm/test/ThinLTO/X86 devirt-alias-attributes.ll devirt-alias-cross-module.ll

[WPD] Dereference `GlobalAlias` targets (#215880)

When Whole Program Devirtualization evaluates virtual call targets, if
we do not unwrap GlobalAliases to their underlying aliasee,
interprocedural optimizations (IPSCCP for instance) fail to propagate
attributes (e.g., `noundef`) or fold return values.
DeltaFile
+84-0llvm/test/ThinLTO/X86/devirt-alias-cross-module-interposable.ll
+78-0llvm/test/ThinLTO/X86/devirt-alias-attributes-interposable.ll
+61-0llvm/test/ThinLTO/X86/devirt-alias-cross-module.ll
+51-0llvm/test/ThinLTO/X86/devirt-alias-attributes.ll
+37-0llvm/test/Transforms/WholeProgramDevirt/uniform-retval-alias.ll
+11-4llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
+322-41 files not shown
+327-77 files

LLVM/project dea57ballvm/lib/Target/AMDGPU GCNPreRAAntiHints.h GCNPreRAAntiHints.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll llvm.amdgcn.mfma.anti-hints.gfx942.mir

[AMDGPU] Add MFMA anti-hints in GCNPreRAOptimizations
DeltaFile
+1,060-0llvm/test/CodeGen/AMDGPU/anti-hints-mfma-waw.mir
+559-0llvm/test/CodeGen/AMDGPU/anti-hints-mfma-war.mir
+510-0llvm/lib/Target/AMDGPU/GCNPreRAAntiHints.cpp
+145-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.anti-hints.gfx942.mir
+124-0llvm/lib/Target/AMDGPU/GCNPreRAAntiHints.h
+60-58llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
+2,458-585 files not shown
+2,543-12411 files

LLVM/project 04a5704llvm/lib/Target/AMDGPU SIRegisterInfo.h SIRegisterInfo.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.mfma.anti-hints.mir

[AMDGPU] Apply occupancy-aware register allocation anti-hints
DeltaFile
+373-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.anti-hints.mir
+130-1llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+16-0llvm/lib/Target/AMDGPU/SIRegisterInfo.h
+519-13 files

LLVM/project 901817eclang/include/clang/Basic DarwinSDKInfo.h, clang/lib/Basic DarwinSDKInfo.cpp

[clang][driver][darwin] Use DefaultDeploymentTarget when inferring deployment target from SDK (#217983)

Use "DefaultDeploymentTarget" from SDKSettings.json instead of "Version"
for the inferred deployment target version. This only affects the
deployment target; other uses of "Version" (e.g., -target-sdk-version=)
are unchanged.

rdar://184842209
DeltaFile
+85-0clang/test/Driver/darwin-default-deployment-target.c
+8-1clang/include/clang/Basic/DarwinSDKInfo.h
+6-2clang/lib/Basic/DarwinSDKInfo.cpp
+3-0clang/unittests/Basic/DarwinSDKInfoTest.cpp
+1-1clang/lib/Driver/ToolChains/Darwin.cpp
+103-45 files

LLVM/project 244fb01llvm/include/llvm/CodeGen MIRYamlMapping.h, llvm/include/llvm/CodeGen/MIRParser MIParser.h

[MIR] Serialize register allocation anti-hints
DeltaFile
+121-0llvm/test/CodeGen/MIR/AMDGPU/register-allocation-antihints-mir-print-parse.mir
+18-0llvm/lib/CodeGen/MIRParser/MIRParser.cpp
+12-0llvm/lib/CodeGen/MIRPrinter.cpp
+4-0llvm/include/llvm/CodeGen/MIRYamlMapping.h
+1-0llvm/include/llvm/CodeGen/MIRParser/MIParser.h
+156-05 files

LLVM/project c07ea50llvm/include/llvm/CodeGen MachineRegisterInfo.h, llvm/lib/CodeGen AllocationOrder.h MachineRegisterInfo.cpp

[RegAlloc] Add register allocation anti-hints infrastructure
DeltaFile
+59-0llvm/include/llvm/CodeGen/MachineRegisterInfo.h
+40-0llvm/lib/CodeGen/TargetRegisterInfo.cpp
+33-3llvm/lib/CodeGen/AllocationOrder.cpp
+24-0llvm/unittests/CodeGen/AllocationOrderTest.cpp
+22-0llvm/lib/CodeGen/MachineRegisterInfo.cpp
+11-0llvm/lib/CodeGen/AllocationOrder.h
+189-31 files not shown
+198-37 files

LLVM/project 6f8a10allvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/lib/Transforms/Vectorize/SLPVectorizer SLPUtils.h SLPUtils.cpp

[SLP] Cost using TCK_CodeSize under -Os and -Oz (#217398)

Refactor to centralize the cost kind decision in the SLP.

In practice there appears to be little change in the codegen as a result
of this change due to current backend costing.

Fixes #153376.
DeltaFile
+10-4llvm/test/Transforms/SLPVectorizer/X86/cost-size.ll
+6-5llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+5-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
+3-1llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
+24-104 files

LLVM/project 17ff1b6llvm/test/Transforms/LoopVectorize find-last-iv-sinkable-expr-tail-folding.ll fmax-without-fast-math-flags-interleave.ll, llvm/test/Transforms/LoopVectorize/AArch64 partial-reduce-fold-tail.ll conditional-branches-cost.ll

[WIP][VPlan] Optimize blend masks during creation

Sort the incoming edges according to RPOT order so that we could use
simpler source block mask instead of the edge mask.
DeltaFile
+108-108llvm/test/Transforms/LoopVectorize/X86/widen-canonical-iv-register-pressure.ll
+107-38llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
+5-123llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
+105-8llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
+63-46llvm/test/Transforms/LoopVectorize/find-last-iv-sinkable-expr-tail-folding.ll
+38-38llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-fold-tail.ll
+426-36166 files not shown
+946-90772 files