FailedChanges

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

Summary

  1. Recommit "[X86] Calculate the needed size of the feature arrays in _cpu_indicator_init and getHostCPUName using the size of the feature enum." (details)
  2. [mlir][ods] Allow filtering of ops (details)
  3. [Coroutines] Ensure co_await promise.final_suspend() does not throw (details)
  4. Fix dynamic alloca detection in CloneBasicBlock (details)
  5. - Add hasNItemsOrLess and container variants of hasNItems, hasNItemsOrMore, and hasNItemsOrLess (details)
  6. [SVE] Remove calls to VectorType::getNumElements from ARM (details)
  7. add copy of MLIR .clang-tidy to squelch noise in phabricator reviews (details)
  8. [WebAssembly] Add support for externalref to MC and wasm-ld (details)
  9. [MLIR][NFC] Adopt hasNItems() for SizedRegion predicate (details)
  10. Add -ast-dump-decl-types flag to include types of value and type (details)
  11. Fix multilevel deduction where an outer pack is used in the type of an (details)
  12. [llvm-install-name-tool] Implement delete_rpath option (details)
  13. [AVR] Don't adjust for instruction size (details)
  14. [AVR] Decode single register instructions (details)
  15. [AVR] Disassemble multiplication instructions (details)
  16. [AVR] Disassemble instructions with fixed Z operand (details)
  17. [AVR] Disassemble double register instructions (details)
  18. [VectorCombine] do not use magic number for undef mask element; NFC (details)
  19. [InstCombine] add tests for integer reductions; NFC (details)
  20. [InstCombine] reassociate diff of sums into sum of diffs (details)
Commit 23654d9e7a29e6c051ba3122cc624d0199e81e73 by craig.topper
Recommit "[X86] Calculate the needed size of the feature arrays in _cpu_indicator_init and getHostCPUName using the size of the feature enum."

Hopefully this version will fix the previously buildbot failure
The file was modifiedllvm/include/llvm/Support/X86TargetParser.h
The file was modifiedcompiler-rt/lib/builtins/cpu_model.c
The file was modifiedllvm/lib/Support/Host.cpp
Commit ada0d41dbc26f013e2741d1f9e0f164943342435 by jpienaar
[mlir][ods] Allow filtering of ops

Add option to filter which op the OpDefinitionsGen run on. This enables having multiple ops together in the same TD file but generating different CC files for them (useful if one wants to use multiclasses or split out 1 dialect into multiple different libraries). There is probably more general query here (e.g., split out all ops that don't have a verify method, or that are commutative) but filtering based on op name (e.g., test.a_op) seemed a reasonable start and didn't require inventing a query specification mechanism here.

Differential Revision: https://reviews.llvm.org/D82319
The file was modifiedmlir/test/mlir-tblgen/op-decl.td
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Commit 516803dc8685ebcc5bce38b05391958ffee22643 by xun
[Coroutines] Ensure co_await promise.final_suspend() does not throw

Summary:
This patch addresses https://bugs.llvm.org/show_bug.cgi?id=46256
The spec of coroutine requires that the expression co_­await promise.final_­suspend() shall not be potentially-throwing.
To check this, we recursively look at every call (including Call, MemberCall, OperatorCall and Constructor) in all code
generated by the final suspend, and ensure that the callees are declared with noexcept. We also look at any returned data
type that requires explicit destruction, and check their destructors for noexcept.

This patch does not check declarations with dependent types yet, which will be done in future patches.

Updated all tests to add noexcept to the required functions, and added a dedicated test for this patch.

This patch might start to cause existing codebase fail to compile because most people may not have been strict in tagging
all the related functions noexcept.

Reviewers: lewissbaker, modocache, junparser

Reviewed By: modocache

Subscribers: arphaman, junparser, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82029
The file was modifiedclang/test/CodeGenCoroutines/coro-dest-slot.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-await-domination.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-params.cpp
The file was modifiedclang/test/Analysis/more-dtors-cfg-output.cpp
The file was addedclang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp
The file was modifiedclang/test/SemaCXX/coroutines.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/CodeGenCoroutines/coro-alloc.cpp
The file was modifiedclang/test/SemaCXX/coreturn.cpp
The file was modifiedclang/test/SemaCXX/coroutine-unhandled_exception-warning.cpp
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-promise-dtor.cpp
The file was modifiedclang/test/SemaCXX/coroutine-uninitialized-warning-crash.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/CodeGenCXX/ubsan-coroutines.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-await.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-always-inline.cpp
The file was modifiedclang/test/SemaCXX/coroutine-rvo.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-gro-nrvo.cpp
The file was modifiedclang/test/AST/coroutine-source-location-crash.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-ret-void.cpp
The file was modifiedclang/test/SemaCXX/co_await-range-for.cpp
The file was modifiedclang/test/CodeGenCoroutines/Inputs/coroutine.h
The file was modifiedclang/test/SemaCXX/Inputs/std-coroutine.h
The file was modifiedclang/test/CodeGenCoroutines/coro-return.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-newpm-pipeline.cpp
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp
The file was modifiedclang/test/AST/Inputs/std-coroutine.h
The file was modifiedclang/test/CodeGenCoroutines/coro-await-resume-eh.cpp
The file was modifiedclang/test/Index/coroutines.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-unhandled-exception.cpp
The file was modifiedclang/test/SemaCXX/coreturn-eh.cpp
The file was modifiedclang/test/CodeGenCoroutines/coro-return-voidtype-initlist.cpp
Commit d335c1317b6170918311fcbccc39fe31b3a84bda by aeubanks
Fix dynamic alloca detection in CloneBasicBlock

Summary:
Simply check AI->isStaticAlloca instead of reimplementing checks for
static/dynamic allocas.

Reviewers: efriedma

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82328
The file was modifiedllvm/unittests/Transforms/Utils/CloningTest.cpp
The file was modifiedllvm/lib/Transforms/Utils/CloneFunction.cpp
Commit 0d9726bc3dba2ce7e554bf3140e33b5781639a1f by jurahul
- Add hasNItemsOrLess and container variants of hasNItems, hasNItemsOrMore, and hasNItemsOrLess
- Fixed a bug in hasNItems()
- Extend the STLExtras unit test to test hasSingleElement() and hasNItems() and friends.

Differential Revision: https://reviews.llvm.org/D82232
The file was modifiedllvm/unittests/ADT/STLExtrasTest.cpp
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
Commit cd6848f6e1dfe61206e00fb1c1fb8fbe1c5eeed8 by ctetreau
[SVE] Remove calls to VectorType::getNumElements from ARM

Reviewers: efriedma, greened, c-rhodes, david-arm, dmgreen

Reviewed By: dmgreen

Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, dmgreen, danielkiss, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82216
The file was modifiedllvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
Commit a9c478acd090bfdb162573af09e777571f8ae1d7 by eschweitz
add copy of MLIR .clang-tidy to squelch noise in phabricator reviews
The file was addedflang/include/flang/Lower/.clang-tidy
The file was addedflang/lib/Lower/.clang-tidy
The file was addedflang/include/flang/Optimizer/.clang-tidy
The file was addedflang/lib/Optimizer/.clang-tidy
Commit 79aad89d8d29029b4e937137e6b8619ee8a4b691 by sbc
[WebAssembly] Add support for externalref to MC and wasm-ld

This allows code for handling externref values to be processed by the
assembler and linker.

Differential Revision: https://reviews.llvm.org/D81977
The file was modifiedllvm/lib/ObjectYAML/WasmYAML.cpp
The file was addedllvm/test/MC/WebAssembly/externref.s
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/Wasm.h
The file was modifiedllvm/lib/Object/WasmObjectFile.cpp
The file was modifiedlld/wasm/WriterUtils.cpp
The file was addedlld/test/wasm/externref.s
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp
Commit c20875a48c3b6633b9187f81476519c6be217fa1 by jurahul
[MLIR][NFC] Adopt hasNItems() for SizedRegion predicate

Differential Revision: https://reviews.llvm.org/D82334
The file was modifiedmlir/include/mlir/IR/OpBase.td
Commit e135cf8a03b974d2a43eb9fb93ad2d9adefcdf34 by richard
Add -ast-dump-decl-types flag to include types of value and type
declarations in AST dumps.

Includes a testcase for deduction guide transformation that makes use of
this new dumping feature.
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Frontend/FrontendOptions.h
The file was modifiedclang/lib/Frontend/ASTConsumers.cpp
The file was modifiedclang/include/clang/Driver/CC1Options.td
The file was modifiedclang/lib/Frontend/FrontendActions.cpp
The file was modifiedclang/tools/clang-check/ClangCheck.cpp
The file was modifiedclang/include/clang/Frontend/ASTConsumers.h
The file was modifiedclang/tools/clang-import-test/clang-import-test.cpp
The file was addedclang/test/SemaTemplate/deduction-guide.cpp
Commit 009c9b83acfc8bb863894e349bccc2473c685dbc by richard
Fix multilevel deduction where an outer pack is used in the type of an
inner non-type pack at a different index.

We previously considered the index of the outer pack (which would refer
to an unrelated template parameter) to be deduced by deducing the inner
pack, because we inspected the (largely meaningless) type of an expanded
non-type template parameter pack.
The file was modifiedclang/test/SemaTemplate/deduction-guide.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
Commit d332ec9209ac0a54fc4f1e5e4edc7948fcc4d6af by alexshap
[llvm-install-name-tool] Implement delete_rpath option

This diff adds support for deleting an rpath from a Mach-O binary.

Patch by Sameer Arora!

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D81527
The file was addedllvm/test/tools/llvm-objcopy/MachO/remove-lc-index-update.test
The file was modifiedllvm/tools/llvm-objcopy/InstallNameToolOpts.td
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.h
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.h
The file was addedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-delete-rpath.test
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.cpp
Commit ff4817ec2adb1e716051c286bcdc5ef4d1b32dd3 by aykevanlaethem
[AVR] Don't adjust for instruction size

I'm not entirely sure why this was ever needed, but when I remove both
adjustments all tests still pass.

This fixes a bug where a long branch (using the `jmp` instead of the
`rjmp` instruction) was incorrectly adjusted by 2 because it jumps to an
absolute address instead of a PC-relative address. I could have added
AVR::fixup_call to the list of exceptions, but it seemed more sensible
to me to just remove this code.

Differential Revision: https://reviews.llvm.org/D78459
The file was addedllvm/test/CodeGen/AVR/jmp-long.ll
The file was modifiedllvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
Commit 01c2209d518c7f19de7997ac29385c699a7ccd35 by aykevanlaethem
[AVR] Decode single register instructions

This is a set of instructions that take just a single register as an
operand, with no immediates. Because all instructions share the same
format, I haven't added exhaustive bit testing to all instructions but
just to the inc instruction.

Differential Revision: https://reviews.llvm.org/D81968
The file was modifiedllvm/test/MC/AVR/inst-lsr.s
The file was modifiedllvm/test/MC/AVR/inst-neg.s
The file was modifiedllvm/test/MC/AVR/inst-asr.s
The file was modifiedllvm/test/MC/AVR/inst-inc.s
The file was modifiedllvm/test/MC/AVR/inst-swap.s
The file was modifiedllvm/test/MC/AVR/inst-com.s
The file was modifiedllvm/test/MC/AVR/inst-pop.s
The file was modifiedllvm/lib/Target/AVR/AVRInstrFormats.td
The file was modifiedllvm/test/MC/AVR/inst-dec.s
The file was modifiedllvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
The file was modifiedllvm/test/MC/AVR/inst-push.s
The file was modifiedllvm/test/MC/AVR/inst-ror.s
Commit ec9efb856c6f3c764c921cee3900eab48f0fc076 by aykevanlaethem
[AVR] Disassemble multiplication instructions

These can often only use a limited range of registers, and apparently
need special decoding support.

Differential Revision: https://reviews.llvm.org/D81971
The file was modifiedllvm/lib/Target/AVR/AVRInstrFormats.td
The file was modifiedllvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
The file was modifiedllvm/test/MC/AVR/inst-muls.s
The file was modifiedllvm/test/MC/AVR/inst-mulsu.s
The file was modifiedllvm/test/MC/AVR/inst-fmuls.s
The file was modifiedllvm/test/MC/AVR/inst-fmul.s
The file was modifiedllvm/test/MC/AVR/inst-fmulsu.s
Commit 9f09c29f0158f59dad07bce11e67470c0399c259 by aykevanlaethem
[AVR] Disassemble instructions with fixed Z operand

Some instructions have a fixed Z register and don't have an explicit
register operand. This can be worked around by simply printing the
operand directly if the particular register class is detected.

The LPM and ELPM instructions also needed a custom decoder, which is
also included in this patch.

Differential Revision: https://reviews.llvm.org/D82088
The file was modifiedllvm/lib/Target/AVR/AVRInstrFormats.td
The file was modifiedllvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp
The file was modifiedllvm/test/MC/AVR/inst-lat.s
The file was modifiedllvm/test/MC/AVR/inst-lac.s
The file was modifiedllvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
The file was modifiedllvm/test/MC/AVR/inst-spm.s
The file was modifiedllvm/test/MC/AVR/inst-lpm.s
The file was modifiedllvm/test/MC/AVR/inst-xch.s
The file was modifiedllvm/test/MC/AVR/inst-elpm.s
The file was modifiedllvm/test/MC/AVR/inst-las.s
Commit eac4a601548566fb311b0b596dbaee893507cfb8 by aykevanlaethem
[AVR] Disassemble double register instructions

Add disassembly support for the movw, adiw, and sbiw instructions.

I had previously committed test cases for the adiw and sbiw
instructions, but had accidentally made them not runnable so they were
skipped all this time. Oops. This patch fixes that by adding support for
disassembling those instructions.

Differential Revision: https://reviews.llvm.org/D82093
The file was modifiedllvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
The file was modifiedllvm/test/MC/AVR/inst-sbiw.s
The file was modifiedllvm/test/MC/AVR/inst-movw.s
The file was modifiedllvm/lib/Target/AVR/AVRInstrFormats.td
The file was modifiedllvm/test/MC/AVR/inst-adiw.s
Commit 54143e2bd557e97c5c9032ff87d73eec6fc63c67 by spatel
[VectorCombine] do not use magic number for undef mask element; NFC
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
Commit 7e1f376f8016bcfea4067de28c42ec6a7eb091fe by spatel
[InstCombine] add tests for integer reductions; NFC
The file was modifiedllvm/test/Transforms/InstCombine/vector-reductions.ll
Commit 8953ecf22bcf665ffb06399a97265ab71aebebf8 by spatel
[InstCombine] reassociate diff of sums into sum of diffs

This is the integer sibling to D81491.

(a[0] + a[1] + a[2] + a[3]) - (b[0] + b[1] + b[2] +b[3]) -->
(a[0] - b[0]) + (a[1] - b[1]) + (a[2] - b[2]) + (a[3] - b[3])

Removing the "experimental" from these intrinsics is likely
not too far away.
The file was modifiedllvm/test/Transforms/InstCombine/vector-reductions.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp