LLVM/project 41f643alldb/include/lldb/Symbol LineEntry.h, lldb/source/API SBLineEntry.cpp

[lldb] Add support for synthetic LineEntry objects without valid address ranges (#158811)

Scripted frames that materialize Python functions are PC-less by design,
meaning they don't have valid address ranges. Previously,
LineEntry::IsValid()
required both a valid address range and a line number, preventing
scripted
frames from creating valid line entries for these synthetic stack
frames.

Relaxing this requirement is necessary since
`SBSymbolContext::SetLineEntry`
will first check if the LineEntry is valid and discard it otherwise.

This change introduces an `synthetic` flag that gets set when LineEntry
objects are created or modified through the SBAPI (specifically via
SetLine).
When this flag is set, IsValid() no longer requires a valid address
range,

    [9 lines not shown]
DeltaFile
+144-0lldb/test/API/python_api/sblineentry/TestSBLineEntry.py
+14-0lldb/test/API/functionalities/scripted_process/dummy_scripted_process.py
+3-2lldb/source/Symbol/LineEntry.cpp
+4-0lldb/include/lldb/Symbol/LineEntry.h
+2-0lldb/source/API/SBLineEntry.cpp
+167-25 files

LLVM/project a992f29llvm/lib/Target/AMDGPU AMDGPUAsmPrinter.cpp, llvm/lib/Target/AMDGPU/MCTargetDesc AMDGPUTargetStreamer.cpp AMDGPUTargetStreamer.h

[AMDGPU] Emit amdgpu.max_num_named_barrier resource symbol (#169851)

DeltaFile
+11-0llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
+4-3llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
+4-2llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
+3-3llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+22-84 files

LLVM/project 67307c8clang/lib/CIR/CodeGen CIRGenBuiltinX86.cpp, clang/test/CIR/CodeGenBuiltins/X86 xop-builtins.c

[CIR][X86] Add support for `vpcom` builtins (#170362)

Adds support for the `__builtin_ia32_vpcom` and `__builtin_ia32_vpcomu`
X86 builtins.

Part of #167765

---------

Signed-off-by: vishruth-thimmaiah <vishruththimmaiah at gmail.com>
DeltaFile
+298-0clang/test/CIR/CodeGenBuiltins/X86/xop-builtins.c
+65-8clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
+363-82 files

LLVM/project 00c51ecclang/include/clang/CIR/Dialect/IR CIROps.td

[CIR][NFC] Add an example to FloorOp (#170709)

DeltaFile
+7-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+7-01 files

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

comment

Created using spr 1.3.7
DeltaFile
+17,522-20,773llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
+8,857-10,952llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
+8,840-10,957llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
+4,725-0llvm/test/tools/llvm-mca/RISCV/SpacemitX60/vlseg-vsseg.s
+3,019-0llvm/test/Transforms/AggressiveInstCombine/umulh_carry4.ll
+240-1,495llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-basic-instructions.s
+43,203-44,1774,013 files not shown
+174,276-222,6244,019 files

LLVM/project 097e0e1llvm/test/tools/llvm-reduce reduce-sink-defs-to-uses.ll, llvm/tools/llvm-reduce DeltaPasses.def CMakeLists.txt

llvm-reduce: Add pass to sink defs to uses (#170317)

The intent is to reduce live ranges and reduce
the impact on later scheduling on the testcase.
DeltaFile
+264-0llvm/test/tools/llvm-reduce/reduce-sink-defs-to-uses.ll
+61-0llvm/tools/llvm-reduce/deltas/ReduceSinkDefsToUses.cpp
+18-0llvm/tools/llvm-reduce/deltas/ReduceSinkDefsToUses.h
+1-0llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
+1-0llvm/tools/llvm-reduce/DeltaPasses.def
+1-0llvm/tools/llvm-reduce/CMakeLists.txt
+346-01 files not shown
+347-07 files

LLVM/project 06c45b2flang/lib/Semantics check-omp-loop.cpp check-omp-structure.h

format
DeltaFile
+2-2flang/lib/Semantics/check-omp-loop.cpp
+2-2flang/lib/Semantics/check-omp-structure.h
+4-42 files

LLVM/project 713e944flang/include/flang/Parser openmp-utils.h, flang/lib/Parser openmp-utils.cpp

format
DeltaFile
+2-4flang/lib/Parser/openmp-utils.cpp
+2-3flang/include/flang/Parser/openmp-utils.h
+4-72 files

LLVM/project 9a2d3dcflang/lib/Semantics check-omp-loop.cpp, flang/test/Parser/OpenMP tile-fail.f90

[flang][OpenMP] Generalize checks of loop construct structure

For an OpenMP loop construct, count how many loops will effectively be
contained in its associated block. For constructs that are loop-nest
associated this number should be 1. Report cases where this number is
different.

Take into account that the block associated with a loop construct can
contain compiler directives.
DeltaFile
+120-81flang/lib/Semantics/check-omp-loop.cpp
+15-1flang/test/Semantics/OpenMP/loop-transformation-clauses01.f90
+5-5flang/test/Semantics/OpenMP/do21.f90
+4-4flang/test/Semantics/OpenMP/loop-transformation-construct02.f90
+4-4flang/test/Parser/OpenMP/tile-fail.f90
+3-3flang/test/Semantics/OpenMP/loop-association.f90
+151-983 files not shown
+156-1049 files

LLVM/project 2a10e91clang/test/CIR/CodeGen globals.cpp, flang/test/Fir global.fir

[MLIR] Zero-extend unsigned and 1-bit values when translating IntegerAttr (#169751)

This updates the LLVM IR ConstantInt creation from mlir::IntegerAttr so
that unsigned integers and 1-bit integers are zero-extended rather than
sign-extended.
DeltaFile
+11-4mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+6-0clang/test/CIR/CodeGen/globals.cpp
+3-0mlir/test/Target/LLVMIR/llvmir.mlir
+1-1flang/test/Fir/global.fir
+21-54 files

LLVM/project ca0b4a3flang/include/flang/Parser openmp-utils.h, flang/lib/Parser openmp-utils.cpp

[flang][OpenMP] Implement loop construct iterator range

Since we're trying to preserve compiler directives in loop constructs,
not every element of the associated parser::Block needs to be a loop
or an OpenMP loop construct. Implement a helper class `LoopRange` to
make it easy to iterate over elements of parser::Block that are loops
or loop constructs.
DeltaFile
+74-0flang/include/flang/Parser/openmp-utils.h
+37-0flang/lib/Parser/openmp-utils.cpp
+111-02 files

LLVM/project edbf154flang/lib/Lower OpenACC.cpp

[flang] [acc] Remove dead code after acc cache directive TODO (#170729)

Remove unreachable code after the TODO in the acc cache directive
lowering function.
DeltaFile
+0-31flang/lib/Lower/OpenACC.cpp
+0-311 files

LLVM/project e73b803flang/lib/Semantics check-omp-loop.cpp check-omp-structure.h

[flang][OpenMP] Extract check into separate function, NFC (#170728)

DeltaFile
+38-36flang/lib/Semantics/check-omp-loop.cpp
+1-0flang/lib/Semantics/check-omp-structure.h
+39-362 files

LLVM/project 8dfa716clang/lib/CodeGen CGObjCMac.cpp CGObjCRuntime.h

format
DeltaFile
+4-3clang/lib/CodeGen/CGObjCMac.cpp
+1-1clang/lib/CodeGen/CGObjCRuntime.h
+5-42 files

LLVM/project 8b71056llvm/include/llvm/MC MCSymbolGOFF.h, llvm/lib/MC MCSymbolGOFF.cpp GOFFObjectWriter.cpp

Remove hasLDAttributes() and hasERAttributes()

Just inline and simplify the expressions.
DeltaFile
+11-10llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+0-9llvm/lib/MC/MCSymbolGOFF.cpp
+4-2llvm/lib/MC/GOFFObjectWriter.cpp
+0-3llvm/include/llvm/MC/MCSymbolGOFF.h
+15-244 files

LLVM/project 0c89c24clang/lib/CodeGen CGObjCRuntime.cpp

fix mac tests
DeltaFile
+8-5clang/lib/CodeGen/CGObjCRuntime.cpp
+8-51 files

LLVM/project 00d3f98clang-tools-extra/clang-doc HTMLGenerator.cpp HTMLMustacheGenerator.cpp, clang-tools-extra/test/clang-doc namespace.cpp enum.cpp

review feedback
DeltaFile
+141-1,117clang-tools-extra/clang-doc/HTMLGenerator.cpp
+20-457clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
+84-241clang-tools-extra/test/clang-doc/namespace.cpp
+118-188clang-tools-extra/test/clang-doc/enum.cpp
+0-267clang-tools-extra/test/clang-doc/basic-project.test
+0-178clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
+363-2,44817 files not shown
+401-2,63423 files

LLVM/project daab9ddclang/include/clang/AST TypeBase.h, clang/lib/CodeGen CGExpr.cpp CGPointerAuth.cpp

[NFC][clang] Remove extra `To` in method name (#170723)

`hasPointeeToToCFIUncheckedCalleeFunctionType` ->
`hasPointeeToCFIUncheckedCalleeFunctionType`
DeltaFile
+2-2clang/include/clang/AST/TypeBase.h
+1-2clang/lib/CodeGen/CGExpr.cpp
+1-1clang/lib/CodeGen/CGPointerAuth.cpp
+1-1clang/lib/CodeGen/ItaniumCXXABI.cpp
+5-64 files

LLVM/project f0a280fclang-tools-extra/test/clang-doc comments-in-macros.cpp

[clang-doc] Add Mustache output to comment in macros test
DeltaFile
+13-2clang-tools-extra/test/clang-doc/comments-in-macros.cpp
+13-21 files

LLVM/project 61632d3clang-tools-extra/test/clang-doc conversion_function.cpp

[clang-doc] Add Mustache output to conversion function test
DeltaFile
+7-0clang-tools-extra/test/clang-doc/conversion_function.cpp
+7-01 files

LLVM/project 1417569clang-tools-extra/clang-doc JSONGenerator.cpp, clang-tools-extra/test/clang-doc basic-project.mustache.test

Address review feedback, handle extraction better
DeltaFile
+0-97clang-tools-extra/test/clang-doc/basic-project.mustache.test
+40-3clang-tools-extra/clang-doc/JSONGenerator.cpp
+0-3clang-tools-extra/test/clang-doc/json/class.cpp
+40-1033 files

LLVM/project 5596d72flang/lib/Semantics check-omp-loop.cpp check-omp-structure.h

[flang][OpenMP] Extract check into separate function, NFC
DeltaFile
+38-36flang/lib/Semantics/check-omp-loop.cpp
+1-0flang/lib/Semantics/check-omp-structure.h
+39-362 files

LLVM/project 49e0b9bclang/lib/CodeGen CGObjCRuntime.cpp, clang/test/CodeGenObjC expose-direct-method-opt-class-realization.m expose-direct-method.m

update test and fix incorrect heuristic
DeltaFile
+148-0clang/test/CodeGenObjC/expose-direct-method-opt-class-realization.m
+10-37clang/lib/CodeGen/CGObjCRuntime.cpp
+2-0clang/test/CodeGenObjC/expose-direct-method.m
+160-373 files

LLVM/project 78ee4a5llvm/lib/CodeGen MachinePipeliner.cpp, llvm/test/CodeGen/Hexagon swp-dependent-phis.ll swp-epilog-phi9.ll

[HEXAGON] [MachinePipeliner] Fix the DAG in case of dependent phis. (#135925)

This change corrects the scheduling relationship between dependent PHI
nodes. Previously, the implementation treated SU1 as the successor of
SU0. In reality, SU0 should depend on SU1, not the other way around.
The incorrect ordering could cause SU0 to be scheduled before SU1, which
leads to invalid IR: subsequent instructions may reference values that
have not yet been defined.

%3:intregs = PHI %21:intregs, %bb.6, %7:intregs, %bb.1 - SU0 %7:intregs
= PHI %21:intregs, %bb.6, %13:intregs, %bb.1 - SU1 %27:intregs = A2_zxtb
%3:intregs - SU2
%13:intregs = C2_muxri %45:predregs, 0, %46:intreg

Co-Authored by: Sumanth Gundapaneni
DeltaFile
+96-0llvm/test/CodeGen/Hexagon/swp-dependent-phis.ll
+13-2llvm/lib/CodeGen/MachinePipeliner.cpp
+4-6llvm/test/CodeGen/Hexagon/swp-epilog-phi9.ll
+113-83 files

LLVM/project d5072b9llvm/lib/Target/RISCV RISCVISelDAGToDAG.cpp RISCVInstrInfoZb.td, llvm/test/CodeGen/RISCV rv32zbkb.ll rv64zbkb.ll

[RISCV] Select (and (shl X, 8), 0xff00) -> (packh zero, X) (#170654)

Similar transforms with "pack" and "packw" are not useful:
(pack  zero, X) == (slli  X, XLEN/2)
(packw zero, X) == (slliw X, 16)
DeltaFile
+85-0llvm/test/CodeGen/RISCV/rv32zbkb.ll
+81-0llvm/test/CodeGen/RISCV/rv64zbkb.ll
+9-1llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
+3-0llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
+178-14 files

LLVM/project ef58670llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Revert [VPlan] Consolidate logic for narrowToSingleScalars (#170720)

This reverts commit 7b3ec51, as a crash was reported:
https://llvm.godbolt.org/z/dK6ff5zvr -- this will give us time to
investigate a re-land.
DeltaFile
+27-5llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+27-51 files

LLVM/project 0b252dallvm/lib/Target/SystemZ SystemZISelLowering.cpp, llvm/test/CodeGen/SystemZ args-22.ll

[SystemZ] Handle IR struct arguments correctly. (#169583)

- The size of the stack slot was previously computed in LowerCall() by using
  the original type, but that didn't work for a struct. Compute the size
  by looking at the VT of each part and the number of them instead.

- All the members of a struct have the same OrigArgIndex, so it doesn't work
  to assume that following parts belong to a split argument until another
  OrigArgIndex is encountered. Use the isSplit() and isSplitEnd() flags
  instead.

- Detect any scalar integer argumet >64 bits in CanLowerReturn() instead of
  just i128, in order to let all of them be passed on stack.
  
Fixes #168460
DeltaFile
+1,004-0llvm/test/CodeGen/SystemZ/args-22.ll
+54-26llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
+1,058-262 files

LLVM/project 0c31da1.github/workflows premerge.yaml

[CI] Report real results for aarch64 (#170535)

https://discourse.llvm.org/t/rfc-display-true-result-for-aarch64-pre-commit-ci/88928
DeltaFile
+0-1.github/workflows/premerge.yaml
+0-11 files

LLVM/project 78ab389clang/lib/CIR/CodeGen CIRGenDeclOpenACC.cpp, clang/test/CIR/CodeGenOpenACC routine-clauses.cpp

[OpenACC][CIR] Implement 'gang' lowering on `routine' (#170506)

This is a bit more work than the worker/vector/seq in that gang takes an
optional `dim` argument. The argument is always 1, 2, or 3 (constants!),
and the other argument-types that gang allows elsewhere aren't valid
here.

For the IR, we had to add 2 overloads of `addGang`. The first just adds
the 'valueless' one, which can just add to the one ArrayAttr. The second
has to add to TWO lists.

Note: The standard limits to only 1 `gang` per construct. We decided
after evaluating it, that it really means 'per device-type region'.
However, device_type isn't implemented yet, so we'll add tests for that
when we do.

At the moment, we added the device_type infrastructure however.
DeltaFile
+39-0clang/test/CIR/CodeGenOpenACC/routine-clauses.cpp
+37-0mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
+25-3clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
+5-0mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
+106-34 files

LLVM/project ed6078cllvm/test/CodeGen/DirectX llc-pipeline.ll

[NFC] Add missing analysis to `DirectX/llc-pipeline` (#170714)

The Runtime Library Function Analysis pass was added in
https://github.com/llvm/llvm-project/pull/168622 but the backend test
case was not updating accordingly.
DeltaFile
+1-0llvm/test/CodeGen/DirectX/llc-pipeline.ll
+1-01 files