diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip | |
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp')
| -rw-r--r-- | gnu/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/gnu/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp b/gnu/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp deleted file mode 100644 index 94eab9ae00c..00000000000 --- a/gnu/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp +++ /dev/null @@ -1,101 +0,0 @@ -//===- lib/CodeGen/GlobalISel/LegalizerPredicates.cpp - Predicates --------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// A library of predicate factories to use for LegalityPredicate. -// -//===----------------------------------------------------------------------===// - -#include "llvm/CodeGen/GlobalISel/LegalizerInfo.h" - -using namespace llvm; - -LegalityPredicate LegalityPredicates::typeIs(unsigned TypeIdx, LLT Type) { - return - [=](const LegalityQuery &Query) { return Query.Types[TypeIdx] == Type; }; -} - -LegalityPredicate -LegalityPredicates::typeInSet(unsigned TypeIdx, - std::initializer_list<LLT> TypesInit) { - SmallVector<LLT, 4> Types = TypesInit; - return [=](const LegalityQuery &Query) { - return std::find(Types.begin(), Types.end(), Query.Types[TypeIdx]) != Types.end(); - }; -} - -LegalityPredicate LegalityPredicates::typePairInSet( - unsigned TypeIdx0, unsigned TypeIdx1, - std::initializer_list<std::pair<LLT, LLT>> TypesInit) { - SmallVector<std::pair<LLT, LLT>, 4> Types = TypesInit; - return [=](const LegalityQuery &Query) { - std::pair<LLT, LLT> Match = {Query.Types[TypeIdx0], Query.Types[TypeIdx1]}; - return std::find(Types.begin(), Types.end(), Match) != Types.end(); - }; -} - -LegalityPredicate LegalityPredicates::typePairAndMemSizeInSet( - unsigned TypeIdx0, unsigned TypeIdx1, unsigned MMOIdx, - std::initializer_list<TypePairAndMemSize> TypesAndMemSizeInit) { - SmallVector<TypePairAndMemSize, 4> TypesAndMemSize = TypesAndMemSizeInit; - return [=](const LegalityQuery &Query) { - TypePairAndMemSize Match = {Query.Types[TypeIdx0], Query.Types[TypeIdx1], - Query.MMODescrs[MMOIdx].SizeInBits}; - return std::find(TypesAndMemSize.begin(), TypesAndMemSize.end(), Match) != - TypesAndMemSize.end(); - }; -} - -LegalityPredicate LegalityPredicates::isScalar(unsigned TypeIdx) { - return [=](const LegalityQuery &Query) { - return Query.Types[TypeIdx].isScalar(); - }; -} - -LegalityPredicate LegalityPredicates::narrowerThan(unsigned TypeIdx, - unsigned Size) { - return [=](const LegalityQuery &Query) { - const LLT &QueryTy = Query.Types[TypeIdx]; - return QueryTy.isScalar() && QueryTy.getSizeInBits() < Size; - }; -} - -LegalityPredicate LegalityPredicates::widerThan(unsigned TypeIdx, - unsigned Size) { - return [=](const LegalityQuery &Query) { - const LLT &QueryTy = Query.Types[TypeIdx]; - return QueryTy.isScalar() && QueryTy.getSizeInBits() > Size; - }; -} - -LegalityPredicate LegalityPredicates::sizeNotPow2(unsigned TypeIdx) { - return [=](const LegalityQuery &Query) { - const LLT &QueryTy = Query.Types[TypeIdx]; - return QueryTy.isScalar() && !isPowerOf2_32(QueryTy.getSizeInBits()); - }; -} - -LegalityPredicate LegalityPredicates::memSizeInBytesNotPow2(unsigned MMOIdx) { - return [=](const LegalityQuery &Query) { - return !isPowerOf2_32(Query.MMODescrs[MMOIdx].SizeInBits / 8); - }; -} - -LegalityPredicate LegalityPredicates::numElementsNotPow2(unsigned TypeIdx) { - return [=](const LegalityQuery &Query) { - const LLT &QueryTy = Query.Types[TypeIdx]; - return QueryTy.isVector() && isPowerOf2_32(QueryTy.getNumElements()); - }; -} - -LegalityPredicate LegalityPredicates::atomicOrderingAtLeastOrStrongerThan( - unsigned MMOIdx, AtomicOrdering Ordering) { - return [=](const LegalityQuery &Query) { - return isAtLeastOrStrongerThan(Query.MMODescrs[MMOIdx].Ordering, Ordering); - }; -} |
