diff options
author | Craig Topper <craig.topper@gmail.com> | 2017-02-18 22:53:38 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2017-02-18 22:53:38 +0000 |
commit | f6564c991b0bf67d3cdb0cd5b000ddbb0f6e56bd (patch) | |
tree | 615690abfe25e7825e9399ae3249fb699d784bce /llvm/utils/TableGen/CodeGenDAGPatterns.cpp | |
parent | b092166a76d9e8bfef93a74dda572b5a6fa3a7a6 (diff) | |
download | llvm-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.cpp | 6 |
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(); |