aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2017-02-18 22:53:38 +0000
committerCraig Topper <craig.topper@gmail.com>2017-02-18 22:53:38 +0000
commitf6564c991b0bf67d3cdb0cd5b000ddbb0f6e56bd (patch)
tree615690abfe25e7825e9399ae3249fb699d784bce /llvm/utils/TableGen/CodeGenDAGPatterns.cpp
parentb092166a76d9e8bfef93a74dda572b5a6fa3a7a6 (diff)
downloadllvm-f6564c991b0bf67d3cdb0cd5b000ddbb0f6e56bd.zip
llvm-f6564c991b0bf67d3cdb0cd5b000ddbb0f6e56bd.tar.gz
llvm-f6564c991b0bf67d3cdb0cd5b000ddbb0f6e56bd.tar.bz2
[TableGen] Make sure EnforceSameSize populates the type sets if necessary.
This was found by another commit I'm working on. llvm-svn: 295578
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.cpp')
-rw-r--r--llvm/utils/TableGen/CodeGenDAGPatterns.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
index 4eec2e6..22c3d49 100644
--- a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
+++ b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
@@ -644,6 +644,12 @@ bool EEVT::TypeSet::EnforceSameSize(EEVT::TypeSet &VTOperand,
bool MadeChange = false;
+ if (isCompletelyUnknown())
+ MadeChange = FillWithPossibleTypes(TP);
+
+ if (VTOperand.isCompletelyUnknown())
+ MadeChange = VTOperand.FillWithPossibleTypes(TP);
+
// If we know one of the types, it forces the other type agree.
if (isConcrete()) {
MVT IVT = getConcrete();