FailedChanges

Summary

  1. [X86] Fix a few recursivelyDeleteUnusedNodes calls that were trying to delete nodes before their user was really gone. (details)
  2. Fix violations of [basic.class.scope]p2. (details)
  3. [BrachProbablityInfo] Proportional distribution of reachable probabilities (details)
  4. [ELF] --wrap: don't error `undefined reference to __real_foo` (--no-allow-shlib-undefined) if foo is a wrapped definition (details)
  5. [mlir][SCFToGPU] Remove conversions from scf.for to gpu.launch. (details)
  6. [ObjectYAML][DWARF] Let `dumpPubSection` return `DWARFYAML::PubSection`. (details)
  7. [NFC] Move vector unmerge(trunc) combine to function (details)
  8. [GlobalISel] Combine scalar unmerge(trunc) (details)
  9. [StatepointLowering] Handle UNDEF gc values. (details)
  10. Options for Basic Block Sections, enabled in D68063 and D73674. (details)
  11. [OpenMP][OMPT] Fix and add event callbacks for detached tasks (details)
  12. [NFC][ARM][AArch64] Test runs (details)
  13. [llvm-exegesis] Fix D80610. (details)
  14. [VE] Support I32/F32 registers in assembler parser (details)
  15. Run syntax tree tests in many language modes (details)
  16. [mips] Support 64-bit relative relocations (details)
  17. [AST] Fix a null initializer crash for InitListExpr (details)
  18. [VectorCombine][X86] Add loaded insert tests from D80885 (details)
  19. [LLDB] Mark TestCreateDuringInstructionStep as flaky on Linux (details)
  20. [EarlyCSE] Common gc.relocate calls. (details)
  21. [mlir] Introduce CallOp converter for buffer placement (details)
  22. [LV] Make sure the MaxVF is a power-of-2 by rounding down. (details)
  23. [Sema] Fix -Wunused-variable in CreateBuiltinMatrixSubscriptExpr (NFC). (details)
  24. TextAPIWriter.h - reduce MemoryBuffer.h include to forward declarations. NFC. (details)
  25. TextAPIReader.h - reduce MemoryBuffer.h include to forward declaration. NFC. (details)
  26. [mlir] post-commit review fixes (details)
  27. Add missing MemoryBuffer.h include (details)
  28. [mlir] Toy tutorial: avoid erasing and then re-creating loop terminators (details)
  29. [DebugInfo] Extract a helper function to return the DWARF format name, NFC [1/10] (details)
  30. [DebugInfo] Report the format of .debug_names [2/10] (details)
  31. [DebugInfo] Report the format of compilation units [3/10] (details)
  32. [DebugInfo] Report the format of address tables [4/10] (details)
  33. [DebugInfo] Report the format of address range tables [5/10] (details)
  34. [DebugInfo] Report the format of call frame information entries [6/10] (details)
  35. [DebugInfo] Report the format of line tables [7/10] (details)
  36. [DebugInfo] Report the format of tables in .debug_pub* sections [8/10] (details)
  37. [DebugInfo] Report the format of location and range lists [9/10] (details)
  38. [DebugInfo] Report the format of type units [10/10] (details)
  39. [lldb/DWARF] Add support for pre-standard GNU call site attributes (details)
  40. [Support] Make DataExtractor error messages more clear (details)
  41. [mlir] SCFToGPUPass: fix macros referring to LOOPS to use SCF instead (details)
  42. [CSInfo][NFC] Interpret loaded parameter value separately (details)
  43. [clangd] Copy existing includes in ReplayPreamble (details)
Commit e51d5bc7a4fc967c8a99a75cfa9480eb6b3a4fae by craig.topper
[X86] Fix a few recursivelyDeleteUnusedNodes calls that were trying to delete nodes before their user was really gone.

We looked through a truncate to get to the load. So we should be
deleting the truncate first.

There is a check that the node is really unused before deleting
so this didn't cause a functional issue.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 4ccb6c36a9159809f4b98176325ae202753fe136 by richard
Fix violations of [basic.class.scope]p2.

These cases all follow the same pattern:

struct A {
  friend class X;
  //...
  class X {};
};

But 'friend class X;' injects 'X' into the surrounding namespace scope,
rather than introducing a class member. So the second 'class X {}' is a
completely different type, which changes the meaning of the earlier name
'X' from '::X' to 'A::X'.

Additionally, the friend declaration is pointless -- members of a class
don't need to be befriended to be able to access private members.
The file was modifiedclang/lib/Analysis/CFG.cpp
The file was modifiedllvm/lib/CodeGen/InterferenceCache.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
The file was modifiedclang/utils/TableGen/NeonEmitter.cpp
Commit 07239c736a5b664942551b82ffa660f2a3f14f41 by yrouban
[BrachProbablityInfo] Proportional distribution of reachable probabilities

When fixing probability of unreachable edges in
BranchProbabilityInfo::calcMetadataWeights() proportionally distribute
remainder probability over the reachable edges. The old implementation
distributes the remainder probability evenly.
See examples in the fixed tests.

Reviewers: yamauchi, ebrevnov
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D80611
The file was modifiedllvm/lib/Analysis/BranchProbabilityInfo.cpp
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/basic.ll
Commit a6ae333a0c23fc9b0783ca45e2676abac00c6723 by maskray
[ELF] --wrap: don't error `undefined reference to __real_foo` (--no-allow-shlib-undefined) if foo is a wrapped definition

This is a regression after D51283.

Also, export `foo` if `__real_foo` is referenced by a shared object.
The file was modifiedlld/ELF/SymbolTable.cpp
The file was modifiedlld/test/ELF/wrap-dynamic-undef.s
The file was modifiedlld/test/ELF/wrap-no-real.s
The file was addedlld/test/ELF/wrap-shlib-undefined.s
Commit 2bcd1927dd9f3ffc12b990bb132995a4c68f998e by ravishankarm
[mlir][SCFToGPU] Remove conversions from scf.for to gpu.launch.

Keeping in the affine.for to gpu.launch conversions, which should
probably be the affine.parallel to gpu.launch conversion as well.

Differential Revision: https://reviews.llvm.org/D80747
The file was modifiedmlir/test/Conversion/SCFToGPU/step_positive.mlir
The file was removedmlir/test/Conversion/SCFToGPU/linalg_to_gpu.mlir
The file was modifiedmlir/test/Conversion/SCFToGPU/step_one.mlir
The file was removedmlir/test/Conversion/SCFToGPU/imperfect_3D.mlir
The file was removedmlir/test/Conversion/SCFToGPU/imperfect_linalg.mlir
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
The file was removedmlir/test/Conversion/SCFToGPU/imperfect_2D.mlir
The file was modifiedmlir/include/mlir/Conversion/SCFToGPU/SCFToGPU.h
The file was removedmlir/test/Conversion/SCFToGPU/perfect_1D_setlaunch.mlir
The file was modifiedmlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
The file was modifiedmlir/include/mlir/Conversion/SCFToGPU/SCFToGPUPass.h
The file was removedmlir/test/Conversion/SCFToGPU/imperfect_4D.mlir
The file was modifiedmlir/test/Conversion/SCFToGPU/no_blocks_no_threads.mlir
Commit d3f49b8d378d0b7452f841d28db7b24e3fe9fcb6 by Xing
[ObjectYAML][DWARF] Let `dumpPubSection` return `DWARFYAML::PubSection`.

Summary: This patch addresses comments in [D80722](https://reviews.llvm.org/D80722#inline-742353)

Reviewers: grimar, jhenderson

Reviewed By: grimar, jhenderson

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80861
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp
Commit b3c6a36dba569ee7f4353173cfa3e6264ba8d7af by dominik.montada
[NFC] Move vector unmerge(trunc) combine to function

In preparation of D79567, move arsenm's vector unmerge(trunc)
combine to a new function `tryFoldUnmergeCast`
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
Commit 052c962ced71c5130d709186b78c37a4adc59d66 by dominik.montada
[GlobalISel] Combine scalar unmerge(trunc)

Summary:
Combine unmerge(trunc) to enable other merge combines.
Without this combine, the scalar unmerge(trunc(merge))
pattern cannot be combined and easily lead to
hard-to-legalize merge/unmerge artifacts.

Reviewed By: arsenm

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79567
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-bitcast.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-merge-values.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-unmerge-values.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-unmerge-values.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-freeze.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/zextload.ll
Commit fa818ded24413c8b9722dd564b04d9ffc50743b5 by dantrushin
[StatepointLowering] Handle UNDEF gc values.

Do not spill UNDEF GC values. Instead, replace corresponding
gc.relocate intrinsic with an (arbitrary, but recognizable) constant.

Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D80714
The file was modifiedllvm/test/CodeGen/X86/statepoint-uniqueing.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Commit e0bca46b0854143b2f93b60aac99e669c9776979 by tmsriram
Options for Basic Block Sections, enabled in D68063 and D73674.

This patch adds clang options:
-fbasic-block-sections={all,<filename>,labels,none} and
-funique-basic-block-section-names.
LLVM Support for basic block sections is already enabled.

+ -fbasic-block-sections={all, <file>, labels, none} : Enables/Disables basic
block sections for all or a subset of basic blocks. "labels" only enables
basic block symbols.
+ -funique-basic-block-section-names: Enables unique section names for
basic block sections, disabled by default.

Differential Revision: https://reviews.llvm.org/D68049
The file was modifiedllvm/lib/CodeGen/MachineFunction.cpp
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was addedclang/test/Driver/funique-basic-block-section-names.c
The file was modifiedllvm/include/llvm/Target/TargetMachine.h
The file was modifiedllvm/lib/CodeGen/BBSectionsPrepare.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.h
The file was addedclang/test/CodeGen/Inputs/basic-block-sections.funcnames
The file was modifiedclang/docs/UsersManual.rst
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedlld/ELF/Config.h
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was modifiedllvm/include/llvm/CodeGen/Passes.h
The file was modifiedclang/include/clang/Basic/DiagnosticFrontendKinds.td
The file was addedclang/test/CodeGen/basic-block-sections.c
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h
The file was modifiedlld/ELF/LTO.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedclang/test/Driver/fbasic-block-sections.c
The file was modifiedlld/ELF/Driver.cpp
Commit 10995c77b4766ad2d416919854228fd7a03db5ef by protze
[OpenMP][OMPT] Fix and add event callbacks for detached tasks

The OpenMP spec has the task-fulfill event for a call to omp_fulfill_event.
If the task did not yet finish execution, ompt_task_early_fulfill is used,
otherwise ompt_task_late_fulfill.
If a task does not complete, when the execution finishes (i.e., the task goes
in detached mode), ompt_task_detach instead of ompt_task_complete must be
used, when the next task is scheduled.

A test for both cases is included, which only work with clang-11+

Reviewed By: hbae

Differential revision: https://reviews.llvm.org/D80843
The file was addedopenmp/runtime/test/ompt/tasks/task_early_fulfill.c
The file was modifiedopenmp/runtime/test/ompt/callback.h
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was addedopenmp/runtime/test/ompt/tasks/task_late_fulfill.c
Commit e70cf280f80c0933dd500ff18c7a17af8057b28c by sam.parker
[NFC][ARM][AArch64] Test runs

Add code size tests runs for memory ops for both architectures.
The file was modifiedllvm/test/Analysis/CostModel/AArch64/store.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/load_store.ll
Commit 5b8c1ed2c802d3ae016363bab6d1e117b09ecdc9 by courbet
[llvm-exegesis] Fix D80610.

Summary:
Using a .data() member on a StringRef was discarding the StringRef
size, breaking llvm-exegesis on machines with counter sums (e.g.
Zen2).

Reviewers: oontvoo

Subscribers: mstojanovic, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80982
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.h
The file was modifiedllvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.cpp
Commit ec2e9ce73e6c2d70523f7e51a23bf07f998ebecd by simon.moll
[VE] Support I32/F32 registers in assembler parser

Summary:
Support I32/F32 registers in assembler parser and add regression tests of LD/ST
instructions.

Differential Revision: https://reviews.llvm.org/D80777
The file was addedllvm/test/MC/VE/LD.s
The file was modifiedllvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
The file was addedllvm/test/MC/VE/ST.s
Commit 44f989e7809633f13bd0420cc1d79660ad982173 by gribozavr
Run syntax tree tests in many language modes

Reviewers: hlopko, eduucaldas

Reviewed By: hlopko, eduucaldas

Subscribers: gribozavr2, mgorny, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80822
The file was modifiedclang/unittests/Tooling/Syntax/CMakeLists.txt
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit b00f0d4238cb34a54073cc5ab7e2060d58f69e3f by simon
[mips] Support 64-bit relative relocations

MIPS 64-bit ABI does not provide special PC-relative relocation like
R_MIPS_PC32 in 32-bit case. But we can use a "chain of relocation"
defined by N64 ABIs. In that case one relocation record might contain up
to three relocations which applied sequentially. Width of a final relocation
mask applied to the result of relocation depends on the last relocation
in the chain. In case of 64-bit PC-relative relocation we need the following
chain: `R_MIPS_PC32 | R_MIPS_64`. The first relocation calculates an
offset, but does not truncate the result. The second relocation just
apply calculated result as a 64-bit value.

The 64-bit PC-relative relocation might be useful in generation of
`.eh_frame` sections to escape passing `-Wl,-z,notext` flags to linker.

Differential Revision: https://reviews.llvm.org/D80390
The file was modifiedllvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
The file was modifiedllvm/test/MC/Mips/unsupported-relocation.s
The file was modifiedllvm/test/MC/Mips/relocation-n64.s
The file was addedlld/test/ELF/mips-pc64.s
Commit 97b8dabba5c5c1d799bd8b6856d4a81360361769 by hokein.wu
[AST] Fix a null initializer crash for InitListExpr

Summary:
The Initializer of a InitListExpr can be reset to null, which leads to
nullptr-acces crashes.

Reviewers: sammccall

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80980
The file was modifiedclang/test/AST/ast-dump-recovery.cpp
The file was modifiedclang/lib/Sema/SemaInit.cpp
Commit 6ce6960b92fcae70bc54633d16f01d302a5dad8d by llvm-dev
[VectorCombine][X86] Add loaded insert tests from D80885
The file was modifiedllvm/test/Transforms/VectorCombine/X86/insert-binop-with-constant.ll
Commit cbfae97ca82b11ab2b54562055c49817baa1e26b by omair.javaid
[LLDB] Mark TestCreateDuringInstructionStep as flaky on Linux

This patch marks TestCreateDuringInstructionStep.py as flakey for Linux.
This is failing randomly on arm/aarch64. I will monitor buildbot and
skip it if it fails again.
The file was modifiedlldb/test/API/linux/thread/create_during_instruction_step/TestCreateDuringInstructionStep.py
Commit 3c626c714c9d1521b57ff07b1211f9d21cbeceef by dantrushin
[EarlyCSE] Common gc.relocate calls.

gc.relocate intrinsic is special in that its second and third operands
are not real values, but indices into relocate's parent statepoint list
of GC pointers.
To be CSE'd, they need special handling in `isEqual()` and `getHashCode()`.

Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D80445
The file was addedllvm/test/Transforms/EarlyCSE/gc_relocate.ll
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp
Commit 3f6a35e3ffd49e063bb12464513b3847c535c242 by ehsan.nadjaran_toosi
[mlir] Introduce CallOp converter for buffer placement

Add BufferAssignmentCallOpConverter as a pattern rewriter for Buffer
Placement. It matches the signature of the caller operation with the callee
after rewriting the callee with FunctionAndBlockSignatureConverter.

Differential Revision: https://reviews.llvm.org/D80785
The file was modifiedmlir/include/mlir/Transforms/BufferPlacement.h
The file was modifiedmlir/lib/Transforms/BufferPlacement.cpp
The file was modifiedmlir/test/lib/Transforms/TestBufferPlacement.cpp
The file was modifiedmlir/test/Transforms/buffer-placement-preparation.mlir
Commit b446ec56a2987ba02dc2c80d42100be4a4689215 by flo
[LV] Make sure the MaxVF is a power-of-2 by rounding down.

LV currently only supports power of 2 vectorization factors, which has
been made explicit with the assertion added in
840450549c9199150cbdee29acef756c19660ca1.

However, if the widest type is not a power-of-2 the computed MaxVF won't
be a power-of-2 either. This patch updates computeFeasibleMaxVF to
ensure the returned value is a power-of-2 by rounding down to the
nearest power-of-2.

Fixes PR46139.

Reviewers: Ayal, gilr, rengolin

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D80870
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was addedllvm/test/Transforms/LoopVectorize/X86/fp80-widest-type.ll
Commit a6a42df506ca93df69725f732c396050060f026f by flo
[Sema] Fix -Wunused-variable in CreateBuiltinMatrixSubscriptExpr (NFC).
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit f322f1a9ed65bb55528e8b8066572831ca26fe57 by llvm-dev
TextAPIWriter.h - reduce MemoryBuffer.h include to forward declarations. NFC.
The file was modifiedllvm/include/llvm/TextAPI/MachO/TextAPIWriter.h
Commit c1e855479e4a2ca1f968360622d3b5c8100b97f5 by llvm-dev
TextAPIReader.h - reduce MemoryBuffer.h include to forward declaration. NFC.
The file was modifiedllvm/include/llvm/TextAPI/MachO/TextAPIReader.h
Commit 195d8571b9e296e7894d51cf59b7aeed42eaa2d2 by zinenko
[mlir] post-commit review fixes

This fixes several post-commit nits from D79688 and D80135, namely
typos, debug output and control flow inversion.
The file was modifiedmlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
The file was modifiedmlir/lib/Transforms/DialectConversion.cpp
Commit c5b9fa1ccced3b4b20901f78c693a1a84aff372b by llvm-dev
Add missing MemoryBuffer.h include
The file was modifiedllvm/unittests/TextAPI/TextStubHelpers.h
Commit b596ecdd574e3ec717f71950370d2f58ae44296f by zinenko
[mlir] Toy tutorial: avoid erasing and then re-creating loop terminators

The lower-to-affine-loops pass in chapters 5-7 of the Toy tutorial has
been creating affine loops, erasing their terminator and creating it
anew using a PatternRewriter instance to work around the fact that
implicit terminators were created without notifying the rewriter. Now
that has been fixed in 3ccf4a5bd109, remove the code erasing and
re-creating the terminators and rely on the default ones.
The file was modifiedmlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp
The file was modifiedmlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp
The file was modifiedmlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
Commit 5e296e3db710ea34c535f9f6a4dd3973ba8d3f74 by ikudrin
[DebugInfo] Extract a helper function to return the DWARF format name, NFC [1/10]

Differential Revision: https://reviews.llvm.org/D80523
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.h
The file was modifiedllvm/lib/BinaryFormat/Dwarf.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
Commit 6aed60c01c5a0b1258c58ced8737ac9aebe2fc43 by ikudrin
[DebugInfo] Report the format of .debug_names [2/10]

Differential Revision: https://reviews.llvm.org/D80523
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-debug-names.s
Commit ef7ada04b187b9fb2d693cd295fd8437da17de02 by ikudrin
[DebugInfo] Report the format of compilation units [3/10]

Differential Revision: https://reviews.llvm.org/D80523
The file was modifiedllvm/test/DebugInfo/dwarfdump-zlib.test
The file was modifiedllvm/test/tools/dsymutil/X86/empty-CU.test
The file was modifiedllvm/test/tools/dsymutil/X86/generate-empty-CU.test
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-header-64.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_loclists_nouse.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/lookup.s
The file was modifiedllvm/test/MC/WebAssembly/dwarfdump.ll
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-header.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_info_min_dwarf64.s
The file was modifiedllvm/test/tools/llvm-dwp/X86/info-v5.s
Commit 48232a4858b4219b4ab09a698da57de407664877 by ikudrin
[DebugInfo] Report the format of address tables [4/10]

Differential Revision: https://reviews.llvm.org/D80523
The file was modifiedllvm/test/DebugInfo/X86/debug_addr.ll
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_rela.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_64bit_address.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_address_size_mismatch.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_dwarf64.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_unsupported_version.s
Commit 2ea94c8a42bebd47eb25a2321264c19c36424009 by ikudrin
[DebugInfo] Report the format of address range tables [5/10]

Differential Revision: https://reviews.llvm.org/D80523
The file was modifiedllvm/test/MC/ARM/dwarf-asm-single-section.s
The file was modifiedllvm/test/MC/ARM/dwarf-asm-multiple-sections.s
The file was modifiedllvm/test/MC/ARM/dwarf-asm-multiple-sections-dwarf-2.s
The file was modifiedllvm/test/MC/MachO/gen-dwarf.s
The file was modifiedllvm/test/tools/dsymutil/X86/basic-lto-linking-x86.test
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-debug-aranges.s
The file was modifiedllvm/test/MC/ARM/dwarf-asm-nonstandard-section.s
The file was modifiedllvm/test/tools/dsymutil/X86/basic-linking-x86.test
The file was modifiedllvm/test/tools/dsymutil/X86/basic-lto-dw4-linking-x86.test
Commit 4933ab2ccb3a10a89ffe88e4d25e38544791caf8 by ikudrin
[DebugInfo] Report the format of call frame information entries [6/10]

Differential Revision: https://reviews.llvm.org/D80523
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_frame_GNU_args_size.s
The file was modifiedllvm/lib/BinaryFormat/Dwarf.cpp
The file was modifiedllvm/test/MC/Mips/eh-frame.s
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.h
The file was modifiedllvm/test/tools/dsymutil/X86/frame-2.test
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/eh-frame-return-address-reg.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_frame_offset.test
The file was modifiedlld/test/ELF/eh-frame-hdr-augmentation.s
The file was modifiedllvm/test/DebugInfo/X86/debug-frame-dwarf64.s
Commit da913259c7ff03d07ba52c49859c6b6669a0b386 by ikudrin
[DebugInfo] Report the format of line tables [7/10]

Differential Revision: https://reviews.llvm.org/D80523
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_line_dwarf64_large_table.s
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-line-dwo.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug-line.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_line_invalid.test
The file was modifiedllvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
Commit ec9d7ea4f5bb4e0d07ca9e3aa77b0279b19e58b1 by ikudrin
[DebugInfo] Report the format of tables in .debug_pub* sections [8/10]

Differential Revision: https://reviews.llvm.org/D80523
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-debug-pubnames.s
The file was modifiedllvm/test/DebugInfo/dwarfdump-pubnames.test
The file was modifiedllvm/test/tools/dsymutil/X86/basic-lto-dw4-linking-x86.test
The file was modifiedllvm/test/tools/dsymutil/X86/basic-lto-linking-x86.test
The file was modifiedllvm/test/tools/dsymutil/ARM/obfuscated.test
The file was modifiedllvm/test/DebugInfo/X86/gnu-public-names-gmlt.ll
The file was modifiedllvm/test/tools/dsymutil/X86/basic-linking-x86.test
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp
Commit def677194c43c04fcd9a45434a83f65cae1dc76a by ikudrin
[DebugInfo] Report the format of location and range lists [9/10]

Differential Revision: https://reviews.llvm.org/D80523
The file was modifiedllvm/test/DebugInfo/X86/split-dwarf-v5-ranges.ll
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_loclists.s
The file was modifiedllvm/test/DebugInfo/X86/rnglists_curanges.ll
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-debug-loclists-dwarf64.s
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-debug-loclists.test
The file was modifiedllvm/test/MC/ARM/dwarf-asm-multiple-sections.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_rnglists_dwarf64.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_rnglists_invalid.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_rnglists.s
The file was modifiedllvm/test/CodeGen/X86/debug-loclists.ll
The file was modifiedllvm/test/DebugInfo/X86/fission-ranges.ll
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_loclists_startx_length.s
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-rnglists-dwarf64.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFListTable.cpp
Commit c3902b62e63752edd196648f797af5f97006ae1d by ikudrin
[DebugInfo] Report the format of type units [10/10]

Differential Revision: https://reviews.llvm.org/D80523
The file was modifiedllvm/test/DebugInfo/typeunit-header.test
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/typeunit-v4-dwarf64.s
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/typeunit-v5-dwarf64.s
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-header.s
The file was modifiedllvm/test/tools/llvm-dwp/X86/simple.test
The file was modifiedllvm/test/tools/llvm-dwp/X86/type_dedup.test
Commit bddd2888264492a6deb0d447ee6ac042d3fb44e4 by pavel
[lldb/DWARF] Add support for pre-standard GNU call site attributes

Summary:
The code changes are very straight-forward -- just handle both DW_AT_GNU
and DW_AT_call versions of all tags and attributes. There is just one
small gotcha: in the GNU version, DW_AT_low_pc was used both for the
"return pc" and the "call pc" values, depending on whether the tag was
describing a tail call, while the official scheme uses different
attributes for the two things.

Reviewers: vsk, dblaikie

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D80519
The file was modifiedlldb/test/API/functionalities/tail_call_frames/disambiguate_paths_to_common_sink/TestDisambiguatePathsToCommonSink.py
The file was modifiedlldb/test/API/functionalities/tail_call_frames/disambiguate_call_site/main.cpp
The file was removedlldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/Makefile
The file was modifiedlldb/test/API/functionalities/tail_call_frames/cross_dso/Makefile
The file was modifiedlldb/test/API/functionalities/tail_call_frames/cross_object/Makefile
The file was modifiedlldb/test/API/functionalities/tail_call_frames/sbapi_support/Makefile
The file was modifiedlldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/TestInliningAndTailCalls.py
The file was modifiedlldb/test/API/functionalities/tail_call_frames/disambiguate_tail_call_seq/main.cpp
The file was modifiedlldb/test/API/functionalities/tail_call_frames/ambiguous_tail_call_seq1/TestAmbiguousTailCallSeq1.py
The file was removedlldb/test/API/functionalities/tail_call_frames/disambiguate_tail_call_seq/Makefile
The file was modifiedlldb/test/API/functionalities/tail_call_frames/disambiguate_tail_call_seq/TestDisambiguateTailCallSeq.py
The file was modifiedlldb/test/API/functionalities/param_entry_vals/basic_entry_values/main.cpp
The file was modifiedlldb/test/API/functionalities/param_entry_vals/basic_entry_values/TestBasicEntryValues.py
The file was modifiedlldb/source/Expression/DWARFExpression.cpp
The file was removedlldb/test/API/functionalities/tail_call_frames/ambiguous_tail_call_seq2/Makefile
The file was modifiedlldb/test/API/functionalities/tail_call_frames/thread_step_out_message/main.cpp
The file was modifiedlldb/test/API/functionalities/tail_call_frames/thread_step_out_or_return/Makefile
The file was modifiedlldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/main.cpp
The file was modifiedlldb/test/API/functionalities/tail_call_frames/cross_dso/One.mk
The file was removedlldb/test/API/functionalities/tail_call_frames/disambiguate_paths_to_common_sink/Makefile
The file was modifiedlldb/test/API/functionalities/tail_call_frames/thread_step_out_message/TestArtificialFrameStepOutMessage.py
The file was modifiedlldb/test/API/functionalities/tail_call_frames/unambiguous_sequence/TestUnambiguousTailCalls.py
The file was modifiedlldb/test/API/functionalities/tail_call_frames/ambiguous_tail_call_seq2/TestAmbiguousTailCallSeq2.py
The file was removedlldb/test/API/functionalities/tail_call_frames/disambiguate_call_site/Makefile
The file was removedlldb/test/API/functionalities/tail_call_frames/unambiguous_sequence/Makefile
The file was removedlldb/test/API/functionalities/tail_call_frames/ambiguous_tail_call_seq1/Makefile
The file was modifiedlldb/test/API/functionalities/tail_call_frames/disambiguate_paths_to_common_sink/main.cpp
The file was modifiedlldb/test/API/functionalities/tail_call_frames/cross_dso/Two.mk
The file was removedlldb/test/API/functionalities/tail_call_frames/thread_step_out_message/Makefile
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/test/API/functionalities/tail_call_frames/unambiguous_sequence/main.cpp
The file was modifiedlldb/test/API/functionalities/tail_call_frames/disambiguate_call_site/TestDisambiguateCallSite.py
Commit 04aea769bfad4ec78242adc2241aa751d10862f8 by pavel
[Support] Make DataExtractor error messages more clear

Summary:
This is a result of the discussion at D78113. Previously we would be
only giving the current offset at which the error was detected. However,
this was phrased somewhat ambiguously (as it could also mean that end of
data was at that offset). The new error message includes the current
offset as well as the extent of the data being read.

I've changed a couple of file-level static functions into private member
functions in order to avoid passing a bunch of new arguments everywhere.

Reviewers: dblaikie, jhenderson

Subscribers: hiraditya, MaskRay, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78558
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_too_small_for_extended_length_field.s
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-debug-loc-error-cases2.s
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugArangeSetTest.cpp
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-debug-loclists-error-cases2.s
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
The file was modifiedllvm/lib/Support/DataExtractor.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_too_small_for_length_field.s
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFAcceleratorTableTest.cpp
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_rnglists_invalid.s
The file was modifiedllvm/unittests/Support/DataExtractorTest.cpp
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDataExtractorTest.cpp
The file was modifiedllvm/include/llvm/Support/DataExtractor.h
Commit eb8edd852601270eff090dc7d42acde7cd7a2573 by zinenko
[mlir] SCFToGPUPass: fix macros referring to LOOPS to use SCF instead

One header guard was overlooked when renaming LoopOps to SCF, rename it.
Also drop two unused macros, one of which referred to LoopOp (not "Ops",
hence the overlook).
The file was modifiedmlir/include/mlir/Conversion/SCFToGPU/SCFToGPUPass.h
The file was modifiedmlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
Commit 4e8e5d60b46ea80fa66316164820c6bf781b6ee3 by djordje.todorovic
[CSInfo][NFC] Interpret loaded parameter value separately

The collectCallSiteParameters() method searches for instructions
which load values into registers used for parameters passing.
Previously, interpretation of those values, loaded by one such
instruction, was implemented inside collectCallSiteParameters() method.

This patch moves the interpretation code from collectCallSiteParameters()
method into a separate static method named interpretValue. New method is
called from collectCallSiteParameters() to process each instruction from
targeted instruction scope.

The collectCallSiteParameters() searches for loaded parameter value
among instructions which precede the call instruction, inside the same
basic block. When needed, new method (interpretValue) could be used for
searching any instruction scope.

This is preparation for search of parameter value, loaded inside call
delay slot.

Patch by Nikola Tesic

Differential revision: https://reviews.llvm.org/D78106
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit bff0c56ff92106afad22b54a90e1c612da4d6f99 by kadircet
[clangd] Copy existing includes in ReplayPreamble

ReplayPreamble was just grabbing the reference of IncludeStructure
passed to it and then replayed any includes seen so while exiting
built-in file.

This implies any include seen in built-in files being replayed as part
of preamble, even though they are not. This wasn't an issue until we've
started patching preambles, as includes from built-in files were not
mapped back to main-file.

This patch copies over existing includes at the time of
ReplayPreamble::attach and only replies those to prevent any includes
from the preamble patch getting mixed-in.
The file was modifiedclang-tools-extra/clangd/ParsedAST.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ParsedASTTests.cpp