summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/InfoByHwMode.h
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2017-09-19 17:55:07 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2017-09-19 17:55:07 +0000
commit16441a9831dcae401fb3b76b9827d1a6be25fb72 (patch)
tree440ca8f36ec4e9f1f57aafe35dbef5a025f68891 /llvm/utils/TableGen/InfoByHwMode.h
parentba064be7af93f14e711f687c434717051aac1d26 (diff)
downloadbcm5719-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.h15
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;
OpenPOWER on IntegriCloud