From: Krzysztof Parzyszek Date: Fri, 15 Sep 2017 18:58:07 +0000 (+0000) Subject: Fix selecting legal types in TypeInfer::getLegalTypes X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=22b2c0d9c2e0a99a85771a7569f409f9ef19c343;p=llvm Fix selecting legal types in TypeInfer::getLegalTypes Collect all legal types for all modes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313380 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/TableGen/CodeGenDAGPatterns.cpp b/utils/TableGen/CodeGenDAGPatterns.cpp index 4de4bca75c3..8c460d84204 100644 --- a/utils/TableGen/CodeGenDAGPatterns.cpp +++ b/utils/TableGen/CodeGenDAGPatterns.cpp @@ -804,20 +804,14 @@ void TypeInfer::expandOverloads(TypeSetByHwMode::SetType &Out, } } - TypeSetByHwMode TypeInfer::getLegalTypes() { TypeSetByHwMode VTS; TypeSetByHwMode::SetType &DS = VTS.getOrCreate(DefaultMode); const TypeSetByHwMode <S = TP.getDAGPatterns().getLegalTypes(); - if (!CodeGen) { - assert(LTS.hasDefault()); - const TypeSetByHwMode::SetType &S = LTS.get(DefaultMode); - DS.insert(S.begin(), S.end()); - } else { - for (const auto &I : LTS) - DS.insert(I.second.begin(), I.second.end()); - } + // Stuff all types from all modes into the default mode. + for (const auto &I : LTS) + DS.insert(I.second.begin(), I.second.end()); return VTS; }