diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-09-15 18:58:07 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-09-15 18:58:07 +0000 |
commit | 89291f2ac80de08ed053178f2519ded4e5b257c3 (patch) | |
tree | 286e15ac331721c63e95182d314f3698a088827f /llvm/utils/TableGen/CodeGenDAGPatterns.cpp | |
parent | a02c2eaf52c2a6122f6409064c40a171a77d3bee (diff) | |
download | llvm-89291f2ac80de08ed053178f2519ded4e5b257c3.zip llvm-89291f2ac80de08ed053178f2519ded4e5b257c3.tar.gz llvm-89291f2ac80de08ed053178f2519ded4e5b257c3.tar.bz2 |
Fix selecting legal types in TypeInfer::getLegalTypes
Collect all legal types for all modes.
llvm-svn: 313380
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.cpp')
-rw-r--r-- | llvm/utils/TableGen/CodeGenDAGPatterns.cpp | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp index 4de4bca..8c460d84 100644 --- a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp +++ b/llvm/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; } |