FailedChanges

Summary

  1. [NFC][llvm-dwarfdump] Avoid passing std::string by value in collectStatsForDie() (details)
  2. Fixed llvm-objcopy to add correct symbol table for ELF with program headers. (details)
  3. [ARM] Precommit test for D101898 (details)
  4. [ARM] Prevent spilling between ldrex/strex pairs (details)
  5. Revert "[PowerPC] [Clang] Enable float128 feature on VSX targets" (details)
  6. [AMDGPU] Skip invariant loads when avoiding WAR conflicts (details)
  7. Remove Windows editline from LLDB (details)
  8. Reapply "[DebugInfo] Fix updateDbgUsersToReg to support DBG_VALUE_LIST" (details)
  9. [lldb] [Process/elf-core] Fix reading FPRs from FreeBSD/i386 cores (details)
  10. [Process/elf-core] Read PID from FreeBSD prpsinfo (details)
Commit 44642505ce6be476124575f1589552bd53a6fdeb by djtodoro
[NFC][llvm-dwarfdump] Avoid passing std::string by value in collectStatsForDie()
The file was modifiedllvm/tools/llvm-dwarfdump/Statistics.cpp
Commit d8e65585f7c7cddd63920d122a9e6368d91c9389 by aorlov
Fixed llvm-objcopy to add correct symbol table for ELF with program headers.

This fixes the following bugs:
https://bugs.llvm.org/show_bug.cgi?id=43935

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D102258
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/add-symbol-no-symtab.test
The file was modifiedllvm/tools/llvm-objcopy/ELF/Object.cpp
Commit edf9d88266376a693b07668f733034d2f6b22072 by tomas.matheson
[ARM] Precommit test for D101898

Differential Revision: https://reviews.llvm.org/D101912
The file was addedllvm/test/CodeGen/ARM/atomicrmw_exclusive_monitor_ints.ll
Commit 34c098b780a27a90b5614ea3b949b9269835f2a5 by tomas.matheson
[ARM] Prevent spilling between ldrex/strex pairs

Based on the same for AArch64: 4751cadcca45984d7671e594ce95aed8fe030bf1

At -O0, the fast register allocator may insert spills between the ldrex and
strex instructions inserted by AtomicExpandPass when expanding atomicrmw
instructions in LL/SC loops. To avoid this, expand to cmpxchg loops and
therefore expand the cmpxchg pseudos after register allocation.

Required a tweak to ARMExpandPseudo::ExpandCMP_SWAP to use the 4-byte encoding
of UXT, since the pseudo instruction can be allocated a high register (R8-R15)
which the 2-byte encoding doesn't support. However, the 4-byte encodings
are not present for ARM v8-M Baseline. To enable this, two new pseudos are
added for Thumb which are only valid for v8mbase, tCMP_SWAP_8 and
tCMP_SWAP_16.

The previously committed attempt in D101164 had to be reverted due to runtime
failures in the test suites. Rather than spending time fixing that
implementation (adding another implementation of atomic operations and more
divergence between backends) I have chosen to follow the approach taken in
D101163.

Differential Revision: https://reviews.llvm.org/D101898

Depends on D101912
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb.td
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/test/CodeGen/ARM/atomicrmw_exclusive_monitor_ints.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
Commit cbd93cee9bf014402a7405479ba21f6f3340a126 by qiucofan
Revert "[PowerPC] [Clang] Enable float128 feature on VSX targets"

This commit brought build break in some f128 related tests. But that's
not the root cause. There exists some differences between Clang and
GCC's definition for 128-bit float types on PPC, so macros/functions in
glibc may not work with clang -mfloat128 well. We need to handle this
carefully and reland it.
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
The file was modifiedclang/test/Driver/ppc-f128-support-check.c
Commit 68137ef5682f936a5db14202a69548eee6294256 by Piotr Sobczak
[AMDGPU] Skip invariant loads when avoiding WAR conflicts

No need to handle invariant loads when avoiding WAR conflicts, as
there cannot be a vector store to the same memory location.

Reviewed By: foad

Differential Revision: https://reviews.llvm.org/D101177
The file was modifiedllvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-realign.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/waitcnt-no-redundant.mir
Commit 5af3a6645f38e5638b4ba03613ee18140f36962d by david.spickett
Remove Windows editline from LLDB

I don't mean to undo others' work but it looks like the hand-rolled EditLine for LLDB on Windows isn't used.  It'd be easier to make changes to bring the other platforms' Editline wrapper up to date (e.g. simplifying char vs wchar_t) without modifying/testing this one too.

Reviewed By: amccarth

Differential Revision: https://reviews.llvm.org/D102208
The file was modifiedlldb/include/lldb/Host/Editline.h
The file was removedlldb/include/lldb/Host/windows/editlinewin.h
The file was removedlldb/source/Host/windows/EditLineWin.cpp
The file was modifiedlldb/source/Host/CMakeLists.txt
Commit fdb055f4f139e225884109fbffa275bd3eb3d3b9 by stephen.tozer
Reapply "[DebugInfo] Fix updateDbgUsersToReg to support DBG_VALUE_LIST"

Previous crashes caused by this patch were the result of machine
subregisters being incorrectly handled in updateDbgUsersToReg; this has
been fixed by using RegUnits to determine overlapping registers, instead
of using the register values directly.

Differential Revision: https://reviews.llvm.org/D101523

This reverts commit 7ca26c5fa2df253878cab22e1e2f0d6f1b481218.
The file was modifiedllvm/lib/CodeGen/MachineCopyPropagation.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineRegisterInfo.h
The file was addedllvm/test/DebugInfo/ARM/machine-cp-updates-dbg-reg.mir
Commit b6c0edb9792c1a216961aefb63783ab4b986e823 by mgorny
[lldb] [Process/elf-core] Fix reading FPRs from FreeBSD/i386 cores

The FreeBSD coredumps from i386 systems contain only FSAVE-style
NT_FPREGSET.  Since we do not really support reading that kind of data
anymore, just use NT_X86_XSTATE to get FXSAVE-style data when available.

Differential Revision: https://reviews.llvm.org/D101086
The file was modifiedlldb/source/Plugins/Process/elf-core/RegisterUtilities.h
The file was addedlldb/test/Shell/Register/Core/x86-32-freebsd-fp.test
The file was modifiedlldb/test/Shell/Register/Core/x86-32-freebsd-addr.test
Commit 71e66da04cf15cf47045b5d1482803197a24a75d by mgorny
[Process/elf-core] Read PID from FreeBSD prpsinfo

Add a function to read NT_PRPSINFO note from FreeBSD core dumps.  This
is necessary to get the process ID (NT_PRSTATUS has only thread ID).
Move the lp64 check from NT_PRSTATUS parsing to the parseFreeBSDNotes()
to avoid repeating it.

Differential Revision: https://reviews.llvm.org/D101893
The file was modifiedlldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp