LLVM/project a2032f5clang-tools-extra/clang-doc Representation.h Representation.cpp

[clang-doc] Reorder struct fields to have less padding (#170222)

DeltaFile
+68-60clang-tools-extra/clang-doc/Representation.h
+1-1clang-tools-extra/clang-doc/Representation.cpp
+69-612 files

LLVM/project 8126baaclang-tools-extra/clang-doc BitcodeReader.cpp BitcodeReader.h

[clang-doc] Remove uses of consumeError (#168759)

In BitcodeReader, we were using consumeError(), which drops the error
and hides it from normal usage. To avoid that, we can just slightly
tweak the API to return an Expected<T>, and propagate the error
accordingly.
DeltaFile
+21-27clang-tools-extra/clang-doc/BitcodeReader.cpp
+1-1clang-tools-extra/clang-doc/BitcodeReader.h
+22-282 files

LLVM/project 3bea66bllvm/lib/Target/WebAssembly WebAssemblyISelLowering.cpp WebAssemblyInstrRef.td, llvm/test/CodeGen/WebAssembly addrspacecast-funcref.ll

Revert "[WebAssembly] Implement addrspacecast to funcref (#166820)"

This reverts commit d3b9fd0f86d2936b7ed8446f6d54817772753f52.
DeltaFile
+0-58llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
+0-55llvm/test/CodeGen/WebAssembly/addrspacecast-funcref.ll
+1-6llvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td
+0-1llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
+1-1204 files

LLVM/project da06d9ellvm/lib/CodeGen CFIInstrInserter.cpp

[CodeGen] Use insert idiom in CFIInstrInserter instead of find [nfc] (#170760)

DeltaFile
+2-4llvm/lib/CodeGen/CFIInstrInserter.cpp
+2-41 files

LLVM/project be79a0dflang/lib/Lower/OpenMP ClauseProcessor.cpp OpenMP.cpp, flang/test/Lower/OpenMP target.f90

Revert "[Flang][OpenMP] Add lowering support for is_device_ptr clause" (#170778)

Reverts llvm/llvm-project#169331
DeltaFile
+0-60offload/test/offloading/fortran/target-is-device-ptr.f90
+27-18flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+4-38flang/lib/Lower/OpenMP/OpenMP.cpp
+0-30flang/test/Lower/OpenMP/target.f90
+7-18mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+0-17mlir/test/Target/LLVMIR/omptarget-llvm.mlir
+38-1815 files not shown
+51-19911 files

LLVM/project d3b9fd0llvm/lib/Target/WebAssembly WebAssemblyISelLowering.cpp WebAssemblyInstrRef.td, llvm/test/CodeGen/WebAssembly addrspacecast-funcref.ll

[WebAssembly] Implement addrspacecast to funcref (#166820)

Adds lowering of `addrspacecast [0 -> 20]` to allow easy conversion of
function pointers to Wasm `funcref`

When given a constant function pointer, it lowers to a direct
`ref.func`. Otherwise it lowers to a `table.get` from
`__indirect_function_table` using the provided pointer as the index.
DeltaFile
+58-0llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
+55-0llvm/test/CodeGen/WebAssembly/addrspacecast-funcref.ll
+6-1llvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td
+1-0llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
+120-14 files

LLVM/project 8f9ef4bllvm/lib/Target/RISCV RISCVInstrInfo.cpp

[RISCV] Add OPERAND_AVL to RISCVInstrInfo::verifyInstruction. (#170770)

DeltaFile
+12-0llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
+12-01 files

LLVM/project 295f505flang/lib/Lower/OpenMP ClauseProcessor.cpp OpenMP.cpp, flang/test/Lower/OpenMP target.f90

Revert "[Flang][OpenMP] Add lowering support for is_device_ptr clause (#169331)"

This reverts commit a77c4948a5681984accd3c6d35fb51c1c5571a50.
DeltaFile
+0-60offload/test/offloading/fortran/target-is-device-ptr.f90
+27-18flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+4-38flang/lib/Lower/OpenMP/OpenMP.cpp
+0-30flang/test/Lower/OpenMP/target.f90
+7-18mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+0-17mlir/test/Target/LLVMIR/omptarget-llvm.mlir
+38-1815 files not shown
+51-19911 files

LLVM/project 89ae817libc/config/linux/arm config.json, libc/config/linux/riscv config.json

Add commas for riscv and arm configs. (#170776)

Fix for breakage introduced by pr170738
DeltaFile
+1-1libc/config/linux/arm/config.json
+1-1libc/config/linux/riscv/config.json
+2-22 files

LLVM/project bceeae8clang/lib/CodeGen CGObjCRuntime.cpp CGObjCRuntime.h

Add a cache to remember all classes that should've been realized by load
DeltaFile
+37-14clang/lib/CodeGen/CGObjCRuntime.cpp
+10-0clang/lib/CodeGen/CGObjCRuntime.h
+47-142 files

LLVM/project ed7e66alibc/config config.json, libc/config/linux/riscv config.json

Reland Refactor WIDE_READ to allow finer control over high-performance function selection (#165613) (#170738)

[Previous commit had an incorrect default case when
FIND_FIRST_CHARACTER_WIDE_READ_IMPL was not specified in config.json.
This PR is identical to that one with one line fixed.]

As we implement more high-performance string-related functions, we have
found a need for better control over their selection than the big-hammer
LIBC_CONF_STRING_LENGTH_WIDE_READ. For example, I have a memchr
implementation coming, and unless I implement it in every variant, a
simple binary value doesn't work.

This PR makes gives finer-grained control over high-performance
functions than the generic LIBC_CONF_UNSAFE_WIDE_READ option. For any
function they like, the user can now select one of four implementations
at build time:

1. element, which reads byte-by-byte (or wchar by wchar)
2. wide, which reads by unsigned long

    [11 lines not shown]
DeltaFile
+213-0libc/src/string/string_length.h
+8-156libc/src/string/string_utils.h
+10-6libc/src/string/memory_utils/aarch64/inline_strlen.h
+9-5libc/src/string/memory_utils/x86_64/inline_strlen.h
+8-3libc/config/config.json
+5-2libc/config/linux/riscv/config.json
+253-1727 files not shown
+275-18513 files

LLVM/project 0ecb1b2clang/test/CodeGenObjC expose-direct-method-opt-class-realization.m

simplify tests
DeltaFile
+33-51clang/test/CodeGenObjC/expose-direct-method-opt-class-realization.m
+33-511 files

LLVM/project 5defa85mlir/lib/Dialect/OpenACC/IR OpenACC.cpp, mlir/test/Dialect/OpenACC invalid.mlir

[mlir][acc] Improve verifier messages for device_type duplicates (#170773)

This improves the acc dialect IR verifier messages when duplicate
device_types are found by also noting which device_type is the one
causing the error.
DeltaFile
+37-21mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
+41-3mlir/test/Dialect/OpenACC/invalid.mlir
+78-242 files

LLVM/project 834b8b7mlir/include/mlir/Dialect/OpenACC OpenACCOps.td OpenACC.h, mlir/lib/Dialect/OpenACC/Transforms ACCImplicitDeclare.cpp

[acc] Add acc.specialized_routine attribute (#170766)

Introduce a new attribute `acc.specialized_routine` to mark functions
that have been specialized from a host function marked with
`acc.routine_info`.

The new attribute captures:
- A SymbolRefAttr referencing the original `acc.routine` operation
- The parallelism level via the new `ParLevel` enum
- The original function name (since specialized functions may be
renamed)

Example - before specialization:
```
acc.routine @routine_gang func(@foo) gang
acc.routine @routine_vector func(@foo) vector

func.func @foo() attributes {
  acc.routine_info = #acc.routine_info<[@routine_gang, @routine_vector]>

    [26 lines not shown]
DeltaFile
+78-0mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
+53-0mlir/test/Dialect/OpenACC/ops.mlir
+14-3mlir/include/mlir/Dialect/OpenACC/OpenACC.h
+3-1mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitDeclare.cpp
+148-44 files

LLVM/project 02ca50ellvm/lib/CodeGen ExpandMemCmp.cpp, llvm/test/Transforms/ExpandMemCmp/AArch64 memcmp.ll

[profcheck] Fix missing profile metadata in ExpandMemCmp (#169979)

This patch fixes a profile metadata missing in the `ExpandMemCmp` pass
when it expanding `memcmp` calls. This would cause branches between
different blocks to lose their profile data, potentially leading to
suboptimal code generation.

The patch updates the `ExpandMemCmp` pass to set branch weights to a
default `unknown`(50/50 weights) value when a profile is available. This
prevents the expansion from making a previously profiled branch
unprofiled.

The patch also includes updates to the tests to reflect the new branch
weights.

Co-authored-by: Jin Huang <jingold at google.com>
DeltaFile
+19-7llvm/test/Transforms/ExpandMemCmp/X86/memcmp.ll
+14-6llvm/test/Transforms/ExpandMemCmp/AArch64/memcmp.ll
+11-4llvm/test/Transforms/ExpandMemCmp/X86/memcmp-x32.ll
+7-0llvm/lib/CodeGen/ExpandMemCmp.cpp
+3-3llvm/utils/profcheck-xfail.txt
+54-205 files

LLVM/project c8fc766clang-tools-extra/clang-doc Representation.cpp

[clang-doc] Use static functions over the anonymous namespace (#170221)

DeltaFile
+4-8clang-tools-extra/clang-doc/Representation.cpp
+4-81 files

LLVM/project a992999lld/MachO Driver.cpp Options.td, lld/test/MachO set-slop-scale.s

[lld-macho]Define a flag for adjusting slop scale (#164295)

Co-authored-by: Ellis Hoag <ellis.sparky.hoag at gmail.com>
DeltaFile
+11-0lld/test/MachO/set-slop-scale.s
+8-0lld/MachO/Driver.cpp
+8-0lld/MachO/Options.td
+4-2lld/MachO/ConcatOutputSection.cpp
+1-0lld/MachO/Config.h
+32-25 files

LLVM/project 5cb282dclang/lib/CodeGen CGObjCRuntime.cpp

format
DeltaFile
+4-2clang/lib/CodeGen/CGObjCRuntime.cpp
+4-21 files

LLVM/project 97bef2aclang/lib/CodeGen CGObjCRuntime.cpp

fix some lint warnings
DeltaFile
+3-3clang/lib/CodeGen/CGObjCRuntime.cpp
+3-31 files

LLVM/project 3d5418aclang-tools-extra/clang-doc Representation.h Representation.cpp

[clang-doc] Reorder struct fields to have less padding
DeltaFile
+68-60clang-tools-extra/clang-doc/Representation.h
+1-1clang-tools-extra/clang-doc/Representation.cpp
+69-612 files

LLVM/project 3faef54clang-tools-extra/clang-doc Representation.cpp

[clang-doc] Use static functions over the anonymous namespace
DeltaFile
+4-8clang-tools-extra/clang-doc/Representation.cpp
+4-81 files

LLVM/project 9349cb1clang-tools-extra/clang-doc/tool ClangDocMain.cpp, clang-tools-extra/unittests/clang-doc SerializeTest.cpp BitcodeTest.cpp

[clang-doc] Use DiagnosticsEngine to handle diagnostic output (#170219)

[clang-doc] Use DiagnosticsEngine to handle diagnostic output

Right now we use a combination of outs() and errs() to handle tool
output. Instead, we can use existing diagnostic support in clang and
LLVM to ensure our tool has a consistent behavior with other tools.
DeltaFile
+67-57clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
+49-37clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
+47-25clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
+29-18clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
+23-12clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp
+16-14clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
+231-16316 files not shown
+343-21922 files

LLVM/project 421399dclang/lib/CodeGen CodeGenModule.cpp, clang/test/CodeGen cfi-salt.c kcfi.c

[CodeGen][KCFI] Fix asm comment style (#170739)

We can't use "#" in the middle of the asm output, so switch to a /* */
pair instead.
DeltaFile
+2-2clang/lib/CodeGen/CodeGenModule.cpp
+2-2clang/test/CodeGen/cfi-salt.c
+1-1clang/test/CodeGen/kcfi.c
+5-53 files

LLVM/project bdea6a2llvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/test/MachineVerifier/AMDGPU hazard-gfx1250-flat-src-hi.mir

[AMDGPU] Add verifier for flat_scr_base_hi read hazard (#170550)

DeltaFile
+66-0llvm/test/MachineVerifier/AMDGPU/hazard-gfx1250-flat-src-hi.mir
+11-0llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+77-02 files

LLVM/project e067be3clang/include/clang/CIR MissingFeatures.h, clang/lib/CIR/CodeGen EHScopeStack.h CIRGenCleanup.cpp

[CIR][NFC] Add flag support for eh cleanups (#170753)

This adds the `flags` variable to the EHScopeStack::Cleanup class and
routes it through the existing handlers. None of the currently
implemented handlers use these flags, but the flag will be needed for
array and NRVO variable cleanup handling.
DeltaFile
+31-1clang/lib/CIR/CodeGen/EHScopeStack.h
+11-6clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
+9-5clang/lib/CIR/CodeGen/CIRGenDecl.cpp
+5-5clang/lib/CIR/CodeGen/CIRGenClass.cpp
+2-1clang/include/clang/CIR/MissingFeatures.h
+1-1clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
+59-192 files not shown
+61-208 files

LLVM/project 772ff04mlir/lib/CAPI/ExecutionEngine ExecutionEngine.cpp, mlir/test/python execution_engine.py

[mlir][ExecutionEngine] propagate errors in mlirExecutionEngineCreate (#170592)

DeltaFile
+6-2mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
+1-0mlir/test/python/execution_engine.py
+7-22 files

LLVM/project 91cfe6bllvm/lib/Target/AMDGPU AMDGPUISelLowering.cpp AMDGPUISelLowering.h, llvm/test/CodeGen/AMDGPU llvm.exp10.ll

AMDGPU: Improve exp10 lowering for f16

For f16, this can be done accurately by converting to f32
with a multiply. Previously this was treated as an f32 case
that we happen to know is not denormal.
DeltaFile
+43-166llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
+26-13llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+3-0llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
+72-1793 files

LLVM/project 997f981clang/include/clang/DependencyScanning DependencyScannerImpl.h

[clang][deps] Update header guard (#170769)

DeltaFile
+3-3clang/include/clang/DependencyScanning/DependencyScannerImpl.h
+3-31 files

LLVM/project 8120c78llvm/test/CodeGen/AMDGPU maximumnum.bf16.ll minimumnum.bf16.ll, llvm/test/CodeGen/X86 wide-scalar-shift-by-byte-multiple-legalization.ll

Rebase

Created using spr 1.3.6-beta.1
DeltaFile
+17,522-20,773llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
+8,998-11,093llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
+8,981-11,098llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
+4,734-0llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/vlseg-vsseg.s
+4,725-0llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlseg-vsseg.s
+1,529-1,529llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fp.s
+46,489-44,4934,601 files not shown
+211,639-242,5184,607 files

LLVM/project 1a63ed4llvm/test/CodeGen/AMDGPU maximumnum.bf16.ll minimumnum.bf16.ll, llvm/test/CodeGen/X86 wide-scalar-shift-by-byte-multiple-legalization.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.6-beta.1

[skip ci]
DeltaFile
+17,522-20,773llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
+8,998-11,093llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
+8,981-11,098llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
+4,734-0llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/vlseg-vsseg.s
+4,725-0llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlseg-vsseg.s
+1,529-1,529llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fp.s
+46,489-44,4934,601 files not shown
+211,639-242,5184,607 files