FailedChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [llvm] Added support for stand-alone cmake object libraries. (details)
  2. [llvm] Release-mode ML InlineAdvisor (details)
  3. [NewPM] Handle -simplifycfg in opt (details)
  4. [NewPM] Add SimpleLoopUnswitchPass to PassRegistry.def (details)
  5. Revert "[AMDGPU] Enable compare operations to be selected by divergence" (details)
  6. [ELF] -r: don't parse @ (symbol versioning) for .symver inline asm in bitcode (details)
  7. [Hexagon] Reducing minimum alignment requirement (details)
  8. [clangd] Disable printing of Value for tag-types on hover (details)
  9. AMDGPU/GlobalISel: Invert parameter for div/rem lowering function (details)
  10. AMDGPU/GlobalISel: Legalize 64-bit G_SDIV/G_SREM (details)
  11. [AMDGPU] Make sure to fix implicit operands on insertBranch (details)
  12. Disable flaky lldb-vscode tests on aarch64 (details)
  13. [SLP] Precommit short load / wide math test for AArch64. (details)
  14. GlobalISel: Add unit tests for some utils functions (details)
  15. [SemaObjC] Fix a crash on invalid when 'auto' is used in a @property (details)
  16. [OpenMP] Adopt std::set in HostDataToTargetMap (details)
  17. Revert "[llvm] Added support for stand-alone cmake object libraries." (details)
  18. [llvm] Remove full stop frome error message (details)
  19. [libTooling] Delete deprecated `Stencil` combinators. (details)
  20. [MLIR] Fix affine loop fusion private memref alloc (details)
  21. LoopUtils.h - reduce AliasAnalysis.h include to forward declarations. NFC. (details)
  22. [gn build] (manually) port bdceefe95ba6a (details)
  23. [gn build] Port 4fb2116ee7f (details)
  24. Start adding support for generating CC1 command lines from CompilerInvocation (details)
  25. [gn build] Port 29125ddf132 (details)
  26. Fix coding style. NFC. (details)
  27. [X86] Replace PROC macros with an enum and a lookup table of processor information. (details)
  28. [WPD] Allow virtual calls to be analyzed with multiple type tests (details)
  29. Disable a flaky lldb-vscode test on aarch64 (details)
  30. [X86] Rename O3-pipeline.ll to opt-pipeline.ll and add O1/O2 command lines (details)
  31. [NVPTX] Fix for NVPTX module asm regression (details)
  32. [llvm-objcopy] Update help messages (details)
  33. [OpenMP][Docs] Mark TR8 `present` as claimed in docs (details)
Commit 62841415e685fe8857f75edd1fa92b7d1d08b875 by mtrofin
[llvm] Added support for stand-alone cmake object libraries.

Summary:
Currently, add_llvm_library would create an OBJECT library alongside
of a STATIC / SHARED library, but losing the link interface (its
elements would become dependencies instead). To support scenarios
where linking an object library also brings in its usage
requirements, this patch adds support for 'stand-alone' OBJECT
libraries - i.e. without an accompanying SHARED/STATIC library, and
maintaining the link interface defined by the user.

This is useful for cases where, for example, we want to build a part
of a component separately. Using a STATIC target would incur the risk
that symbols not referenced in the consumer would be dropped (which may
be undesirable).

The current application is the ML part of Analysis. It should be part
of the Analysis component, so it may reference other analyses; and (in
upcoming changes) it has dependencies on optional libraries.

Reviewers: karies, davidxl, beanz, phosek, smeenai

Subscribers: mgorny, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81447
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit bdceefe95ba6a3057947705ae7a48bfcbaed2f64 by mtrofin
[llvm] Release-mode ML InlineAdvisor

Summary:
This implementation uses a pre-trained model which is statically
compiled into a native function.

RFC: http://lists.llvm.org/pipermail/llvm-dev/2020-April/140763.html

Reviewers: davidxl, jdoerfert, dblaikie

Subscribers: mgorny, eraman, hiraditya, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81515
The file was addedllvm/lib/Analysis/ReleaseModeModelRunner.cpp
The file was addedllvm/test/Transforms/Inline/ML/bounds-checks.ll
The file was addedllvm/cmake/modules/TensorFlowCompile.cmake
The file was modifiedllvm/test/lit.site.cfg.py.in
The file was modifiedllvm/lib/Analysis/InlineAdvisor.cpp
The file was addedllvm/lib/Analysis/models/inliner/saved_model.pb
The file was modifiedllvm/test/Transforms/Inline/inlining-advisor-default.ll
The file was addedllvm/include/llvm/Analysis/MLModelRunner.h
The file was addedllvm/test/Transforms/Inline/ML/Inputs/test-module.ll
The file was modifiedllvm/CMakeLists.txt
The file was modifiedllvm/test/lit.cfg.py
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
The file was addedllvm/lib/Analysis/models/inliner/variables/variables.data-00000-of-00002
The file was addedllvm/test/Transforms/Inline/ML/ml-test-release-mode.ll
The file was modifiedllvm/include/llvm/Analysis/InlineAdvisor.h
The file was addedllvm/lib/Analysis/MLInlineAdvisor.cpp
The file was addedllvm/lib/Analysis/models/inliner/variables/variables.data-00001-of-00002
The file was addedllvm/include/llvm/Analysis/MLInlineAdvisor.h
The file was addedllvm/lib/Analysis/models/inliner/variables/variables.index
The file was addedllvm/include/llvm/Analysis/InlineModelFeatureMaps.h
The file was modifiedllvm/test/Bindings/Go/lit.local.cfg
Commit fcf0741262c6b0f37f641020f0e5f5e3f5468f2d by aeubanks
[NewPM] Handle -simplifycfg in opt

Summary:
-simplifycfg is the legacy pass name for SimplifyCFGPass.

There is already -simplify-cfg in FUNCTION_PASS_WITH_PARAMS which
handles options for SimplifyCFGPass. Maybe that should be renamed to
-simplifycfg as well?

This reduces the number of check-llvm failures under NewPM from 2619 to 2392.

Reviewers: hans, leonardchan, asbirlea, ychen

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82421
The file was modifiedllvm/lib/Passes/PassRegistry.def
Commit b5979a383a25a81d77dd1f29ed90e4e4f6359c69 by aeubanks
[NewPM] Add SimpleLoopUnswitchPass to PassRegistry.def

Summary:
Seems to just be missing from PassRegistry.def.

Makes the number of check-llvm failures under new PM go from 2619 to 2581.

Reviewers: hans, ychen, asbirlea, leonardchan

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82422
The file was modifiedllvm/lib/Passes/PassRegistry.def
Commit 778351df777b89641cadf038b17e416b0bbf31ab by arsenm2
Revert "[AMDGPU] Enable compare operations to be selected by divergence"

This reverts commit 521ac0b5cea02f629d035f807460affbb65ae7ad.

Reported to break thousands of piglit tests.
The file was modifiedllvm/test/CodeGen/AMDGPU/32-bit-local-address-space.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/saddo.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/load-select-ptr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/srem64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgcn.private-memory.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/selectcc.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uniform-cfg.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/shift-i128.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/extract_vector_elt-i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/branch-relaxation.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/control-flow-optnone.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.div.fmas.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.kill.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
The file was modifiedllvm/test/CodeGen/AMDGPU/uint_to_fp.f64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/icmp64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fshl.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/select-opt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/setcc64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cndmask-no-def-vcc.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/udivrem.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/udiv64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/si-annotate-cfg-loop-assert.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/setcc.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.mulo.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vselect.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/urem64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/extract_vector_elt-f64.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fshr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/v_cndmask.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/zero_extend.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sign_extend.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/or.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uint_to_fp.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/loop_break.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.icmp.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sint_to_fp.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vector-extract-insert.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/select-vectors.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/selectcc-opt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sad.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/min.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/i1-copy-from-loop.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/extractelt-to-trunc.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/si-annotate-cf.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/setcc-opt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/addrspacecast.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
Commit 4542c18ef295702b269204f83352b673c59e6542 by maskray
[ELF] -r: don't parse @ (symbol versioning) for .symver inline asm in bitcode

Fixes PR46420
Similar to D43307 for non-LTO.

Module-level inline assembly can use .symver to create a symbol with `@` in the name.
For relocatable output, @ should be retained in the symbol name. `@ver` should
not be parsed and dropped.

Reviewed By: grimar, psmith

Differential Revision: https://reviews.llvm.org/D82433
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/test/ELF/lto/version-script2.ll
Commit 085701b8b0084b24b6badff7440ba63ea90e112e by iajbar
[Hexagon] Reducing minimum alignment requirement

This patch reduces minimum alignment requirement to 1 byte for arguments
passed by value on stack.
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was addedllvm/test/CodeGen/Hexagon/abi-padding.ll
The file was addedllvm/test/CodeGen/Hexagon/abi-padding-2.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonCallingConv.td
Commit 6a3cffce3e8076d0608daf951575d5f4d6a333a6 by kadircet
[clangd] Disable printing of Value for tag-types on hover

Summary: This is both confusing and crashy.

Reviewers: sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82326
The file was modifiedclang-tools-extra/clangd/Hover.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
Commit b5c4e6c148464bd327b02ed5d0e267eb93455c19 by Matthew.Arsenault
AMDGPU/GlobalISel: Invert parameter for div/rem lowering function
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Commit a44867075201b6aa3355f63445d81d66ef9daa50 by Matthew.Arsenault
AMDGPU/GlobalISel: Legalize 64-bit G_SDIV/G_SREM

Now all the divisions should be complete, although we should fix
emitting the entire common part for div/rem when you use both.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-srem.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sdiv.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
Commit e8775c8d817b7aa48bea17241f0eb459823f46b2 by david.stuttard
[AMDGPU] Make sure to fix implicit operands on insertBranch

Summary:
Without fixImplicitOperands we may end up creating default implicit operands
that are the wrong wave size

Includes simple test that provokes insertBranch in the correct way to expose the
issue being fixed.

Change-Id: I92bdcdee9fcb7b4d91529b84e76a48ac8218483e

Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr, t-tye, hiraditya, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82459
The file was addedllvm/test/CodeGen/AMDGPU/insert-branch-w32.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit 8e08422385d93fd99354286abd495484f4513f88 by waltermelon
Disable flaky lldb-vscode tests on aarch64

Summary:
These two tests are flaky only on this arch for some reason. They are testing important features and are not flaky on x86_64, so I'll investigate this arm issue separatedly.

Some flaky runs:
http://lab.llvm.org:8011/builders/lldb-aarch64-ubuntu/builds/5517/steps/test/logs/stdio
http://lab.llvm.org:8011/builders/lldb-aarch64-ubuntu/builds/5527/steps/test/logs/stdio

Diff that created those tests:
https://reviews.llvm.org/D81978
The file was modifiedlldb/test/API/tools/lldb-vscode/attach/TestVSCode_attach.py
Commit f4044dd5392d97a2a0f1477f42e6039dd3764016 by flo
[SLP] Precommit short load / wide math test for AArch64.

This pattern is key to eliminate a 10% performance regression in
SPEC2006.
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
Commit 4fb2116ee7f19d8048f4d64933b3e8666e3658c2 by Matthew.Arsenault
GlobalISel: Add unit tests for some utils functions

The test constants were originally constexpr, but this apparently
crashes old versions of gcc.
The file was modifiedllvm/unittests/CodeGen/GlobalISel/CMakeLists.txt
The file was addedllvm/unittests/CodeGen/GlobalISel/GISelUtilsTest.cpp
Commit 69d2fa9ed1c1aba6f473feb03cad257e69a0cf52 by erik.pilkington
[SemaObjC] Fix a crash on invalid when 'auto' is used in a @property

rdar://48506879
The file was modifiedclang/test/SemaObjCXX/property-invalid-type.mm
The file was modifiedclang/lib/Sema/SemaType.cpp
Commit 6e5f64c44f26465829e5aed38e900129ace6e64f by tianshilei1992
[OpenMP] Adopt std::set in HostDataToTargetMap

Summary:
lookupMapping took significant time due to linear complexity searching.
This is bad for offloading from multiple host threads because lookupMapping is protected by mutex.
Use std::set for logarithmic complexity searching.

Before my change.
libomptarget inclusive time 16.7 sec, exclusive time 8.6 sec.
After the change
libomptarget inclusive time 7.3 sec, exclusive time 0.4 sec.

Most of the overhead of libomptarget (exclusive time) is gone.

Reviewers: jdoerfert, grokos

Reviewed By: grokos

Subscribers: tianshilei1992, yaxunl, guansong, sstefan1

Tags: #openmp

Differential Revision: https://reviews.llvm.org/D82264
The file was modifiedopenmp/libomptarget/src/device.h
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was modifiedopenmp/libomptarget/src/device.cpp
Commit 6a890885237a6cfa4e6310e336b0b7d2bea6ba75 by mtrofin
Revert "[llvm] Added support for stand-alone cmake object libraries."

This reverts commit 62841415e685fe8857f75edd1fa92b7d1d08b875.

The commit is a misnomer, and it "made its way in" unintentionally,
through a patch that had it as a depdendency. The change itself ended up
to be just a comment update, but the description is completely wrong.
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit fd9f5f9c1b75d6d5a6d0f12d189ea87ae82c94a0 by Jonas Devlieghere
[llvm] Remove full stop frome error message

Address post-commit feedback from James Henderson in D80959.
The file was modifiedllvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/cmdline.test
Commit 87340a2bf1d2618565b7cf606913c8968e6513fb by yitzhakm
[libTooling] Delete deprecated `Stencil` combinators.

Summary: Deletes `text()` and `selection()` combinators, since they have been deprecated for months.

Reviewers: tdl-g

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82225
The file was modifiedclang/unittests/Tooling/StencilTest.cpp
The file was modifiedclang/lib/Tooling/Transformer/Stencil.cpp
The file was modifiedclang/include/clang/Tooling/Transformer/Stencil.h
Commit aec5344f48a23217a20ece5219f9e1e2f149c552 by uday
[MLIR] Fix affine loop fusion private memref alloc

Drop stale code that provided the wrong operands to alloc.

Reported-by: rjnw on discourse

Differential Revision: https://reviews.llvm.org/D82409
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp
The file was modifiedmlir/test/Transforms/loop-fusion.mlir
Commit c18b753686dc98bf978760d19dc9cba1dba58a13 by llvm-dev
LoopUtils.h - reduce AliasAnalysis.h include to forward declarations. NFC.

Fix implicit include dependencies in source files and replace legacy AliasAnalysis typedef with AAResults where necessary.
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/LoopUtils.h
The file was modifiedllvm/unittests/Transforms/Utils/LoopUtilsTest.cpp
Commit 324fa9a4cfd1bc6cbe75d53b5c72de04aef90611 by thakis
[gn build] (manually) port bdceefe95ba6a
The file was modifiedllvm/utils/gn/secondary/llvm/test/BUILD.gn
Commit ceb298be40211a7235f73c7ff9f46603ca84fd6b by llvmgnsyncbot
[gn build] Port 4fb2116ee7f
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/CodeGen/GlobalISel/BUILD.gn
Commit 29125ddf1323951901184d2859274afdecac0327 by dany.grumberg
Start adding support for generating CC1 command lines from CompilerInvocation

This change includes the following:
- Add additional information in the relevant table-gen files to encode
the necessary information to automatically parse the argument into a
CompilerInvocation instance and to generate the appropriate command
line argument from a CompilerInvocation instance.
- Extend OptParserEmitter to emit the necessary macro tables as well as
constant tables to support parsing and generating command line
arguments for options that provide the necessary information.
- Port some options to use this new system for parsing and generating
command line arguments.

Differential Revision: https://reviews.llvm.org/D79796
The file was modifiedllvm/include/llvm/Option/OptParser.td
The file was modifiedclang/unittests/Frontend/CMakeLists.txt
The file was modifiedclang/include/clang/Driver/CC1Options.td
The file was modifiedclang/include/clang/Frontend/CompilerInvocation.h
The file was addedclang/unittests/Frontend/CompilerInvocationTest.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedllvm/utils/TableGen/OptParserEmitter.cpp
Commit e7f25483803f207a3acfd86e7ea404ec3809418f by llvmgnsyncbot
[gn build] Port 29125ddf132
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Frontend/BUILD.gn
Commit ebc9e0f1f0786b892b4a6eaf50013a18aed31aa5 by michael.hliao
Fix coding style. NFC.

- Remove `else` after `return`.
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
Commit 8dc92142e3c5332d741aff4bc81ee6aeed7784b2 by craig.topper
[X86] Replace PROC macros with an enum and a lookup table of processor information.

This patch removes the PROC macro in favor of CPUKind enum and a
table that contains information about CPUs.

The current information in the table is the CPU name, CPUKind enum
value, key feature for target multiversioning, and Is64Bit capable.
For the strings that are aliases, I've duplicated the information
in the table. This means there are more rows in the table than
CPUKind enums.

This replaces multiple StringSwitch's with loops through the table.
They are linear searches due to the table being more logically
ordered than alphabetical. The StringSwitch's would have also been
linear. I've used StringLiteral on the strings in the table so we
can quickly check the length while searching.

I contemplated having a CPUKind for each string so there was a 1:1
mapping, but didn't want to spread more names to the places that
use the enum.

My ultimate goal here is to store the features for each CPU as a
bitset within the table. Hoping to use constexpr to make this
composable so we can group features and inherit them. After the
table lookup we can turn the bitset into a list of strings for the
frontend. The current switch we have for selecting features for
CPUs has become difficult to maintain while trying to express
inheritance relationships.

Differential Revision: https://reviews.llvm.org/D82414
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedllvm/include/llvm/Support/X86TargetParser.h
Commit d291bd510e6a4e62594186cb8f3ddc18acf2ee1a by tejohnson
[WPD] Allow virtual calls to be analyzed with multiple type tests

Summary:
In D52514 I had fixed a bug with WPD after indirect call promotion, by
checking that a type test being analyzed dominates potential virtual
calls. With that fix I included a small effiency enhancement to avoid
processing a devirt candidate multiple times (when there are multiple
type tests). This latter change wasn't in response to any measured
efficiency issues, it was merely theoretical. Unfortuantely, it turns
out to limit optimization opportunities after inlining.

Specifically, consider code that looks like:

class A {
  virtual void foo();
};
class B : public A {
  void foo();
}
void callee(A *a) {
  a->foo(); // Call 1
}
void caller(B *b) {
  b->foo(); // Call 2
  callee(b);
}

After inlining callee into caller, because of the existing call to
b->foo() in caller there will be 2 type tests in caller for the vtable
pointer of b: the original type test against B from Call 2, and the
inlined type test against A from Call 1. If the code was compiled with
-fstrict-vtable-pointers, then after optimization WPD will see that
both type tests are associated with the inlined virtual Call 1.
With my earlier change to only process a virtual call against one type
test, we may only consider virtual Call 1 against the base class A type
test, which can't be devirtualized. With my change here to remove this
restriction, it also gets considered for the type test against the
derived class B type test, where it can be devirtualized.

Note that if caller didn't include it's own earlier virtual call
b->foo() we will not be able to devirtualize after inlining callee even
after this fix, since there would not be a type test against B in the
IR. As a future enhancement we can consider inserting type tests at call
sites that pass pointers to classes with virtual calls, to enable
context-sensitive devirtualization after inlining.

Reviewers: pcc, vitalybuka, evgeny777

Subscribers: Prazek, hiraditya, steven_wu, dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79235
The file was modifiedllvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was addedllvm/test/ThinLTO/X86/devirt_multiple_type_test.ll
Commit d4ef569577625d50dfe01ab54c7b9995db3e013f by waltermelon
Disable a flaky lldb-vscode test on aarch64

Summary:
These tests isflaky only on this arch for some reason. It's testing important features and is not flaky on x86_64, so I'll investigate this arm issue separatedly.

A flaky run:
http://lab.llvm.org:8011/builders/lldb-aarch64-ubuntu/builds/5540/steps/test/logs/stdio

Diff that created those tests:
https://reviews.llvm.org/D81978
The file was modifiedlldb/test/API/tools/lldb-vscode/launch/TestVSCode_launch.py
Commit 1a4f8889800a8c80819602725c5ce509ded2d451 by craig.topper
[X86] Rename O3-pipeline.ll to opt-pipeline.ll and add O1/O2 command lines

Eric Cristopher asked me about possibly disabling some passes at
-O1/Og. Figured a good first step was to test all the pipelines.
They all appear to be the same for now. Hoping we can use FileCheck
prefixes for differences to avoid repeating the contents 3 times.
The file was removedllvm/test/CodeGen/X86/O3-pipeline.ll
The file was addedllvm/test/CodeGen/X86/opt-pipeline.ll
Commit af5e61bf4fd1bf865f90beab0227ff4901246eeb by tra
[NVPTX] Fix for NVPTX module asm regression

Currently module asm ends up emitted twice and at the wrong place in the PTX.
This patch moves module asm generation into emitStartOfAsmFile() which puts at
the correct location in the generated PTX.

Differential Revision: https://reviews.llvm.org/D82280
The file was modifiedllvm/test/CodeGen/NVPTX/module-inline-asm.ll
The file was modifiedllvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
Commit ca133cdecfeacf9a36f7f4b547239ca8b799641c by alexshap
[llvm-objcopy] Update help messages

This diff updates the help messages for llvm-objcopy, llvm-strip and
llvm-install-name-tool.

Patch by Sameer Arora!

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D81907
The file was modifiedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-help-message.test
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.cpp
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/help-message.test
Commit 3fa666b883625a678cfcfd9ad96b2daabcef09e8 by jdenny.ornl
[OpenMP][Docs] Mark TR8 `present` as claimed in docs
The file was modifiedclang/docs/OpenMPSupport.rst