SuccessChanges

Summary

  1. [XCOFF][AIX] Emit EH information in traceback table (details)
  2. [sanitizer-common] Force pickup of llvm-symbolizer from new binaries. (details)
  3. [X86] Rename reduction combiners to make it clearer whats happening. NFCI. (details)
  4. [X86] Regenerate bit extraction tests, cleaning up check-prefixes. (details)
  5. [TableGen] Slim down the data structures in xxxGenInstrInfo.inc, step 1 (details)
  6. [Sema] Fix a miscompile by retaining array qualifiers when folding VLAs to constant arrays (details)
  7. NFC: balance a quote in AttrDocs.td (details)
  8. [flang] Handle multiple names for same operator (details)
Commit a1e1dcabe4fb1f24401f3153409583fe133ffd46 by diggerlin
[XCOFF][AIX] Emit EH information in traceback table

SUMMARY:

In order for the runtime on AIX to find the compact unwind section(EHInfo table),
we would need to set the following on the traceback table:

The 6th byte's longtbtable field to true to signal there is an Extended TB Table Flag.
The Extended TB Table Flag to be 0x08 to signal there is an exception handling info presents.
Emit the offset between ehinfo TC entry and TOC base after all other optional portions of traceback table.

The patch is authored by Jason Liu.

Reviewers: David Tenty, Digger Lin
Differential Revision: https://reviews.llvm.org/D92766
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
The file was modifiedllvm/lib/BinaryFormat/XCOFF.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-exception.ll
The file was modifiedllvm/include/llvm/BinaryFormat/XCOFF.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AIXException.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
Commit 66ee0d3d84a6ea04e895249aef2ea8a812664728 by 31459023+hctim
[sanitizer-common] Force pickup of llvm-symbolizer from new binaries.

It's possible currently that the sanitizer runtimes when testing grab
the path to the symbolizer through *SAN_SYMBOLIZER_PATH=...

This can be polluted by things like Android's setup script. This patch
forces external_symbolizer_path=$new_build_out_dir/llvm-symbolizer when
%env_tool_options is used.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D93352
The file was modifiedcompiler-rt/test/sanitizer_common/lit.common.cfg.py
The file was modifiedcompiler-rt/test/sanitizer_common/lit.site.cfg.py.in
Commit 553808d45620e12dad7dcab553d4444b74e6010d by llvm-dev
[X86] Rename reduction combiners to make it clearer whats happening. NFCI.

Since these are all working on reduction patterns, actually use that term in the function name to make them easier to search for.

At some point we're likely to start working with the ISD::VECREDUCE_* opcodes directly in the x86 backend, but that is still some way off.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit e5039aad45740a3017d774673867eccbbe6b0ce0 by llvm-dev
[X86] Regenerate bit extraction tests, cleaning up check-prefixes.

As noticed on D92965, we needed to simplify the prefixes to ensure all RUNs were properly covered.

We should never have a target with BMI2 without BMI1, so use that as the 'BMI level' and then check with/without TBM (all TBM targets have at least BMI1).
The file was modifiedllvm/test/CodeGen/X86/extract-lowbits.ll
The file was modifiedllvm/test/CodeGen/X86/extract-bits.ll
Commit d61ccda76965ebb9f4aa24e87899a8b0e65b2d54 by paul
[TableGen] Slim down the data structures in xxxGenInstrInfo.inc, step 1
The file was modifiedllvm/utils/TableGen/InstrInfoEmitter.cpp
Commit 95b2dab199100f5a86d3f73a995afea879886d65 by erik.pilkington
[Sema] Fix a miscompile by retaining array qualifiers when folding VLAs to constant arrays

rdar://72243125

Differential revision: https://reviews.llvm.org/D93247
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/SemaObjC/arc.m
Commit 92d6e8001e20d6d0f457ac7cab8b64f3b1a131bf by erik.pilkington
NFC: balance a quote in AttrDocs.td

This was confusing my editor.
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 7082de56b7ad4b4eeb75e59e0d4c28bed44b5d23 by tkeith
[flang] Handle multiple names for same operator

Some operators have more than one name, e.g. operator(==), operator(.eq).
That was working correctly in generic definitions but they can also
appear in other contexts: USE statements and access statements, for
example.

This changes FindInScope to always look for each of the names for
a symbol. So an operator may be use-associated under one name but
declared private under another name and it will be the same symbol.
This replaces GenericSpecInfo::FindInScope which was only usable in
some cases.

Add a version of FindInScope() that looks in the current scope to
simplify many of the calls.

Differential Revision: https://reviews.llvm.org/D93344
The file was modifiedflang/lib/Semantics/resolve-names-utils.cpp
The file was modifiedflang/lib/Semantics/resolve-names.cpp
The file was modifiedflang/test/Semantics/modfile07.f90
The file was modifiedflang/lib/Semantics/resolve-names-utils.h