diff options
| author | Daniel Sanders <daniel_l_sanders@apple.com> | 2018-01-29 17:37:29 +0000 |
|---|---|---|
| committer | Daniel Sanders <daniel_l_sanders@apple.com> | 2018-01-29 17:37:29 +0000 |
| commit | 9ade5592d96a68bbe1b9a16099b0575c32db7905 (patch) | |
| tree | 1c6e5dbd7a2ea907d59639aa144bc7190f687a34 /llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp | |
| parent | 6845dec91715ee1fc9939053b8add76cacced6ef (diff) | |
| download | bcm5719-llvm-9ade5592d96a68bbe1b9a16099b0575c32db7905.tar.gz bcm5719-llvm-9ade5592d96a68bbe1b9a16099b0575c32db7905.zip | |
[globalisel] Make LegalizerInfo::LegalizeAction available outside of LegalizerInfo. NFC
Summary:
The improvements to the LegalizerInfo discussed in D42244 require that
LegalizerInfo::LegalizeAction be available for use in other classes. As such,
it needs to be moved out of LegalizerInfo. This has been done separately to the
next patch to minimize the noise in that patch.
llvm-svn: 323669
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp | 53 |
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; } |

