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 | |
| parent | b092166a76d9e8bfef93a74dda572b5a6fa3a7a6 (diff) | |
| download | bcm5719-llvm-f6564c991b0bf67d3cdb0cd5b000ddbb0f6e56bd.tar.gz bcm5719-llvm-f6564c991b0bf67d3cdb0cd5b000ddbb0f6e56bd.zip | |
[TableGen] Make sure EnforceSameSize populates the type sets if necessary.
This was found by another commit I'm working on.
llvm-svn: 295578
| -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 4eec2e6aa3f..22c3d490c5a 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(); |

