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 | e9692808b7dfaf4ed42cd93d1b82097ae2ead73d (patch) | |
tree | 1749021759ce35d524714d8ca995d5c5e58be577 /llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | |
parent | 81a9df5b2218b316efb9524e1a1ddf5adc2a0cab (diff) | |
download | bcm5719-llvm-e9692808b7dfaf4ed42cd93d1b82097ae2ead73d.tar.gz bcm5719-llvm-e9692808b7dfaf4ed42cd93d1b82097ae2ead73d.zip |
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.
llvm-svn: 131502
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index a7453c64ddd..2818b326871 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/llvm/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: "; |