SuccessChanges

Summary

  1. [DomTree] Avoid creating an empty GD to reduce compile time. (details)
  2. [Attributor] Function seed allow list (details)
  3. MachineSSAUpdater: Allow initialization with just a register class (details)
  4. [opt][NewPM] Add basic-aa in legacy PM compatibility mode (details)
  5. New TableGen Programmer's Reference document (details)
  6. Fix two bugs in TGParser::ParseValue (details)
  7. [lldb] Remove --rerun-all-issues as its functionality no longer exists (details)
  8. [NFC][documentation] clarify comment in test (details)
  9. Temporairly revert "[SimplifyCFG][LoopRotate] SimplifyCFG: disable common instruction hoisting by default, enable late in pipeline" (details)
  10. Replace TableGen range piece punctuator with '...' (details)
  11. Fix swig scripts install target name (details)
Commit 7ea0ee30588ebda7c5cd69e2472d2a8e46f62035 by asbirlea
[DomTree] Avoid creating an empty GD to reduce compile time.
The file was modifiedllvm/include/llvm/Support/GenericDomTreeConstruction.h
Commit 65fcc0ee3185c684f0a4b7a3bdf14bf3d206eeb7 by kuterdinel
[Attributor] Function seed allow list

  -  Adds a command line option to seed only selected functions.
  - Makes seed allow listing exclusive to assertions enabled builds.

Reviewed By: sstefan1

Differential Revision: https://reviews.llvm.org/D86129
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/Attributor/allow_list.ll
Commit b37db11d95d87aa53426ce753410677407974a85 by nicolai.haehnle
MachineSSAUpdater: Allow initialization with just a register class

The register class is required for inserting PHIs, but the "current
virtual register" isn't actually used for anything, so let's remove it
while we're at it.

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

Change-Id: I1e647f31570ef21a7ea8e20db3454178e98a6a8b
The file was modifiedllvm/include/llvm/CodeGen/MachineSSAUpdater.h
The file was modifiedllvm/lib/CodeGen/MachineSSAUpdater.cpp
Commit b79889c2b143890463dca015432da29d3833572d by aeubanks
[opt][NewPM] Add basic-aa in legacy PM compatibility mode

The legacy PM alias analysis pipeline by default includes basic-aa.
When running `opt -foo-pass` under the NPM and -disable-basic-aa is not
specified, use basic-aa.

This decreases the number of check-llvm failures under NPM from 913 to 752.

Reviewed By: ychen, asbirlea

Differential Revision: https://reviews.llvm.org/D86167
The file was modifiedllvm/lib/Analysis/AliasAnalysis.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/limit.ll
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
Commit e0c01e6cb07133f0bb155a168d967cf854f03ffa by nicolai.haehnle
New TableGen Programmer's Reference document

This new TableGen Programmer's Reference document replaces the current Language Introduction and Language Reference documents. It brings all the TableGen reference information into one document.

As an experiment, I numbered the sections in the document. See what you think about that.

Reviewed By: lattner

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

(changes by Nicolai Hähnle <nicolai.haehnle@amd.com>:
- fixed build error due to toctree in docs/LangRef/index.rst
- fixed reference to ProgRef)

Change-Id: Ifbdfa39768b8a460aae2873103d31c7b347aff00
The file was removedllvm/docs/TableGen/LangIntro.rst
The file was removedllvm/docs/TableGen/LangRef.rst
The file was modifiedllvm/docs/TableGen/index.rst
The file was addedllvm/docs/TableGen/ProgRef.rst
Commit 17cd34409a3ab1c46ff55960b7b89c11e1d5674d by nicolai.haehnle
Fix two bugs in TGParser::ParseValue

TGParser::ParseValue contains two recursive calls, one to parse the RHS of a list paste operator and one to parse the RHS of a paste operator in a class/def name. Both of these calls neglect to check the return value to see if it is null (because of some error). This causes a crash in the next line of code, which uses the return value. The code now checks for null returns.

Differential Revision: https://reviews.llvm.org/D85852
The file was addedllvm/test/TableGen/paste-reserved.td
The file was modifiedllvm/lib/TableGen/TGParser.cpp
Commit d3a49b03a57bb7448620c31f493932018e752c0d by Jonas Devlieghere
[lldb] Remove --rerun-all-issues as its functionality no longer exists

The logic behind --rerun-all-issues was removed when we switched to LIT
as the test driver. This patch just removes the dotest option and
corresponding entry in configuration.py.
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest_args.py
The file was modifiedlldb/packages/Python/lldbsuite/test/configuration.py
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
Commit 5eff21c8ff2486dccb0c45a925b387eeec83282b by ctetreau
[NFC][documentation] clarify comment in test

test referenced a relative path to a file, but the path was not correct
relative to the project the test is in

Differential Revision: https://reviews.llvm.org/D86368
The file was modifiedllvm/test/Analysis/CostModel/AArch64/sve-bitcast.ll
Commit 503deec2183d466dad64b763bab4e15fd8804239 by lebedev.ri
Temporairly revert "[SimplifyCFG][LoopRotate] SimplifyCFG: disable common instruction hoisting by default, enable late in pipeline"

As disscussed in post-commit review starting with
https://reviews.llvm.org/D84108#2227365
while this appears to be mostly a win overall, especially code-size-wise,
this appears to shake //certain// code pattens in a way that is extremely
unfavorable for performance (+30% runtime regression)
on certain CPU's (i personally can't reproduce).

So until the behaviour is better understood, and a path forward is mapped,
let's back this out for now.

This reverts commit 1d51dc38d89bd33fb8874e242ab87b265b4dec1c.
The file was modifiedllvm/include/llvm/Transforms/Utils/SimplifyCFGOptions.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetMachine.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
The file was modifiedllvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was modifiedllvm/test/Transforms/PGOProfile/chr.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/common-code-hoisting.ll
Commit 196e6f9f18933ed33eee39a1c9350ccce6b18e2c by nicolai.haehnle
Replace TableGen range piece punctuator with '...'

The TableGen range piece punctuator is currently '-' (e.g., {0-9}),
which interacts oddly with the fact that an integer literal's sign
is part of the literal. This patch replaces the '-' with the new
punctuator '...'. The '-' punctuator is deprecated.

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

Change-Id: I3d53d14e23f878b142d8f84590dd465a0fb6c09c
The file was modifiedllvm/lib/TableGen/TGLexer.cpp
The file was modifiedllvm/docs/TableGen/ProgRef.rst
The file was modifiedllvm/lib/TableGen/TGParser.cpp
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was addedllvm/test/TableGen/range-lists.td
The file was modifiedllvm/lib/TableGen/TGLexer.h
Commit 02bf5632a94da6c3570df002804f8d3f79c11bfc by antonio.afonso
Fix swig scripts install target name

LLVM install component targets needs to be in the form of: install-{target}[-stripped]

I tested with:
```
cmake ... -DLLVM_ENABLE_PROJECTS="clang;lldb" -DLLVM_DISTRIBUTION_COMPONENTS="lldb;liblldb;lldb-python-scripts;" ...
DESTDIR=... ninja install-distribution
```

@JDevlieghere `finish_swig_python_scripts` is a really weird name for a distribution component, any reason that it has to be this way?

Differential Revision: https://reviews.llvm.org/D86235
The file was modifiedlldb/bindings/python/CMakeLists.txt