UnstableChanges

Summary

  1. [mlir][Standard] NFC - Drop remaining EDSC usage (details)
  2. [CostModel][X86] Match SSE41 legalized conversion costs as well as SSE2 (details)
  3. [CostModel][X86] Tweak fptoui v4f32->v4i32 + v8f32->v8i32 SSE/AVX costs (details)
  4. [dexter] Add hit_count keyword arg to DexLimitSteps (details)
  5. [OpenCL] Add support of OpenCL C 3.0 __opencl_c_fp64 (details)
  6. [TTI] NFC: Change getRegUsageForType to return InstructionCost. (details)
  7. [TTI] NFC: Change getCostOfKeepingLiveOverCall to return InstructionCost. (details)
  8. [DebugInfo] Salvage dbg.value() during ADCE (details)
  9. [VectorCombine] Add positive test for scalarizing multiple extracts. (details)
  10. [dexter] Add REQUIRES: lldb to the test label_offset.cpp (details)
  11. [mlir] Add additional traits to EqualOp and NotEqualOp. (details)
  12. [mlir][linalg] Add scalar operands inlining pattern (details)
  13. [mlir] Disallow tensor types in VectorToSCF (details)
  14. [SLP][NFC]Add a test for diamond match of broadcast tree nodes. (details)
Commit 8eb18a0f3ecc6cad534fab27f7653f2ed46c7f01 by nicolas.vasilache
[mlir][Standard] NFC - Drop remaining EDSC usage

Drop the remaining EDSC subdirectories and update all uses.

Differential Revision: https://reviews.llvm.org/D102911
The file was modifiedmlir/lib/Conversion/LinalgToLLVM/CMakeLists.txt
The file was removedmlir/lib/EDSC/Builders.cpp
The file was removedmlir/include/mlir/EDSC/Builders.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
The file was modifiedmlir/tools/mlir-reduce/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was modifiedflang/tools/tco/CMakeLists.txt
The file was removedmlir/include/mlir/Dialect/StandardOps/EDSC/Intrinsics.h
The file was modifiedmlir/lib/Dialect/Affine/IR/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp
The file was modifiedmlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt
The file was modifiedmlir/tools/mlir-vulkan-runner/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/lib/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/GPU/CMakeLists.txt
The file was removedmlir/lib/EDSC/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
The file was modifiedmlir/docs/OpDefinitions.md
The file was removedmlir/include/mlir/Dialect/Math/EDSC/Intrinsics.h
The file was removedmlir/docs/EDSC.md
The file was removedmlir/lib/Dialect/StandardOps/EDSC/Builders.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Interchange.cpp
The file was removedmlir/lib/Dialect/StandardOps/EDSC/Intrinsics.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/CMakeLists.txt
The file was removedmlir/include/mlir/Dialect/StandardOps/EDSC/Builders.h
The file was modifiedmlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/VectorToSCF/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
The file was modifiedmlir/tools/mlir-opt/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/ShapeToStandard/CMakeLists.txt
The file was modifiedmlir/tools/mlir-lsp-server/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/LinalgToStandard/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/tools/mlir-cpu-runner/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
The file was removedmlir/include/mlir/Dialect/Linalg/EDSC/FoldedIntrinsics.h
Commit 4865ed3020363f65b954e5d93781ca9e8263cd6f by llvm-dev
[CostModel][X86] Match SSE41 legalized conversion costs as well as SSE2
The file was modifiedllvm/test/Analysis/CostModel/X86/uitofp.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit 3ae7f7ae0a33961be48948205981aea91920d3aa by llvm-dev
[CostModel][X86] Tweak fptoui v4f32->v4i32 + v8f32->v8i32 SSE/AVX costs

Adjust for worst case for atom/slm (SSE), btver2/sandybridge (AVX1) and haswell/znver* (AVX2)
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/cast.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/uitofp.ll
Commit 469833f418e1704331f8dccb06ccd391f8d726e1 by orlando.hyams
[dexter] Add hit_count keyword arg to DexLimitSteps

The DexLimitSteps command leading breakpoint will be deleted after triggering
'hit_count' number of times if the argument is provided.

All the lit tests pass on linux (with lldb), and I've tested this on windows
(with vs2017) manually as the lit tests for DexLimitSteps are currently
unsupported on windows.

Reviewed By: StephenTozer, chrisjackson

Differential Revision: https://reviews.llvm.org/D101527
The file was modifieddebuginfo-tests/dexter/dex/command/commands/DexLimitSteps.py
The file was modifieddebuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py
The file was addeddebuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
The file was modifieddebuginfo-tests/dexter/Commands.md
Commit 826905787ae4c8540bb8a2384fac59c606c7eaff by anton.zabaznov
[OpenCL] Add support of OpenCL C 3.0 __opencl_c_fp64

There already exists cl_khr_fp64 extension. So OpenCL C 3.0
and higher should use the feature, earlier versions still
use the extension. OpenCL C 3.0 API spec states that extension
will be not described in the option string if corresponding
optional functionality is not supported (see 4.2. Querying Devices).
Due to that fact the usage of features for OpenCL C 3.0 must
be as follows:

```
$ clang -Xclang -cl-ext=+cl_khr_fp64,+__opencl_c_fp64 ...

$ clang -Xclang -cl-ext=-cl_khr_fp64,-__opencl_c_fp64 ...
```

e.g. the feature and the equivalent extension (if exists)
must be set to the same values

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D96524
The file was modifiedclang/lib/Basic/Targets/NVPTX.h
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Basic/Targets/AMDGPU.h
The file was modifiedclang/docs/OpenCLSupport.rst
The file was modifiedclang/lib/Basic/Targets.cpp
The file was removedclang/test/SemaOpenCL/extensions.cl
The file was addedclang/test/SemaOpenCL/fp64-fp16-options.cl
The file was modifiedclang/test/CodeGenOpenCL/printf.cl
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticCommonKinds.td
The file was addedclang/test/Misc/opencl-c-3.0.incorrect_options.cl
Commit e8e88c3353900d32eea515cb509a1d733d6bddf1 by daniil.fukalov
[TTI] NFC: Change getRegUsageForType to return InstructionCost.

This patch migrates the TTI cost interfaces to return an InstructionCost.

See this patch for the introduction of the type: https://reviews.llvm.org/D91174
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D102541
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
Commit e1cb98be2d2527800a66ec73cbf9b852d685c354 by daniil.fukalov
[TTI] NFC: Change getCostOfKeepingLiveOverCall to return InstructionCost.

This patch migrates the TTI cost interfaces to return an InstructionCost.

See this patch for the introduction of the type: https://reviews.llvm.org/D91174
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D102831
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
Commit cd49b3ae1af5325a01a17b7e0e66b8c5b32feed2 by djtodoro
[DebugInfo] Salvage dbg.value() during ADCE

This has been found by using the [0].

[0] https://llvm.org/docs/HowToUpdateDebugInfo.html#\
    test-original-debug-info-preservation-in-optimizations

Differential Revision: https://reviews.llvm.org/D100844
The file was addedllvm/test/Transforms/ADCE/adce-salvage-dbg-value.ll
The file was modifiedllvm/lib/Transforms/Scalar/ADCE.cpp
Commit 4efb4f674cb6798949d943bd5755798a7f80e3d9 by flo
[VectorCombine] Add positive test for scalarizing multiple extracts.

As suggested in D100273. Also adds an out-of-bound access test
The file was modifiedllvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll
Commit 35a7c4b4b1d0745775f79d7e5d946e782d923712 by orlando.hyams
[dexter] Add REQUIRES: lldb to the test label_offset.cpp

The test feature_tests/subtools/test/label_offset.cpp was added in 723a8ae5
for D101147.
The file was modifieddebuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
Commit 28844212fe4054784549a1f552b78fe675fe4ebf by akuegel
[mlir] Add additional traits to EqualOp and NotEqualOp.

This matches the traits of the other binary ops.

Differential Revision: https://reviews.llvm.org/D102916
The file was modifiedmlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
Commit 884a6291f0b995579d2cd203bfdc5b6aa427be31 by herhut
[mlir][linalg] Add scalar operands inlining pattern

This pattern inlines operands to a linalg.generic operation that use a constant
index and hence are loop-invariant scalars. This reduces the number of
linalg.generic operands and unlocks some canonicalizations that rely on seeing
an explicit tensor.extract.

Differential Revision: https://reviews.llvm.org/D102682
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.h
The file was addedmlir/test/Dialect/Linalg/inline-scalar-operands.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.td
The file was modifiedmlir/include/mlir/IR/AffineMap.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
The file was addedmlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
The file was modifiedmlir/lib/IR/AffineMap.cpp
Commit 8fb4897934dc054974083ebc82b849fba08a4af7 by springerm
[mlir] Disallow tensor types in VectorToSCF

Support for tensor types can be added if needed.

Differential Revision: https://reviews.llvm.org/D102749
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
Commit 117a247e8e495fa6529650d45ee100befde0c1e4 by a.bataev
[SLP][NFC]Add a test for diamond match of broadcast tree nodes.
The file was addedllvm/test/Transforms/SLPVectorizer/X86/diamond_broadcast.ll