SuccessChanges

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

Summary

  1. [X86] Add inline assembly load hardening mitigation for Load Value Injection (LVI) (details)
  2. RISCVAttributeParser.h - remove unnecessary ScopedPrinter.h include. NFC. (details)
  3. [mlir][Vector] NFC - Rename vector.strided_slice into vector.extract_strided_slice (details)
  4. [mlir] Revisit std.subview handling of static information. (details)
  5. [AMDGPU] Fix promote alloca which is already vector (details)
  6. Fix a few clang-tidy warnings about auto * and const auto. (details)
  7. Add vendor macro to "lld" (details)
Commit 08b8b724ee3ac7ae7f516e036616620aa33968f1 by craig.topper
[X86] Add inline assembly load hardening mitigation for Load Value Injection (LVI)

Added code to X86AsmParser::emitInstruction() to add an LFENCE after each instruction that may load, and emit a warning if it encounters an instruction that may be vulnerable, but cannot be automatically mitigated.

Differential Revision: https://reviews.llvm.org/D76158
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
The file was addedllvm/test/CodeGen/X86/lvi-hardening-inline-asm.ll
Commit efd758ac5aeab85e8c3180f96f527fc7ffe4d2e0 by llvm-dev
RISCVAttributeParser.h - remove unnecessary ScopedPrinter.h include. NFC.

All uses of ScopedPrinter are in terms of ELFAttributeParser which are handled by ELFAttributeParser.h
The file was modifiedllvm/include/llvm/Support/RISCVAttributeParser.h
Commit 334a4159eca05b0d77972a142fa957311c3247b1 by reidtatge
[mlir][Vector] NFC - Rename vector.strided_slice into vector.extract_strided_slice

Differential Revision: https://reviews.llvm.org/D79734
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/test/Dialect/Vector/ops.mlir
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/test/Dialect/Vector/invalid.mlir
The file was modifiedmlir/test/Dialect/Vector/vector-slices-transforms.mlir
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/test/Dialect/Vector/vector-contract-transforms.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Commit 80d133b24f77d1b9d351251315606441c971ef9b by ntv
[mlir] Revisit std.subview handling of static information.

Summary:
The main objective of this revision is to change the way static information is represented, propagated and canonicalized in the SubViewOp.

In the current implementation the issue is that canonicalization may strictly lose information because static offsets are combined in irrecoverable ways into the result type, in order to fit the strided memref representation.

The core semantics of the op do not change but the parser and printer do: the op always requires `rank` offsets, sizes and strides. These quantities can now be either SSA values or static integer attributes.

The result type is automatically deduced from the static information and more powerful canonicalizations (as powerful as the representation with sentinel `?` values allows). Previously static information was inferred on a best-effort basis from looking at the source and destination type.

Relevant tests are rewritten to use the idiomatic `offset: x, strides : [...]`-form. Bugs are corrected along the way that were not trivially visible in flattened strided memref form.

It is an open question, and a longer discussion, whether a better result type representation would be a nicer alternative. For now, the subview op carries the required semantic.

Reviewers: ftynse, mravishankar, antiagainst, rriddle!, andydavis1, timshen, asaadaldien, stellaraccident

Reviewed By: mravishankar

Subscribers: aartbik, bondhugula, mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, stephenneuendorffer, Joonsoo, bader, grosul1, frgossen, Kayjukh, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79662
The file was modifiedmlir/test/Dialect/Linalg/promote.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/invalid.mlir
The file was modifiedmlir/test/Conversion/StandardToSPIRV/legalization.mlir
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/test/Conversion/StandardToSPIRV/subview-to-spirv.mlir
The file was modifiedmlir/test/IR/core-ops.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
The file was modifiedmlir/test/Dialect/Affine/ops.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/Transforms/canonicalize.mlir
Commit 310d32cb80a611e6384a921e85607fea05841f26 by Stanislav.Mekhanoshin
[AMDGPU] Fix promote alloca which is already vector

Just do not touch loads and stores which are already vector.
Previously pass was just unable to see these loads and stores
because these were hidden bitcasts.

Differential Revision: https://reviews.llvm.org/D79738
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
Commit 8d7796cf9427a0c361a5831e4371ff030b98dfac by echristo
Fix a few clang-tidy warnings about auto * and const auto.
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Commit 44f7b4024982e75dd7826a93558242d3c9f1aed8 by wanyu9511
Add vendor macro to "lld"

Summary:
Add the vendor macro to "lld" for extended version output support,
such that it's able to print additional version info. This is
consistent with the Clang and LLVM version printer, and the
additional version message can be provided via PACKAGE_VENDOR.

Reviewers: hubert.reinterpretcast, kbarton, cebowleratibm, rzurob, ruiu

Reviewed By: hubert.reinterpretcast

Subscribers: emaste, mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79026
The file was modifiedlld/CMakeLists.txt
The file was modifiedlld/Common/Version.cpp