LLVM/project 0a0e570clang-tools-extra/clang-doc/assets class-template.mustache, clang-tools-extra/test/clang-doc namespace.cpp

[clang-doc] Add definition information to class templates
DeltaFile
+4-5clang-tools-extra/test/clang-doc/namespace.cpp
+1-0clang-tools-extra/clang-doc/assets/class-template.mustache
+5-52 files

LLVM/project a27bb38llvm/tools/bugpoint ExecutionDriver.cpp BugDriver.h

Reapply "[NFC][bugpoint] Namespace cleanup in `bugpoint`" (#168961) (#169055)

This reverts commit b83e458fe5330227581e1e65f3866ddfcd597837.

Also undo the use of namespace qualifier for `ReducePassList` as that
seems to cause build failures.
DeltaFile
+6-9llvm/tools/bugpoint/ExecutionDriver.cpp
+5-0llvm/tools/bugpoint/BugDriver.h
+0-5llvm/tools/bugpoint/Miscompilation.cpp
+0-4llvm/tools/bugpoint/OptimizerDriver.cpp
+0-3llvm/tools/bugpoint/ExtractFunction.cpp
+11-215 files

LLVM/project 314c97allvm/include/llvm/CodeGen MachineFunction.h, llvm/lib/CodeGen MachineFunction.cpp

[AMDGPU][MC] Replace shifted registers in CFI instructions
DeltaFile
+67-67llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
+33-0llvm/lib/MC/MCDwarf.cpp
+15-15llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
+10-0llvm/lib/CodeGen/MachineFunction.cpp
+4-4llvm/test/CodeGen/AMDGPU/debug-frame.ll
+4-0llvm/include/llvm/CodeGen/MachineFunction.h
+133-864 files not shown
+141-8810 files

LLVM/project 5af79abllvm/test/CodeGen/AMDGPU gfx-callable-argument-types.ll accvgpr-spill-scc-clobber.mir

[AMDGPU] Implement CFI for CSR spills

Introduce new SPILL pseudos to allow CFI to be generated for only CSR
spills, and to make ISA-instruction-level accurate information.

Other targets either generate slightly incorrect information or rely on
conventions for how spills are placed within the entry block. The
approach in this change produces larger unwind tables, with the
increased size being spent on additional DW_CFA_advance_location
instructions needed to describe the unwinding accurately.

Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
DeltaFile
+1,932-1,933llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+2,688-0llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+490-82llvm/test/CodeGen/AMDGPU/pei-vgpr-block-spill-csr.mir
+487-11llvm/test/CodeGen/AMDGPU/debug-frame.ll
+171-160llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
+114-114llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
+5,882-2,30070 files not shown
+7,411-3,16376 files

LLVM/project 9875b29llvm/lib/Target/AMDGPU SIFrameLowering.cpp SIMachineFunctionInfo.h, llvm/test/CodeGen/AMDGPU amdgpu-spill-cfi-saved-regs.ll

[AMDGPU] Implement -amdgpu-spill-cfi-saved-regs

These spills need special CFI anyway, so implementing them directly
where CFI is emitted avoids the need to invent a mechanism to track them
from ISel.

Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
DeltaFile
+2,556-0llvm/test/CodeGen/AMDGPU/amdgpu-spill-cfi-saved-regs.ll
+35-10llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
+11-2llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
+9-0llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+7-0llvm/lib/Target/AMDGPU/SIFrameLowering.h
+2-1llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
+2,620-132 files not shown
+2,623-148 files

LLVM/project 5e30be8llvm/lib/Target/AMDGPU SIFrameLowering.cpp, llvm/test/CodeGen/AMDGPU whole-wave-functions.ll accvgpr-spill-scc-clobber.mir

WIP attempt to avoid MCRegAliasIterator
DeltaFile
+45-49llvm/test/CodeGen/AMDGPU/whole-wave-functions.ll
+30-13llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
+12-12llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+4-4llvm/test/CodeGen/AMDGPU/tail-call-inreg-arguments.error.ll
+91-784 files

LLVM/project 13aef6f

Use register pair for PC spill
DeltaFile
+0-00 files

LLVM/project 32bd3c3llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll gfx-callable-argument-types.ll

Use nounwind to avoid touching unrelated tests
DeltaFile
+6,439-112llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+579-587llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+9-694llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain-preserve.mir
+99-541llvm/test/CodeGen/AMDGPU/pei-vgpr-block-spill-csr.mir
+8-574llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir
+9-286llvm/test/CodeGen/AMDGPU/amdgcn-call-whole-wave.ll
+7,143-2,79437 files not shown
+8,092-3,54243 files

LLVM/project b46525bllvm/test/CodeGen/AMDGPU materialize-frame-index-sgpr.ll gfx-callable-argument-types.ll

Use register pair for PC spill
DeltaFile
+818-816llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
+616-618llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+552-552llvm/test/CodeGen/AMDGPU/indirect-call.ll
+160-139llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
+140-140llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
+111-111llvm/test/CodeGen/AMDGPU/sibling-call.ll
+2,397-2,37650 files not shown
+3,262-3,22956 files

LLVM/project 539d743llvm/test/CodeGen/AMDGPU eliminate-frame-index-v-add-u32.mir eliminate-frame-index-v-add-co-u32.mir

Respect MachineFunction::needsFrameMoves

Use nounwind to try to avoid cluttering tests
DeltaFile
+55-204llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
+63-134llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
+52-114llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
+22-26llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32-wave32.mir
+11-20llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-u32.mir
+10-10llvm/test/CodeGen/AMDGPU/issue98474-virtregrewriter-live-out-undef-subregisters.mir
+213-50812 files not shown
+254-56518 files

LLVM/project 4161e2fllvm/test/CodeGen/AMDGPU accvgpr-spill-scc-clobber.mir pei-build-av-spill.mir

[AMDGPU] Implement CFI for non-kernel functions

This does not implement CSR spills other than those AMDGPU handles
during PEI. The remaining spills are handled in a subsequent patch.

Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
DeltaFile
+5,568-0llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+3,000-96llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
+2,208-72llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
+2,196-0llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-mov-b32.mir
+2,136-0llvm/test/CodeGen/AMDGPU/vgpr-spill-scc-clobber.mir
+1,671-1llvm/test/CodeGen/AMDGPU/debug-frame.ll
+16,779-16977 files not shown
+25,213-1,12383 files

LLVM/project f312202llvm/lib/Target/AMDGPU SIFrameLowering.cpp

Prefer SIRegisterInfo to MCRegisterInfo and add braces
DeltaFile
+10-10llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
+10-101 files

LLVM/project 2f1e405llvm/test/CodeGen/AMDGPU eliminate-frame-index-v-add-u32.mir eliminate-frame-index-v-add-co-u32.mir, llvm/test/CodeGen/AMDGPU/GlobalISel memory-legalizer-atomic-fence.ll

Don't add IR sections to MIR tests just to add nounwind
DeltaFile
+0-480llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
+204-55llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
+134-63llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
+114-52llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
+26-22llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32-wave32.mir
+20-11llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-u32.mir
+498-6834 files not shown
+518-71310 files

LLVM/project 8ef27f7llvm/lib/Target/AMDGPU SIFrameLowering.cpp

Delete redundant MCRegisterInfo variable
DeltaFile
+1-2llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
+1-21 files

LLVM/project 02588a7clang/lib/Driver/ToolChains Gnu.cpp, clang/test/Driver amdgpu-unwind.cl

[Clang] Default to async unwind tables for amdgcn

To avoid codegen changes when enabling debug-info (see
https://bugs.llvm.org/show_bug.cgi?id=37240) we want to
enable unwind tables by default.

There is some pessimization in post-prologepilog scheduling, and a
general solution to the problem of CFI_INSTRUCTION-as-scheduling-barrier
should be explored.
DeltaFile
+26-0clang/test/Driver/amdgpu-unwind.cl
+1-0clang/lib/Driver/ToolChains/Gnu.cpp
+27-02 files

LLVM/project 5ceff64llvm/lib/Target/AMDGPU SIFrameLowering.cpp, llvm/test/CodeGen/AMDGPU debug-frame.ll eliminate-frame-index-v-add-u32.mir

[AMDGPU] Emit entry function Dwarf CFI

Entry functions represent the end of unwinding, as they are the
outer-most frame. This implies they can only have a meaningful
definition for the CFA, which AMDGPU defines using a memory location
description with a literal private address space address. The return
address is set to undefined as a sentinel value to signal the end of
unwinding.

Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
DeltaFile
+1,405-0llvm/test/CodeGen/AMDGPU/debug-frame.ll
+480-0llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
+204-12llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
+134-6llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
+114-10llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
+52-5llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
+2,389-3319 files not shown
+2,543-3925 files

LLVM/project 879504bllvm/test/CodeGen/AMDGPU cfi-pseudos.mir

Add MIR test
DeltaFile
+21-0llvm/test/CodeGen/AMDGPU/cfi-pseudos.mir
+21-01 files

LLVM/project 04d8928llvm/include/llvm/MC MCDwarf.h, llvm/lib/CodeGen MachineOperand.cpp

[MC][Dwarf] Add custom CFI pseudo-ops for use in AMDGPU

While these can be represented with .cfi_escape, using these pseudo-cfi
instructions makes .s/.mir files more readable, and it is necessary to
support updating registers in CFI instructions (something that the
AMDGPU backend requires).
DeltaFile
+186-0llvm/lib/MC/MCDwarf.cpp
+106-0llvm/lib/MC/MCParser/AsmParser.cpp
+91-1llvm/include/llvm/MC/MCDwarf.h
+76-0llvm/lib/MC/MCAsmStreamer.cpp
+75-0llvm/lib/CodeGen/MIRParser/MIParser.cpp
+58-0llvm/lib/CodeGen/MachineOperand.cpp
+592-112 files not shown
+949-118 files

LLVM/project 6210fballvm/include/llvm/MC MCDwarf.h

[MC] Use a variant to hold MCCFIInstruction state (NFC)

AMDGPU requires more complex CFI rules, normally these would be
expressed with .cfi_escape, however this would make the CFI unreadable
and makes it difficult to update registers in CFI instructions (also
something AMDGPU requires).
DeltaFile
+60-77llvm/include/llvm/MC/MCDwarf.h
+60-771 files

LLVM/project 621cbcdflang/test/Transforms/OpenACC acc-implicit-data.fir, mlir/include/mlir/Dialect/OpenACC OpenACC.h

[mlir][acc] Adds attr to acc.present to identify default clause origin (#169114)

The `acc.present` Op as generated by ACCImplicitData does not provide a
way to differentiate between `acc.present` ops that are generated
implicitly and the ones that are generated as result of an explicit
`default(present)` clause in the source code. This differentiation would
allow for better communication to the user on the decisions made by the
compiler while managing data automatically between the host and the
device. This commit adds this information as a discardable attribute on
the `acc.present` op.
DeltaFile
+4-4flang/test/Transforms/OpenACC/acc-implicit-data.fir
+4-0mlir/include/mlir/Dialect/OpenACC/OpenACC.h
+2-0mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitData.cpp
+1-1mlir/test/Dialect/OpenACC/acc-implicit-data.mlir
+11-54 files

LLVM/project 9688f88llvm/test/Transforms/LoopVectorize pr128062-interleaved-accesses-narrow-group.ll

[LV] Pre-commit test for #128062 (#164801)

In preparation to extend the work done by dfa665f ([VPlan] Add
transformation to narrow interleave groups) to make the narrowing more
powerful, pre-commit a test case from #128062.
DeltaFile
+201-0llvm/test/Transforms/LoopVectorize/pr128062-interleaved-accesses-narrow-group.ll
+201-01 files

LLVM/project 37f7b31llvm/lib/Transforms/Vectorize VPlanRecipes.cpp VPlan.h, llvm/test/Transforms/LoopVectorize narrow-to-single-scalar-widen-gep-scalable.ll widen-gep-all-indices-invariant.ll

Reland [VPlan] Handle WidenGEP in narrowToSingleScalars (#167880)

Changes: Fix a missed update to WidenGEP::usesFirstLaneOnly, and include
reduced-case test that was previously hitting the new assert: the
underlying reason was that VPWidenGEP::usesScalars was too weak, and the
single-scalar WidenGEP was not narrowed by narrowToSingleScalarRecipes.

This allows us to strip a special case in VPWidenGEP::execute.
DeltaFile
+28-42llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+60-0llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar-widen-gep-scalable.ll
+1-14llvm/lib/Transforms/Vectorize/VPlan.h
+7-7llvm/test/Transforms/LoopVectorize/RISCV/gather-scatter-cost.ll
+6-6llvm/test/Transforms/LoopVectorize/widen-gep-all-indices-invariant.ll
+2-1llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+104-706 files

LLVM/project 81f4ab8clang-tools-extra/test/clang-doc namespace.cpp

[clang-doc] Add Mustache HTML output to namespace test (#169107)

This patch adds Mustache HTML tests alongside the legacy HTML backend
for namespace output. This way, we can see exactly where the output
currently differs before replacing the legacy backend.

The same thing will be done for all other tests where the legacy HTML
backend is tested.
DeltaFile
+99-0clang-tools-extra/test/clang-doc/namespace.cpp
+99-01 files

LLVM/project 3843a50clang/lib/AST Decl.cpp, clang/unittests/AST TypePrinterTest.cpp

[Clang][TypePrinter] Make printNestedNameSpecifier look at typedefs (#169364)

This is to resolve a regression caused by #168534.

Now when we have an anonymous object like a struct or union that has a
typedef attached, we print the typedef name instead of listing it as
anonymous.
DeltaFile
+19-0clang/unittests/AST/TypePrinterTest.cpp
+3-1clang/lib/AST/Decl.cpp
+22-12 files

LLVM/project ee57352clang-tools-extra/clang-doc/assets class-template.mustache, clang-tools-extra/test/clang-doc namespace.cpp

[clang-doc] Add definition information to class templates
DeltaFile
+4-5clang-tools-extra/test/clang-doc/namespace.cpp
+1-0clang-tools-extra/clang-doc/assets/class-template.mustache
+5-52 files

LLVM/project 532c866clang/include/clang/Driver Options.td, clang/lib/Driver/ToolChains AMDGPU.cpp

address review: remove subtarget integration
DeltaFile
+0-6clang/test/Driver/amdgpu-features.c
+0-5llvm/lib/Target/AMDGPU/GCNSubtarget.h
+1-4clang/include/clang/Driver/Options.td
+0-4llvm/lib/Target/AMDGPU/AMDGPU.td
+0-4clang/lib/Driver/ToolChains/AMDGPU.cpp
+1-235 files

LLVM/project 7ad494fclang-tools-extra/test/clang-doc namespace.cpp

[clang-doc] Add Mustache HTML output to namespace test

This patch adds Mustache HTML tests alongside the legacy HTML backend
for namespace output. This way, we can see exactly where the output
currently differs before replacing the legacy backend.

The same thing will be done for all other tests where the legacy HTML
backend is tested.
DeltaFile
+99-0clang-tools-extra/test/clang-doc/namespace.cpp
+99-01 files

LLVM/project c1f24a5lldb/tools/driver Driver.cpp

[windows] improve python3.dll load check (#168864)

DeltaFile
+6-7lldb/tools/driver/Driver.cpp
+6-71 files

LLVM/project 79c56e8llvm/lib/Transforms/Coroutines CoroFrame.cpp, llvm/test/Transforms/Coroutines declare-value.ll

Add support for llvm.dbg.declare_value in the CoroSplitter pass. (#168134)

Make sure the CoroSplitter pass correctly handles `#dbg_declare_value`
intrinsics. Which means, it should identify them, and convert them to
`#dbg_declares` so that any subsequent passes do not need to be amended
to support the `#dbg_declare_value` intrinsic.

More information here:
https://discourse.llvm.org/t/rfc-introduce-new-llvm-dbg-coroframe-entry-intrinsic/88269

This patch is the second and last in a stack of patches, with the one
preceding it being: https://github.com/llvm/llvm-project/pull/168132
DeltaFile
+68-0llvm/test/Transforms/Coroutines/declare-value.ll
+61-5llvm/lib/Transforms/Coroutines/CoroFrame.cpp
+129-52 files

LLVM/project 76e9834mlir/lib/Dialect/LLVMIR/IR LLVMTypes.cpp, mlir/test/Target/LLVMIR target-ext-type.mlir

[MLIR][LLVM] Support named barrier as a global variable type in llvm dialect (#169194)

Enables `amdgcn.named.barrier` target extension type as a global
variable type in MLIR.
DeltaFile
+6-0mlir/test/Target/LLVMIR/target-ext-type.mlir
+4-0mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
+10-02 files