SuccessChanges

Summary

  1. [lldb] Remove stale LLDB-Info.plist (details)
  2. [flang] Fix bogus message on internal subprogram with alternate return (details)
  3. [ARM] Custom lower i1 vector truncates (details)
  4. [TableGen] Fix use of *CurRec when CurRec is null. (details)
  5. Re-land "[CMake] Don't enable BUILD_WITH_INSTALL_RPATH when using custom build rpath" (details)
Commit 311b247c9fb58ee476184a7eb8044b8f54f95035 by Jonas Devlieghere
[lldb] Remove stale LLDB-Info.plist

Remove the stale LLDB-Info.plist which was only used by TestHelp.py. The
latter would try to parse the version number from the plist and use that
to verify the version in the help output. Of course this never matched
so it would fall back to matching any arbitrary version.

This patch does *not* change the real LLDB-Info.plist.in file which is
used for the LLDB Framework.
The file was removedlldb/resources/LLDB-Info.plist
The file was modifiedlldb/test/API/commands/help/TestHelp.py
Commit ae0d1d2e5cd3a99da0b2eefc27c8f94b95f03cc6 by psteinfeld
[flang] Fix bogus message on internal subprogram with alternate return

Internal subprograms have explicit interfaces.  If an internal subprogram has
an alternate return, we check its explicit interface.  But we were not
putting the label values of alternate returns into the actual argument.

I fixed this by changing the definition of actual arguments to be able
to contain a common::Label and putting the label for an alternate return
into the actual argument.

I also verified that we were already doing all of the semantic checking
required for alternate returns and removed a "TODO" for this.

I also added the test altreturn06.f90.

Differential Revision: https://reviews.llvm.org/D94017
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/lib/Evaluate/call.cpp
The file was modifiedflang/lib/Evaluate/formatting.cpp
The file was modifiedflang/lib/Semantics/check-call.cpp
The file was modifiedflang/include/flang/Parser/parse-tree.h
The file was modifiedflang/include/flang/Common/Fortran.h
The file was addedflang/test/Semantics/altreturn06.f90
The file was modifiedflang/include/flang/Evaluate/call.h
Commit 024af42c601063e5f831b3049612321b5629e00a by david.green
[ARM] Custom lower i1 vector truncates

The ISel patterns we have for truncating to i1's under MVE do not seem
to be correct. Instead custom lower to icmp(ne, and(x, 1), 0).

Differential Revision: https://reviews.llvm.org/D94226
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-ext.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
Commit fe50b7363a1fbf974107d75a7d0a4be8b9481b56 by paul
[TableGen] Fix use of *CurRec when CurRec is null.

I cannot build with the undefined sanitizer on Visual Studio.
The file was modifiedllvm/lib/TableGen/TGParser.cpp
Commit d9ce31ae7d1fc68de0ea1535fd25ef84e69aeb07 by raul
Re-land "[CMake] Don't enable BUILD_WITH_INSTALL_RPATH when using custom build rpath"

Reverted check for empty CMAKE_BUILD_RPATH fixed.

When `BUILD_WITH_INSTALL_RPATH` is enabled it prevents using a custom rpath only
for the build tree as the install rpath will be used. This makes it impossible to run a
runtimes build when compiling with Clang and wanting the installed rpath to be
empty (i.e. `-DCMAKE_BUILD_RPATH="<some path>" -DCMAKE_SKIP_INSTALL_RPATH=ON`).

Disable `BUILD_WITH_INSTALL_RPATH` when `CMAKE_BUILD_RPATH` is non-empty to
allow for such build scenarios.

Differential Revision: https://reviews.llvm.org/D94322
The file was modifiedllvm/cmake/modules/AddLLVM.cmake