SuccessChanges

Summary

  1. docs: Emphasize ArrayRef over SmallVectorImpl (details)
  2. [RuntimeDyld][COFF] Report fatal error on error, rather than emiting diagnostic. (details)
  3. Fix out-of-tree clang build due to sysexits change (details)
  4. Relax FuseTensorReshapeOpAsproducer identity mapping constraint (details)
  5. [gn build] manually port 5e4409f308177 (details)
  6. [lldb] Change the xcrun (fallback) logic in GetXcodeSDK (details)
  7. [Attributor] Give up early on AANoReturn::initialize (details)
  8. [Attributor] Ignore read accesses to constant memory (details)
  9. [Attributor] Use smarter way to determine alignment of GEPs (details)
  10. [flang][openacc] Fix device_num and device_type clauses for init directive (details)
  11. [CodeGen][TailDuplicator] Don't duplicate blocks with INLINEASM_BR (details)
Commit 7193f727988360acb7037b42851f0a6fae29af9b by Duncan P. N. Exon Smith
docs: Emphasize ArrayRef over SmallVectorImpl

The section on SmallVector has a note about preferring SmallVectorImpl
for APIs but doesn't mention ArrayRef. Although ArrayRef is discussed
elsewhere, let's re-emphasize here.

Differential Revision: https://reviews.llvm.org/D49881
The file was modifiedllvm/docs/ProgrammersManual.rst
Commit b45b5166f8f91e601ebd7bc73bb6800155c4c9bc by Lang Hames
[RuntimeDyld][COFF] Report fatal error on error, rather than emiting diagnostic.

Report a fatal error if an IMAGE_REL_AMD64_ADDR32NB cannot be applied due to an
out-of-range target. Previously we emitted a diagnostic to llvm::errs and
continued.

Patch by Dale Martin. Thanks Dale!
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h
Commit 5e4409f30817798377689ef6c229f1c82815e6e8 by Matthew.Arsenault
Fix out-of-tree clang build due to sysexits change

The sysexists change broke clang building out of tree against llvm.

https://reviews.llvm.org/D88467
The file was modifiedllvm/include/llvm/Config/llvm-config.h.cmake
The file was modifiedllvm/include/llvm/Support/ExitCodes.h
The file was modifiedllvm/include/llvm/Config/config.h.cmake
Commit 7060920bd1f70b778105703a5c95066658ed5886 by ataei
Relax FuseTensorReshapeOpAsproducer identity mapping constraint

Differential Revision: https://reviews.llvm.org/D88869
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
Commit dfa70a483aad438cad826c414a5d710bab6ecf49 by thakis
[gn build] manually port 5e4409f308177
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Commit e3b0414b0ea305396a1fcfb2821ad643b0731880 by Jonas Devlieghere
[lldb] Change the xcrun (fallback) logic in GetXcodeSDK

This changes the logic in GetXcodeSDK to find an SDK with xcrun. The
code now executes the following steps:

1. If DEVELOPER_DIR is set in the environment, it invokes xcrun with
    the given developer dir. If this fails we stop and don't fall back.
2. If the shlib dir is set and exists,it invokes xcrun with the
    developer dir corresponding to the shlib dir. If this fails we fall
    back to 3.
3. We run xcrun without a developer dir.

The new behavior introduced in this patch is that we fall back to
running xcrun without a developer dir if running it based on the shlib
dir failed.

A situation where this matters is when you're running lldb from an Xcode
that has no SDKs and that is not xcode-selected. Based on lldb's shlib
dir pointing into this Xcode installation, it will do an xcrun with the
developer set to the Xcode without any SDKs which will fail. With this
patch, when that happens, we'll fall back to trying the xcode-selected
Xcode by running xcrun without a developer dir.

Differential revision: https://reviews.llvm.org/D88866
The file was modifiedlldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
Commit 3f540c05dfe90f5c0378614e3a4ada06b967227e by johannes
[Attributor] Give up early on AANoReturn::initialize

If the function is not assumed `noreturn` we should not wait for an
update to mark the call site as "may-return".

This has two kinds of consequences:
  - We have less iterations in many tests.
  - We have less deductions based on "known information" (since we ask
    earlier, point 1, and therefore assumed information is not "known"
    yet).
The latter is an artifact that we might want to tackle properly at some
point but which is not easily fixable right now.
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR16052.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/naked-return.ll
The file was modifiedllvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/musttail-call.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/musttail.ll
The file was modifiedllvm/test/Transforms/Attributor/nocapture-2.ll
The file was modifiedllvm/test/Transforms/Attributor/misc.ll
The file was modifiedllvm/test/Transforms/Attributor/returned.ll
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
The file was modifiedllvm/test/Transforms/Attributor/noalias.ll
The file was modifiedllvm/test/Transforms/Attributor/alwaysinline.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll
The file was modifiedllvm/test/Transforms/Attributor/internalize.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/multiple_callbacks.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/thiscall.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll
Commit c4cfe7a43512c8fadb2aa207f6d914858e2cc50e by johannes
[Attributor] Ignore read accesses to constant memory

The old function attribute deduction pass ignores reads of constant
memory and we need to copy this behavior to replace the pass completely.
First step are constant globals. TBAA can also describe constant
accesses and there are other possibilities. We might want to consider
asking the alias analyses that are available but for now this is simpler
and cheaper.
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/invalidation.ll
Commit 7993d61177c8c6e9aa238e57a684c6cd3db3b571 by johannes
[Attributor] Use smarter way to determine alignment of GEPs

Use same logic existing in other places to deal with base case GEPs.

Add the original Attributor talk example.
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/aggregate-promote.ll
The file was modifiedllvm/test/Transforms/Attributor/align.ll
Commit 2f40e20613758b3e11a15494c09f4b6973673d6b by clementval
[flang][openacc] Fix device_num and device_type clauses for init directive

This patch fix the device_num and device_type clauses used in the init clause. device_num was not
spelled correctly in the parser and was to restrictive with scalarIntConstantExpr instead of scalarIntExpr.
device_type is now taking a list of ScalarIntExpr.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D88571
The file was modifiedllvm/include/llvm/Frontend/OpenACC/ACC.td
The file was modifiedflang/test/Semantics/acc-clause-validity.f90
The file was modifiedflang/lib/Parser/openacc-parsers.cpp
Commit d2c61d2bf9bd1efad49acba2f2751112522686aa by isanbard
[CodeGen][TailDuplicator] Don't duplicate blocks with INLINEASM_BR

Tail duplication of a block with an INLINEASM_BR may result in a PHI
node on the indirect branch. This is okay, but it also introduces a copy
for that PHI node *after* the INLINEASM_BR, which is not okay.

See: https://github.com/ClangBuiltLinux/linux/issues/1125

Differential Revision: https://reviews.llvm.org/D88823
The file was modifiedllvm/lib/CodeGen/TailDuplicator.cpp
The file was addedllvm/test/CodeGen/X86/tail-dup-asm-goto.ll