1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00

move constant folding code out of Utils/Local into libanalysis

llvm-svn: 33681
This commit is contained in:
Chris Lattner 2007-01-30 23:46:43 +00:00
parent 7db51ec161
commit 854464d748

View File

@ -16,7 +16,6 @@
#define LLVM_TRANSFORMS_UTILS_LOCAL_H
#include "llvm/Function.h"
#include "llvm/Analysis/ConstantFolding.h"
namespace llvm {
@ -42,32 +41,6 @@ bool doConstantPropagation(BasicBlock::iterator &I, const TargetData *TD = 0);
///
bool ConstantFoldTerminator(BasicBlock *BB);
/// ConstantFoldInstruction - Attempt to constant fold the specified
/// instruction. If successful, the constant result is returned, if not, null
/// is returned. Note that this function can only fail when attempting to fold
/// instructions like loads and stores, which have no constant expression form.
///
Constant *ConstantFoldInstruction(Instruction *I, const TargetData *TD = 0);
/// ConstantFoldInstOperands - Attempt to constant fold an instruction with the
/// specified operands. If successful, the constant result is returned, if not,
/// null is returned. Note that this function can fail when attempting to
/// fold instructions like loads and stores, which have no constant expression
/// form.
///
Constant *ConstantFoldInstOperands(
const Instruction *I, ///< The model instruction
Constant** Ops, ///< The array of constant operands to use.
unsigned NumOps, ///< The number of operands provided.
const TargetData *TD = 0 ///< Optional target information.
);
/// ConstantFoldLoadThroughGEPConstantExpr - Given a constant and a
/// getelementptr constantexpr, return the constant value being addressed by the
/// constant expression, or null if something is funny and we can't decide.
Constant *ConstantFoldLoadThroughGEPConstantExpr(Constant *C, ConstantExpr *CE);
//===----------------------------------------------------------------------===//
// Local dead code elimination...
//