From 96bb2fb5a2c074a59395a71ca690a2885e48bff6 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 29 Jun 2001 23:56:00 +0000 Subject: [PATCH] Added prototype for ConstantFoldTerminator llvm-svn: 105 --- llvm/include/llvm/Optimizations/AllOpts.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/llvm/include/llvm/Optimizations/AllOpts.h b/llvm/include/llvm/Optimizations/AllOpts.h index c68ebc48c5aa..1035b2096402 100644 --- a/llvm/include/llvm/Optimizations/AllOpts.h +++ b/llvm/include/llvm/Optimizations/AllOpts.h @@ -15,6 +15,7 @@ #include "llvm/Tools/STLExtras.h" class Method; class CallInst; +class TerminatorInst; //===----------------------------------------------------------------------===// // Helper functions @@ -24,6 +25,7 @@ static inline bool ApplyOptToAllMethods(Module *C, bool (*Opt)(Method*)) { return reduce_apply_bool(C->begin(), C->end(), ptr_fun(Opt)); } + //===----------------------------------------------------------------------===// // Dead Code Elimination Pass // @@ -32,6 +34,7 @@ bool DoDeadCodeElimination(Method *M); // DCE a method bool DoRemoveUnusedConstants(SymTabValue *S); // RUC a method or module bool DoDeadCodeElimination(Module *C); // DCE & RUC a whole module + //===----------------------------------------------------------------------===// // Constant Propogation Pass // @@ -42,6 +45,13 @@ static inline bool DoConstantPropogation(Module *C) { return ApplyOptToAllMethods(C, DoConstantPropogation); } +// ConstantFoldTerminator - If a terminator instruction is predicated on a +// constant value, convert it into an unconditional branch to the constant +// destination. +// +bool ConstantFoldTerminator(TerminatorInst *T); + + //===----------------------------------------------------------------------===// // Constant Pool Merging Pass // @@ -72,6 +82,7 @@ template bool DoSCCP(Unit *M) { return DoSparseConditionalConstantProp(M); } + //===----------------------------------------------------------------------===// // Method Inlining Pass //