diff options
| author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-09-19 17:55:07 +0000 |
|---|---|---|
| committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-09-19 17:55:07 +0000 |
| commit | 16441a9831dcae401fb3b76b9827d1a6be25fb72 (patch) | |
| tree | 440ca8f36ec4e9f1f57aafe35dbef5a025f68891 /llvm/utils/TableGen/InfoByHwMode.h | |
| parent | ba064be7af93f14e711f687c434717051aac1d26 (diff) | |
| download | bcm5719-llvm-16441a9831dcae401fb3b76b9827d1a6be25fb72.tar.gz bcm5719-llvm-16441a9831dcae401fb3b76b9827d1a6be25fb72.zip | |
Revert "Improve TableGen performance of -gen-dag-isel (motivated by X86 backend)"
It breaks a lot of bots due to missing "__iterator_category".
llvm-svn: 313651
Diffstat (limited to 'llvm/utils/TableGen/InfoByHwMode.h')
| -rw-r--r-- | llvm/utils/TableGen/InfoByHwMode.h | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/llvm/utils/TableGen/InfoByHwMode.h b/llvm/utils/TableGen/InfoByHwMode.h index 71149e8da19..d20bdabf7ec 100644 --- a/llvm/utils/TableGen/InfoByHwMode.h +++ b/llvm/utils/TableGen/InfoByHwMode.h @@ -63,30 +63,23 @@ struct InfoByHwMode { typedef typename MapType::const_iterator const_iterator; InfoByHwMode() = default; - InfoByHwMode(const MapType &M) : Map(M) {} + InfoByHwMode(const MapType &&M) : Map(M) {} - LLVM_ATTRIBUTE_ALWAYS_INLINE iterator begin() { return Map.begin(); } - LLVM_ATTRIBUTE_ALWAYS_INLINE iterator end() { return Map.end(); } - LLVM_ATTRIBUTE_ALWAYS_INLINE const_iterator begin() const { return Map.begin(); } - LLVM_ATTRIBUTE_ALWAYS_INLINE const_iterator end() const { return Map.end(); } - LLVM_ATTRIBUTE_ALWAYS_INLINE bool empty() const { return Map.empty(); } - LLVM_ATTRIBUTE_ALWAYS_INLINE bool hasMode(unsigned M) const { return Map.find(M) != Map.end(); } - LLVM_ATTRIBUTE_ALWAYS_INLINE bool hasDefault() const { return hasMode(DefaultMode); } InfoT &get(unsigned Mode) { if (!hasMode(Mode)) { assert(hasMode(DefaultMode)); - Map.insert({Mode, Map.at(DefaultMode)}); + Map[Mode] = Map[DefaultMode]; } - return Map.at(Mode); + return Map[Mode]; } const InfoT &get(unsigned Mode) const { auto F = Map.find(Mode); @@ -96,11 +89,9 @@ struct InfoByHwMode { return F->second; } - LLVM_ATTRIBUTE_ALWAYS_INLINE bool isSimple() const { return Map.size() == 1 && Map.begin()->first == DefaultMode; } - LLVM_ATTRIBUTE_ALWAYS_INLINE InfoT getSimple() const { assert(isSimple()); return Map.begin()->second; |

