diff options
author | Craig Topper <craig.topper@sifive.com> | 2023-04-21 17:27:06 -0700 |
---|---|---|
committer | Craig Topper <craig.topper@sifive.com> | 2023-04-21 17:27:25 -0700 |
commit | 63f6e70be9c278e9553b331c95fca26bc68f659a (patch) | |
tree | 1db93e7412e1ac99d0b415930fe6c31eda48bd88 /llvm/utils/TableGen/CodeGenDAGPatterns.cpp | |
parent | 9372e42fd027db8767c324369491b9314f6a218f (diff) | |
download | llvm-63f6e70be9c278e9553b331c95fca26bc68f659a.zip llvm-63f6e70be9c278e9553b331c95fca26bc68f659a.tar.gz llvm-63f6e70be9c278e9553b331c95fca26bc68f659a.tar.bz2 |
[TableGen] Early exit from ExpandHwModeBasedTypes when there are no HwModes.
Most targets don't use HwModes. For these targets we can skip
collecting the HwModes and copying all the pattern pointers.
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.cpp')
-rw-r--r-- | llvm/utils/TableGen/CodeGenDAGPatterns.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp index f861caa..2d8b52c 100644 --- a/llvm/utils/TableGen/CodeGenDAGPatterns.cpp +++ b/llvm/utils/TableGen/CodeGenDAGPatterns.cpp @@ -4381,6 +4381,9 @@ static void collectModes(std::set<unsigned> &Modes, const TreePatternNode *N) { void CodeGenDAGPatterns::ExpandHwModeBasedTypes() { const CodeGenHwModes &CGH = getTargetInfo().getHwModes(); + if (CGH.getNumModeIds() == 1) + return; + std::vector<PatternToMatch> Copy; PatternsToMatch.swap(Copy); |