SuccessChanges

Summary

  1. [X86][NFC] Fix RUN line bug in the testcase (details)
  2. libDebugInfoDWARF: Don't try to parse loclist[.dwo] headers when parsing debug_info[.dwo] (details)
  3. [LoopExtract][NewPM] Port -loop-extract to NPM (details)
  4. [test][NewPM] Pin -mergereturn tests to legacy PM (details)
  5. [AMDGPU] Cleanup memory legalizer interfaces (details)
  6. Revert "[clang] Improve handling of physical registers in inline assembly operands." (details)
  7. [lldb] Unconditionally strip the `.py(c)` extension when loading a module (details)
  8. [lldb] Remove lexical block and fix formatting LoadScriptingModule (NFC) (details)
  9. [ARM.td] Make instruction definitions visible to sched models (details)
Commit bd05afcb3f4093fe76dd64fe29255550bfd894ec by chen3.liu
[X86][NFC] Fix RUN line bug in the testcase

Testcase added in D78699 doesn't work because the wrong RUN line in the
testcase.

Differential Revision: https://reviews.llvm.org/D89361
The file was modifiedclang/test/CodeGen/X86/avx-union.c
Commit 9670a45c980c371c5ece8047a00b8b2abec73823 by dblaikie
libDebugInfoDWARF: Don't try to parse loclist[.dwo] headers when parsing debug_info[.dwo]

There's no way to know whether there's a loclist contribution to parse
if there's no loclistx encoding - and if there is one, there's no need
to walk back from the loclist_base (or, uin the case of
info.dwo/loclist.dwo - starting at 0 in the contribution) to parse the
header, instead rely on the DWARF32/64 and address size in the CU
that's already available.

This would come up in split DWARF (non-split wouldn't try to read a
loclist header in the absence of a loclist_base) when one unit had
location lists and another does not (because the loclists.dwo section
would be non-empty in that case - in the case where it's empty the
parsing would silently skip).

Simplify the testing a bit, rather than needing a whole dwp, etc - by
creating a malformed loclists.dwo section (and use single file Split
DWARF) that would trip up any attempt to parse it - but no attempt
should be made.
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
The file was addedllvm/test/tools/llvm-dwarfdump/X86/debug_loclists_unused_invalid.s
Commit 518ec05a104a237b6ccae20e1e84c2b462fc3ca1 by aeubanks
[LoopExtract][NewPM] Port -loop-extract to NPM

-loop-extract-single is just -loop-extract on one loop.

-loop-extract depended on -break-crit-edges and -loop-simplify in the
legacy PM, but the NPM doesn't allow specifying pass dependencies like
that, so manually add those passes to the RUN lines where necessary.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D89016
The file was modifiedllvm/test/Transforms/CodeExtractor/2004-03-17-UpdatePHIsOutsideRegion.ll
The file was modifiedllvm/test/Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll
The file was modifiedllvm/test/Transforms/CodeExtractor/BlockAddressSelfReference.ll
The file was modifiedllvm/lib/Transforms/IPO/IPO.cpp
The file was modifiedllvm/test/Transforms/CodeExtractor/LoopExtractor.ll
The file was modifiedllvm/test/Transforms/CodeExtractor/2004-03-14-NoSwitchSupport.ll
The file was modifiedllvm/test/Transforms/CodeExtractor/LoopExtractor_alloca.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was addedllvm/include/llvm/Transforms/IPO/LoopExtractor.h
The file was modifiedllvm/test/Transforms/CodeExtractor/2004-03-14-DominanceProblem.ll
The file was modifiedllvm/test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll
The file was modifiedllvm/test/Transforms/CodeExtractor/BlockAddressReference.ll
The file was modifiedllvm/test/Transforms/CodeExtractor/2004-03-17-MissedLiveIns.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Transforms/CodeExtractor/LoopExtractor_crash.ll
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/test/Transforms/CodeExtractor/LoopExtractor_min_wrapper.ll
The file was modifiedllvm/lib/Transforms/IPO/LoopExtractor.cpp
Commit 4b6e3ad9b40111852aa717fee2768f964b6d70a7 by aeubanks
[test][NewPM] Pin -mergereturn tests to legacy PM

Looks like this pass isn't really used and hasn't been worked on in a
loooong time.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D89010
The file was modifiedllvm/test/Transforms/UnifyFunctionExitNodes/unreachable-blocks-status.ll
The file was modifiedllvm/test/Transforms/CodeExtractor/LoopExtractor_infinite.ll
Commit 907d799070c351b3da0b0f4b9669f230d46e6d8d by Tony.Tye
[AMDGPU] Cleanup memory legalizer interfaces

- Rename interfaces to be in terms of acquire and release.
- Improve comments.

Differential Revision: https://reviews.llvm.org/D89355
The file was modifiedllvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
Commit 625fa47617022b2d1ed7b940f9621162874175ee by paulsson
Revert "[clang] Improve handling of physical registers in inline assembly operands."

This reverts commit c78da037783bda0f27f4d82060149166e6f0c796.

Temporarily reverted due to https://bugs.llvm.org/show_bug.cgi?id=47837.
The file was removedclang/test/CodeGen/systemz-inline-asm-02.c
The file was modifiedclang/test/CodeGen/systemz-inline-asm.c
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
Commit 1197ee35b84e1fe1c1884b3228b95351719fbb09 by Jonas Devlieghere
[lldb] Unconditionally strip the `.py(c)` extension when loading a module

Currently we only strip the Python extension when the file exists on
disk because we assumed that if it didn't exist it was a module.
However, with the change from D89334 this is no longer the case as we
want to be able to import a relative path to a .py as a module. Since we
always import a scripting module as a "python module" we should always
strip the extension if present.

Differential revision: https://reviews.llvm.org/D89352
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Commit 3b33b41604784f903c7c5c38665d75da93dbf805 by Jonas Devlieghere
[lldb] Remove lexical block and fix formatting LoadScriptingModule (NFC)
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Commit 2ad82b0ed1b4ad9e6ac462d6fe9b1247186861e5 by eleviant
[ARM.td] Make instruction definitions visible to sched models

Differential revision: https://reviews.llvm.org/D89308
The file was modifiedllvm/lib/Target/ARM/ARMScheduleA9.td
The file was modifiedllvm/lib/Target/ARM/ARMSchedule.td
The file was modifiedllvm/lib/Target/ARM/ARM.td