aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen/Passes.h
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
commit8b708e47525804909aba529faa9d2e2fa4895d72 (patch)
tree4fa08d119b01fe7465888405bd9600bc48a30ecd /include/llvm/CodeGen/Passes.h
parentc95f3b88226c806c557820d14c6f7ee724706fcd (diff)
downloadexternal_llvm-8b708e47525804909aba529faa9d2e2fa4895d72.zip
external_llvm-8b708e47525804909aba529faa9d2e2fa4895d72.tar.gz
external_llvm-8b708e47525804909aba529faa9d2e2fa4895d72.tar.bz2
Add a new pass for code generators to use
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14562 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/Passes.h')
-rw-r--r--include/llvm/CodeGen/Passes.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/Passes.h b/include/llvm/CodeGen/Passes.h
index 09b6a92..7007f98 100644
--- a/include/llvm/CodeGen/Passes.h
+++ b/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,