diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2011-05-17 23:02:10 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2011-05-17 23:02:10 +0000 |
commit | 9c4dae6b0bd1b4667b7a6ce5d804f60615bac639 (patch) | |
tree | 4bd9a6c443865a29b568c645c7fda0d42e426667 /lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | |
parent | 1b32896bd2a6e001c8513fcf182d5a92ab7d487a (diff) | |
download | llvm-9c4dae6b0bd1b4667b7a6ce5d804f60615bac639.tar.gz llvm-9c4dae6b0bd1b4667b7a6ce5d804f60615bac639.tar.bz2 llvm-9c4dae6b0bd1b4667b7a6ce5d804f60615bac639.tar.xz |
Make fast-isel miss counting in -stats and -fast-isel-verbose take terminators into account; since there are many fewer isel misses with recent changes, misses caused by terminators are more significant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131502 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index a7453c64dd..2818b32687 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -972,9 +972,14 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) { continue; } - // Otherwise, give up on FastISel for the rest of the block. - // For now, be a little lenient about non-branch terminators. - if (!isa<TerminatorInst>(Inst) || isa<BranchInst>(Inst)) { + if (isa<TerminatorInst>(Inst) && !isa<BranchInst>(Inst)) { + // Don't abort, and use a different message for terminator misses. + ++NumFastIselFailures; + if (EnableFastISelVerbose || EnableFastISelAbort) { + dbgs() << "FastISel missed terminator: "; + Inst->dump(); + } + } else { ++NumFastIselFailures; if (EnableFastISelVerbose || EnableFastISelAbort) { dbgs() << "FastISel miss: "; |