SuccessChanges

Summary

  1. [OpenCL] Move printf declaration to opencl-c-base.h (details)
  2. [flang][driver] Add debug dump options (details)
  3. [X86][SSE] Add uniform vector shift test coverage for (sra (trunc (sr[al] x, c1)), c2) folds (details)
  4. [FuncAttrs] Add tests for willreturn callsite inference. (details)
  5. [ARM] Add larger than legal ICmp costs (details)
  6. Revert "[MLIR] Create memref dialect and move several dialect-specific ops from std." (details)
  7. [clangd] Drop template argument lists from completions followed by < (details)
  8. [PowerPC] Add option for ROP Protection (details)
  9. [mlir] Add `linalg.tiled_loop` op. (details)
  10. [ARM] Ensure types provided to getIntrinsicCost are valid (details)
Commit 5a4a01460f1a8f29db9aa3581097dd8bc105425c by sven.vanhaastregt
[OpenCL] Move printf declaration to opencl-c-base.h

Supporting `printf` with `-fdeclare-opencl-builtins` would require
special handling (for e.g. varargs and format attributes) for just
this one function.  Instead, move the `printf` declaration to the
shared base header.

Differential Revision: https://reviews.llvm.org/D96789
The file was modifiedclang/lib/Headers/opencl-c-base.h
The file was modifiedclang/lib/Headers/opencl-c.h
Commit 4bd08dab5ff99d094513f4adf4bf16bbce8f5a1f by faris.rehman
[flang][driver] Add debug dump options

Add the following options:
* -fdebug-dump-symbols
* -fdebug-dump-parse-tree
* -fdebug-dump-provenance

Summary of changes:
- Add 3 new frontend actions: DebugDumpSymbolsAction, DebugDumpParseTreeAction and DebugDumpProvenanceAction
- Add a unique pointer to the Semantics instance created in PrescanAndSemaAction
- Move fatal semantic error reporting to its own method, FrontendActions#reportFatalSemanticErrors
- Port most tests using `-fdebug-dump-symbols` and `-fdebug-dump-parse-tree` to the new driver if built, otherwise default to f18

Differential Revision: https://reviews.llvm.org/D96716
The file was modifiedflang/include/flang/Frontend/FrontendActions.h
The file was modifiedflang/test/Flang-Driver/driver-help.f90
The file was modifiedflang/test/Semantics/rewrite01.f90
The file was modifiedflang/test/Semantics/offsets01.f90
The file was modifiedflang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedflang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedflang/test/Semantics/resolve100.f90
The file was modifiedflang/lib/Frontend/FrontendActions.cpp
The file was addedflang/test/Flang-Driver/debug-provenance.f90
The file was modifiedflang/include/flang/Frontend/FrontendOptions.h
The file was modifiedflang/test/Semantics/data09.f90
The file was modifiedflang/test/Semantics/data08.f90
The file was modifiedflang/test/Semantics/data05.f90
The file was modifiedflang/test/Semantics/offsets02.f90
The file was modifiedflang/test/Semantics/offsets03.f90
Commit 24aa30254dceea3f55860f8cdcb6b65bf37a5176 by llvm-dev
[X86][SSE] Add uniform vector shift test coverage for (sra (trunc (sr[al] x, c1)), c2) folds
The file was modifiedllvm/test/CodeGen/X86/combine-sra.ll
Commit 059cfe30939db19ed042c80c8cba349f8a4d3c7f by flo
[FuncAttrs] Add tests for willreturn callsite inference.
The file was addedllvm/test/Transforms/FunctionAttrs/willreturn-callsites.ll
Commit 1a6744e3dc671d92662c94a77bbae50a6a34d316 by david.green
[ARM] Add larger than legal ICmp costs

A v8i32 compare will produce a v8i1 predicate, but during codegen the
v8i32 will be split into two v4i32, potentially requiring two v4i1
predicates to be merged into a single v8i1. Because this merging of two
v4i1's into a v8i1 is very expensive, we need to make the cost of the
compare equally high.

This patch adds the cost of that to ARMTTIImpl::getCmpSelInstrCost.
Because we don't know whether the user of the predicate can be split,
and the cost model is mostly pre-instruction, we may be pessimistic but
that should only be for larger and legal types. This also adds min/max
detection to the costmodel where it can be detected, to keep those in
line with the cost of simple min/max instructions. Otherwise for the
most part, costs that were already expensive have become more expensive.

Differential Revision: https://reviews.llvm.org/D96692
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-smin.ll
The file was modifiedllvm/test/CodeGen/ARM/vselect_imax.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-umax.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-umin.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/mve-cmp.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith-overflow.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/reduce-smax.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit a89035d750c6f3f07ceab2c22eedb86afd386bc7 by pifon
Revert "[MLIR] Create memref dialect and move several dialect-specific ops from std."

This commit introduced a cyclic dependency:
Memref dialect depends on Standard because it used ConstantIndexOp.
Std depends on the MemRef dialect in its EDSC/Intrinsics.h

Working on a fix.

This reverts commit 8aa6c3765b924d86f623d452777eb76b83bf2787.
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.h
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/lower-host-to-llvm-calls.mlir
The file was modifiedmlir/test/Dialect/SCF/canonicalize.mlir
The file was modifiedmlir/test/Transforms/memref-bound-check.mlir
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedmlir/test/IR/memory-ops.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedmlir/test/Dialect/Affine/unroll.mlir
The file was modifiedmlir/test/Transforms/loop-fusion-dependence-check.mlir
The file was modifiedmlir/include/mlir/InitAllDialects.h
The file was modifiedmlir/test/Dialect/Affine/dma-generate.mlir
The file was modifiedmlir/test/Dialect/SCF/for-loop-specialization.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/Transforms/TensorConstantBufferize.cpp
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-static-memref-ops.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/calling-convention.mlir
The file was modifiedmlir/test/Conversion/GPUCommon/memory-attrbution.mlir
The file was modifiedmlir/lib/Transforms/NormalizeMemRefs.cpp
The file was modifiedmlir/test/Dialect/OpenACC/invalid.mlir
The file was modifiedmlir/test/Dialect/Standard/canonicalize.mlir
The file was modifiedmlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
The file was modifiedmlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
The file was modifiedmlir/test/Dialect/Async/async-to-async-runtime.mlir
The file was modifiedmlir/test/Dialect/Standard/invalid.mlir
The file was modifiedmlir/lib/Dialect/GPU/Transforms/AllReduceLowering.cpp
The file was modifiedmlir/lib/Dialect/CMakeLists.txt
The file was modifiedmlir/test/Dialect/Standard/ops.mlir
The file was modifiedmlir/test/Dialect/Affine/SuperVectorize/vector_utils.mlir
The file was modifiedmlir/test/Transforms/buffer-loop-hoisting.mlir
The file was modifiedmlir/test/Dialect/Linalg/promote.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-dynamic-memref-ops.mlir
The file was modifiedmlir/test/Dialect/Affine/affine-loop-normalize.mlir
The file was modifiedmlir/test/Dialect/Affine/parallelize.mlir
The file was removedmlir/lib/Dialect/MemRef/CMakeLists.txt
The file was modifiedmlir/test/lib/Transforms/TestMemRefStrideCalculation.cpp
The file was modifiedmlir/test/Dialect/Affine/load-store-invalid.mlir
The file was modifiedmlir/test/Dialect/Affine/slicing-utils.mlir
The file was modifiedmlir/test/Dialect/Linalg/sparse_nd.mlir
The file was modifiedmlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp
The file was modifiedmlir/test/Dialect/Affine/loop-tiling-validity.mlir
The file was modifiedmlir/test/mlir-reduce/multiple-function.mlir
The file was modifiedmlir/test/Transforms/buffer-hoisting.mlir
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h
The file was modifiedmlir/lib/Transforms/BufferOptimizations.cpp
The file was modifiedmlir/test/Transforms/pipeline-data-transfer.mlir
The file was modifiedmlir/test/Dialect/Affine/affine-data-copy.mlir
The file was modifiedmlir/test/Transforms/buffer-results-to-out-params.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was modifiedmlir/test/Conversion/SCFToSPIRV/for.mlir
The file was modifiedmlir/test/Dialect/Linalg/sparse_3d.mlir
The file was modifiedmlir/test/mlir-cpu-runner/async-value.mlir
The file was modifiedmlir/test/Conversion/GPUToSPIRV/load-store.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/test/Dialect/Linalg/canonicalize.mlir
The file was modifiedmlir/test/Dialect/Async/async-parallel-for.mlir
The file was modifiedmlir/test/Transforms/memref-dependence-check.mlir
The file was removedmlir/include/mlir/Dialect/MemRef/IR/MemRefBase.td
The file was modifiedmlir/test/Dialect/Affine/SuperVectorize/vectorize_2d.mlir
The file was modifiedmlir/test/Dialect/Affine/affine-loop-invariant-code-motion.mlir
The file was modifiedmlir/test/Dialect/Affine/ops.mlir
The file was modifiedmlir/test/Dialect/Linalg/fold-affine-min-scf.mlir
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/lib/Transforms/BufferResultsToOutParams.cpp
The file was modifiedmlir/test/Transforms/loop-fusion-transformation.mlir
The file was modifiedmlir/test/Dialect/Linalg/standard.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/EDSC/Intrinsics.h
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorTransforms.h
The file was modifiedmlir/test/Conversion/StandardToSPIRV/legalization.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.h
The file was modifiedmlir/test/Dialect/Affine/dma.mlir
The file was modifiedmlir/test/Conversion/SCFToGPU/step_positive.mlir
The file was modifiedmlir/test/Dialect/Linalg/hoisting.mlir
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/LegalizeStandardForSPIRV.cpp
The file was modifiedmlir/lib/Dialect/Tensor/Transforms/Bufferize.cpp
The file was modifiedmlir/lib/Transforms/BufferDeallocation.cpp
The file was modifiedmlir/test/Examples/Toy/Ch6/affine-lowering.mlir
The file was modifiedmlir/test/Dialect/Vector/vector-transfer-full-partial-split.mlir
The file was modifiedmlir/include/mlir/Dialect/CMakeLists.txt
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
The file was modifiedmlir/test/Dialect/Linalg/loops.mlir
The file was modifiedmlir/test/Conversion/VectorToSCF/vector-to-loops.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Sparsification.cpp
The file was modifiedmlir/test/mlir-cpu-runner/memref_reshape.mlir
The file was modifiedmlir/test/Transforms/memref-dataflow-opt.mlir
The file was modifiedmlir/lib/Dialect/Linalg/IR/CMakeLists.txt
The file was modifiedmlir/test/Dialect/Linalg/forward-vector-transfers.mlir
The file was modifiedmlir/test/mlir-cpu-runner/global_memref.mlir
The file was modifiedmlir/test/mlir-cpu-runner/memref_reinterpret_cast.mlir
The file was modifiedmlir/unittests/ExecutionEngine/Invoke.cpp
The file was modifiedmlir/test/Dialect/OpenACC/ops.mlir
The file was modifiedmlir/docs/Dialects/Linalg.md
The file was modifiedmlir/test/Transforms/loop-fusion.mlir
The file was modifiedmlir/test/Transforms/promote-buffers-to-stack.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/test/Transforms/loop-fusion-slice-computation.mlir
The file was modifiedmlir/lib/Transforms/MemRefDataFlowOpt.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
The file was modifiedmlir/test/IR/core-ops.mlir
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/Conversion/SCFToGPU/parallel_loop.mlir
The file was modifiedmlir/test/Transforms/normalize-memrefs-ops.mlir
The file was modifiedmlir/lib/Dialect/SCF/Transforms/ParallelLoopFusion.cpp
The file was modifiedmlir/test/Dialect/Tensor/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/test/mlir-cpu-runner/utils.mlir
The file was modifiedmlir/test/Conversion/LinalgToVector/linalg-to-vector.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/test/Dialect/SCF/loop-unroll.mlir
The file was modifiedmlir/test/Dialect/Vector/vector-transforms.mlir
The file was modifiedmlir/test/Dialect/SCF/parallel-loop-specialization.mlir
The file was modifiedmlir/test/IR/parser.mlir
The file was removedmlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
The file was modifiedmlir/test/mlir-cpu-runner/bare_ptr_call_conv.mlir
The file was modifiedmlir/test/Dialect/Linalg/fusion.mlir
The file was modifiedmlir/test/Dialect/Linalg/transform-patterns.mlir
The file was modifiedmlir/test/Dialect/SCF/parallel-loop-fusion.mlir
The file was removedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
The file was modifiedmlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp
The file was modifiedmlir/test/Dialect/Linalg/sparse_1d.mlir
The file was modifiedmlir/docs/BufferDeallocationInternals.md
The file was modifiedmlir/test/Conversion/SCFToGPU/no_blocks_no_threads.mlir
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was modifiedmlir/lib/Transforms/PipelineDataTransfer.cpp
The file was modifiedmlir/test/Conversion/SCFToGPU/step_one.mlir
The file was modifiedmlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
The file was modifiedmlir/test/Transforms/constant-fold.mlir
The file was modifiedmlir/test/Dialect/Linalg/affine.mlir
The file was modifiedmlir/test/Dialect/Vector/vector-contract-matvec-transforms.mlir
The file was modifiedmlir/test/Conversion/StandardToSPIRV/subview-to-spirv.mlir
The file was removedmlir/include/mlir/Dialect/MemRef/IR/MemRef.h
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp
The file was modifiedmlir/test/Conversion/StandardToLLVM/standard-to-llvm.mlir
The file was modifiedmlir/test/Dialect/SCF/parallel-loop-tiling.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/EDSC/FoldedIntrinsics.h
The file was modifiedmlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir
The file was modifiedmlir/test/Transforms/buffer-deallocation.mlir
The file was modifiedmlir/test/Dialect/Affine/invalid.mlir
The file was modifiedmlir/test/Dialect/Linalg/fusion-pattern.mlir
The file was modifiedmlir/test/Transforms/canonicalize.mlir
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir
The file was modifiedmlir/test/Dialect/Linalg/sparse_2d.mlir
The file was modifiedmlir/test/IR/slice.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
The file was modifiedmlir/test/mlir-opt/commandline.mlir
The file was modifiedmlir/test/Transforms/loop-invariant-code-motion.mlir
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/test/mlir-cpu-runner/unranked_memref.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/Transforms/Passes.td
The file was modifiedmlir/test/Examples/Toy/Ch5/affine-lowering.mlir
The file was modifiedmlir/test/Analysis/test-liveness.mlir
The file was modifiedmlir/test/Dialect/GPU/multiple-all-reduce.mlir
The file was modifiedmlir/test/mlir-cpu-runner/async.mlir
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp
The file was modifiedmlir/test/Dialect/Linalg/promotion_options.mlir
The file was modifiedmlir/test/Dialect/Tensor/bufferize.mlir
The file was modifiedmlir/test/Transforms/normalize-memrefs.mlir
The file was modifiedmlir/test/Dialect/Linalg/sparse_lower.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/test/Conversion/AffineToStandard/lower-affine.mlir
The file was modifiedmlir/test/Conversion/AsyncToLLVM/convert-to-llvm.mlir
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
The file was modifiedmlir/test/Dialect/Linalg/fusion-sequence.mlir
The file was modifiedmlir/test/Dialect/Linalg/bufferize.mlir
The file was removedmlir/lib/Dialect/MemRef/IR/CMakeLists.txt
The file was modifiedmlir/test/Conversion/SCFToSPIRV/if.mlir
The file was modifiedmlir/test/Transforms/cse.mlir
The file was modifiedmlir/lib/Transforms/Utils/Utils.cpp
The file was removedmlir/include/mlir/Dialect/MemRef/IR/CMakeLists.txt
The file was modifiedmlir/docs/Traits.md
The file was modifiedmlir/test/Dialect/Affine/memref-stride-calculation.mlir
The file was modifiedmlir/test/Examples/Toy/Ch7/affine-lowering.mlir
The file was modifiedmlir/test/Dialect/Affine/load-store.mlir
The file was modifiedmlir/test/mlir-cpu-runner/sgemm_naive_codegen.mlir
The file was modifiedmlir/test/Dialect/Affine/canonicalize.mlir
The file was modifiedmlir/test/Transforms/canonicalize-block-merge.mlir
The file was modifiedmlir/test/Conversion/AffineToStandard/lower-affine-to-vector.mlir
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was removedmlir/include/mlir/Dialect/MemRef/CMakeLists.txt
The file was modifiedmlir/test/Transforms/copy-removal.mlir
The file was modifiedmlir/test/mlir-reduce/simple-test.mlir
The file was modifiedmlir/test/Conversion/StandardToSPIRV/alloc.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/include/mlir/Transforms/Utils.h
The file was modifiedmlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
The file was modifiedmlir/test/Conversion/GPUToVulkan/lower-gpu-launch-vulkan-launch.mlir
The file was modifiedmlir/test/Analysis/test-alias-analysis.mlir
The file was removedmlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
The file was modifiedmlir/test/lib/Transforms/TestVectorTransforms.cpp
Commit 19db870a0dd1416b2d4a346e2cb17be197193a94 by kbobyrev
[clangd] Drop template argument lists from completions followed by <

Now, given `template <typename T> foo() {}` when user types `fo^<int>()` the
completion snippet will not contain `<int>()`.

Also, when the next token is opening parenthesis (`(`) and completion snippet
contains template argument list, it is still emitted.

This patch complements D81380.

Related issue: https://github.com/clangd/clangd/issues/387

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D89870
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
Commit b80357d46e229ace904a8580e0a93e3f9b91720b by stefanp
[PowerPC] Add option for ROP Protection

Added -mrop-protection for Power PC to turn on codegen that provides some
protection from ROP attacks.

The option is off by default and can be turned on for Power 8, Power 9 and
Power 10.

This patch is for the option only. The feature will be implemented by a later
patch.

Reviewed By: amyk

Differential Revision: https://reviews.llvm.org/D96512
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.h
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was addedclang/test/Driver/ppc-mrop-protection-support-check.c
The file was modifiedllvm/lib/Target/PowerPC/PPC.td
The file was modifiedclang/test/Preprocessor/init-ppc64.c
The file was modifiedllvm/test/CodeGen/PowerPC/future-check-features.ll
Commit 624fccba87cc7cc5af523f7efb10a0d82118ecd5 by pifon
[mlir] Add `linalg.tiled_loop` op.

`subtensor_insert` was used instead of `linalg.subtensor_yield` to make this PR
smaller. Verification will be added in a follow-up PR.

Differential Revision: https://reviews.llvm.org/D96943
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
Commit 33ba220611730db9a5cd27ae60a4f0ee278da745 by david.green
[ARM] Ensure types provided to getIntrinsicCost are valid

It appears that pointer types were causing issues for the min/max cost
code in getIntrinsicInstrCost. This makes sure that when matching
icmp/select to a min/max, we only do that for normal int or float types.
The file was modifiedllvm/test/Analysis/CostModel/ARM/cmps.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp