SuccessChanges

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

Summary

  1. [lldb/Driver] Fix handling on positional arguments (details)
  2. [BPF] Return fail if disassembled insn registers out of range (details)
  3. [NFC] Replace MaybeAlign with Align in TargetTransformInfo. (details)
  4. Add cet.h for writing CET-enabled assembly code (details)
  5. [gn build] Port e7e84ff24a5 (details)
  6. [PowerPC-QPX] adjust operands order of qpx fma instructions. (details)
Commit 82093e8fb7d65486ff450d33bf386aabd0d194f7 by Jonas Devlieghere
[lldb/Driver] Fix handling on positional arguments

Before the transition to libOption it was possible to specify arguments
for the inferior without -- as long as they didn't start with a dash.

For example, the following invocations should all behave the same:

  $ lldb inferior inferior-arg
  $ lldb inferior -- inferior-arg
  $ lldb -- inferior inferior-arg

This patch fixes that behavior, documents it and adds a test to cover
the different combinations.

Differential revision: https://reviews.llvm.org/D80165
The file was modifiedlldb/test/Shell/Driver/TestNoUseColor.test
The file was modifiedlldb/tools/driver/Driver.cpp
The file was modifiedlldb/docs/man/lldb.rst
The file was addedlldb/test/Shell/Driver/TestPositionalArgs.test
Commit 8e8f1bd75a9abd04b1f85ba92990e373fa6f5624 by yhs
[BPF] Return fail if disassembled insn registers out of range

Daniel reported a llvm-objdump segfault like below:
  $ llvm-objdump -D bpf_xdp.o
  ...
  0000000000000000 <.strtab>:
       0:       00 63 69 6c 69 75 6d 5f <unknown>
       1:       6c 62 36 5f 61 66 66 69 w2 <<= w6
  ...
  (llvm-objdump: lib/Target/BPF/BPFGenAsmWriter.inc:1087: static const char*
   llvm::BPFInstPrinter::getRegisterName(unsigned int): Assertion
   `RegNo && RegNo < 25 && "Invalid register number!"' failed.
   Stack dump:
   0.      Program arguments: llvm-objdump -D bpf_xdp.o
    ...
    abort
    ...
    llvm::BPFInstPrinter::getRegisterName(unsigned int)
    llvm::BPFInstPrinter::printMemOperand(llvm::MCInst const*,
                          int, llvm::raw_ostream&, char const*)
    llvm::BPFInstPrinter::printInstruction(llvm::MCInst const*,
                          unsigned long, llvm::raw_ostream&)
    llvm::BPFInstPrinter::printInst(llvm::MCInst const*,
                          unsigned long, llvm::StringRef, llvm::MCSubtargetInfo const&,
                          llvm::raw_ostream&)
   ...

Basically, since -D enables disassembly for all sections, .strtab is also disassembled,
but some strings are decoded as legal instructions but with illegal register numbers.
When llvm-objdump tries to print register name for these illegal register numbers,
assertion and segfault happens.

The patch fixed the issue by returning fail for a disassembled insn if
that insn contains a reg operand with illegal reg number.
The insn will be printed as "<unknown>" instead of causing an assertion.
The file was addedllvm/test/CodeGen/BPF/objdump_dis_all.ll
The file was modifiedllvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp
Commit 27b4e6931d0f2f16293e6abface7da25fb731e14 by efriedma
[NFC] Replace MaybeAlign with Align in TargetTransformInfo.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit e7e84ff24a5f0f4ed2d706de4168a4ec6073e3ef by xiang1.zhang
Add cet.h for writing CET-enabled assembly code

Summary:
Add x86 feature with IBT and/or SHSTK bits to ELF program property if they  are enabled. Otherwise, contents in this header file are unused.
This file is mainly design for assembly source code which want to enable CET

Reviewers: hjl.tools, annita.zhang, LuoYuanke, craig.topper, tstellar, pengfei, rsmith

Reviewed By: LuoYuanke

Subscribers: mgorny

Differential Revision: https://reviews.llvm.org/D79617
The file was addedclang/test/CodeGen/asm-cet.S
The file was addedclang/lib/Headers/cet.h
The file was modifiedclang/lib/Headers/CMakeLists.txt
Commit a204f22b424cb2ec1e524108aa35adc7065103c1 by llvmgnsyncbot
[gn build] Port e7e84ff24a5
The file was modifiedllvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Commit a6be4d17e349f834e4d365f68e0435a1c4334a81 by czhengsz
[PowerPC-QPX] adjust operands order of qpx fma instructions.

convert
  %3 = QVFMADD %2, %0, %1, implicit $rm
to
  %3 = QVFMADD %2, %1, %0, implicit $rm

Reviewed By: hfinkel, steven.zhang

Differential Revision: https://reviews.llvm.org/D78986
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrQPX.td
The file was modifiedllvm/test/CodeGen/PowerPC/qpx-qvfmadd.ll