summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp')
-rw-r--r--llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp53
1 files changed, 27 insertions, 26 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp b/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
index 05df5120222..51a2bbb6ef7 100644
--- a/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
+++ b/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
@@ -23,6 +23,7 @@
#include "llvm/IR/Type.h"
using namespace llvm;
+using namespace LegalizeActions;
/// FIXME: The following static functions are SizeChangeStrategy functions
/// that are meant to temporarily mimic the behaviour of the old legalization
@@ -40,7 +41,7 @@ addAndInterleaveWithUnsupported(LegalizerInfo::SizeAndActionsVec &result,
result.push_back(v[i]);
if (i + 1 < v[i].first && i + 1 < v.size() &&
v[i + 1].first != v[i].first + 1)
- result.push_back({v[i].first + 1, LegalizerInfo::Unsupported});
+ result.push_back({v[i].first + 1, Unsupported});
}
}
@@ -48,14 +49,14 @@ static LegalizerInfo::SizeAndActionsVec
widen_1_narrow_128_ToLargest(const LegalizerInfo::SizeAndActionsVec &v) {
assert(v.size() >= 1);
assert(v[0].first > 2);
- LegalizerInfo::SizeAndActionsVec result = {{1, LegalizerInfo::WidenScalar},
- {2, LegalizerInfo::Unsupported}};
+ LegalizerInfo::SizeAndActionsVec result = {{1, WidenScalar},
+ {2, Unsupported}};
addAndInterleaveWithUnsupported(result, v);
auto Largest = result.back().first;
assert(Largest + 1 < 128);
- result.push_back({Largest + 1, LegalizerInfo::Unsupported});
- result.push_back({128, LegalizerInfo::NarrowScalar});
- result.push_back({129, LegalizerInfo::Unsupported});
+ result.push_back({Largest + 1, Unsupported});
+ result.push_back({128, NarrowScalar});
+ result.push_back({129, Unsupported});
return result;
}
@@ -63,12 +64,12 @@ static LegalizerInfo::SizeAndActionsVec
widen_16(const LegalizerInfo::SizeAndActionsVec &v) {
assert(v.size() >= 1);
assert(v[0].first > 17);
- LegalizerInfo::SizeAndActionsVec result = {{1, LegalizerInfo::Unsupported},
- {16, LegalizerInfo::WidenScalar},
- {17, LegalizerInfo::Unsupported}};
+ LegalizerInfo::SizeAndActionsVec result = {{1, Unsupported},
+ {16, WidenScalar},
+ {17, Unsupported}};
addAndInterleaveWithUnsupported(result, v);
auto Largest = result.back().first;
- result.push_back({Largest + 1, LegalizerInfo::Unsupported});
+ result.push_back({Largest + 1, Unsupported});
return result;
}
@@ -77,11 +78,11 @@ widen_1_8(const LegalizerInfo::SizeAndActionsVec &v) {
assert(v.size() >= 1);
assert(v[0].first > 9);
LegalizerInfo::SizeAndActionsVec result = {
- {1, LegalizerInfo::WidenScalar}, {2, LegalizerInfo::Unsupported},
- {8, LegalizerInfo::WidenScalar}, {9, LegalizerInfo::Unsupported}};
+ {1, WidenScalar}, {2, Unsupported},
+ {8, WidenScalar}, {9, Unsupported}};
addAndInterleaveWithUnsupported(result, v);
auto Largest = result.back().first;
- result.push_back({Largest + 1, LegalizerInfo::Unsupported});
+ result.push_back({Largest + 1, Unsupported});
return result;
}
@@ -90,12 +91,12 @@ widen_1_8_16(const LegalizerInfo::SizeAndActionsVec &v) {
assert(v.size() >= 1);
assert(v[0].first > 17);
LegalizerInfo::SizeAndActionsVec result = {
- {1, LegalizerInfo::WidenScalar}, {2, LegalizerInfo::Unsupported},
- {8, LegalizerInfo::WidenScalar}, {9, LegalizerInfo::Unsupported},
- {16, LegalizerInfo::WidenScalar}, {17, LegalizerInfo::Unsupported}};
+ {1, WidenScalar}, {2, Unsupported},
+ {8, WidenScalar}, {9, Unsupported},
+ {16, WidenScalar}, {17, Unsupported}};
addAndInterleaveWithUnsupported(result, v);
auto Largest = result.back().first;
- result.push_back({Largest + 1, LegalizerInfo::Unsupported});
+ result.push_back({Largest + 1, Unsupported});
return result;
}
@@ -104,12 +105,12 @@ widen_1_8_16_narrowToLargest(const LegalizerInfo::SizeAndActionsVec &v) {
assert(v.size() >= 1);
assert(v[0].first > 17);
LegalizerInfo::SizeAndActionsVec result = {
- {1, LegalizerInfo::WidenScalar}, {2, LegalizerInfo::Unsupported},
- {8, LegalizerInfo::WidenScalar}, {9, LegalizerInfo::Unsupported},
- {16, LegalizerInfo::WidenScalar}, {17, LegalizerInfo::Unsupported}};
+ {1, WidenScalar}, {2, Unsupported},
+ {8, WidenScalar}, {9, Unsupported},
+ {16, WidenScalar}, {17, Unsupported}};
addAndInterleaveWithUnsupported(result, v);
auto Largest = result.back().first;
- result.push_back({Largest + 1, LegalizerInfo::NarrowScalar});
+ result.push_back({Largest + 1, NarrowScalar});
return result;
}
@@ -118,13 +119,13 @@ widen_1_8_16_32(const LegalizerInfo::SizeAndActionsVec &v) {
assert(v.size() >= 1);
assert(v[0].first > 33);
LegalizerInfo::SizeAndActionsVec result = {
- {1, LegalizerInfo::WidenScalar}, {2, LegalizerInfo::Unsupported},
- {8, LegalizerInfo::WidenScalar}, {9, LegalizerInfo::Unsupported},
- {16, LegalizerInfo::WidenScalar}, {17, LegalizerInfo::Unsupported},
- {32, LegalizerInfo::WidenScalar}, {33, LegalizerInfo::Unsupported}};
+ {1, WidenScalar}, {2, Unsupported},
+ {8, WidenScalar}, {9, Unsupported},
+ {16, WidenScalar}, {17, Unsupported},
+ {32, WidenScalar}, {33, Unsupported}};
addAndInterleaveWithUnsupported(result, v);
auto Largest = result.back().first;
- result.push_back({Largest + 1, LegalizerInfo::Unsupported});
+ result.push_back({Largest + 1, Unsupported});
return result;
}
OpenPOWER on IntegriCloud