diff options
author | Roman Tereshin <rtereshin@apple.com> | 2018-05-31 16:16:47 +0000 |
---|---|---|
committer | Roman Tereshin <rtereshin@apple.com> | 2018-05-31 16:16:47 +0000 |
commit | cc1a16fdf9d5f53f01486b48584b4119a2af359e (patch) | |
tree | 56b8724e1fce4669563f137b8e49d68d6ba16792 /llvm/lib | |
parent | ff0623cd29545720177439c3e65df2e2ac07db87 (diff) | |
download | bcm5719-llvm-cc1a16fdf9d5f53f01486b48584b4119a2af359e.tar.gz bcm5719-llvm-cc1a16fdf9d5f53f01486b48584b4119a2af359e.zip |
[GlobalISel][X86] LegalizerInfo verifier: Adding LegalizerInfo::verify(...) call and fixing bugs exposed
Reviewers: aemerson, qcolombet
Reviewed By: qcolombet
Differential Revision: https://reviews.llvm.org/D46339
llvm-svn: 333662
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/X86LegalizerInfo.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86LegalizerInfo.cpp b/llvm/lib/Target/X86/X86LegalizerInfo.cpp index c5e37d56d0e..b8c31ddc004 100644 --- a/llvm/lib/Target/X86/X86LegalizerInfo.cpp +++ b/llvm/lib/Target/X86/X86LegalizerInfo.cpp @@ -82,6 +82,7 @@ X86LegalizerInfo::X86LegalizerInfo(const X86Subtarget &STI, G_CONSTANT, 0, widenToLargerTypesAndNarrowToLargest); computeTables(); + verify(*STI.getInstrInfo()); } void X86LegalizerInfo::setLegalizerInfo32bit() { @@ -129,7 +130,7 @@ void X86LegalizerInfo::setLegalizerInfo32bit() { .legalForCartesianProduct({s1, s8, s16, s32}, {p0}) .maxScalar(0, s32) .widenScalarToNextPow2(0, /*Min*/ 8); - getActionDefinitionsBuilder(G_INTTOPTR).legalFor({s32, p0}); + getActionDefinitionsBuilder(G_INTTOPTR).legalFor({{p0, s32}}); // Shifts and SDIV getActionDefinitionsBuilder({G_SHL, G_LSHR, G_ASHR, G_SDIV}) @@ -201,7 +202,7 @@ void X86LegalizerInfo::setLegalizerInfo64bit() { .legalForCartesianProduct({s1, s8, s16, s32, s64}, {p0}) .maxScalar(0, s64) .widenScalarToNextPow2(0, /*Min*/ 8); - getActionDefinitionsBuilder(G_INTTOPTR).legalFor({s64, p0}); + getActionDefinitionsBuilder(G_INTTOPTR).legalFor({{p0, s64}}); // Constants setAction({TargetOpcode::G_CONSTANT, s64}, Legal); |