summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-07-02 05:44:13 +0000
committerChris Lattner <sabre@nondot.org>2004-07-02 05:44:13 +0000
commit1661358d7eeadfbae960eb3be3ff4fb635370410 (patch)
tree63876ee1eb4023281f887f8700a03fe2e43ba709
parent1d6b5f38fe2114ac463e1f3ead1cb32adf62a82e (diff)
downloadbcm5719-llvm-1661358d7eeadfbae960eb3be3ff4fb635370410.tar.gz
bcm5719-llvm-1661358d7eeadfbae960eb3be3ff4fb635370410.zip
Add a new pass for code generators to use
llvm-svn: 14562
-rw-r--r--llvm/include/llvm/CodeGen/Passes.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/llvm/include/llvm/CodeGen/Passes.h b/llvm/include/llvm/CodeGen/Passes.h
index 09b6a92142f..7007f98942b 100644
--- a/llvm/include/llvm/CodeGen/Passes.h
+++ b/llvm/include/llvm/CodeGen/Passes.h
@@ -23,7 +23,15 @@ namespace llvm {
class FunctionPass;
class PassInfo;
class TargetMachine;
-
+
+ /// createUnreachableBlockEliminationPass - The LLVM code generator does not
+ /// work well with unreachable basic blocks (what live ranges make sense for a
+ /// block that cannot be reached?). As such, a code generator should either
+ /// not instruction select unreachable blocks, or it can run this pass as it's
+ /// last LLVM modifying pass to clean up blocks that are not reachable from
+ /// the entry block.
+ FunctionPass *createUnreachableBlockEliminationPass();
+
/// MachineFunctionPrinter pass - This pass prints out the machine function to
/// standard error, as a debugging tool.
FunctionPass *createMachineFunctionPrinterPass(std::ostream *OS,
OpenPOWER on IntegriCloud