+++ /dev/null
-//===-- ConstantFolding.h - Internal Constant Folding Interface -*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file defines the (internal) constant folding interfaces for LLVM. These
-// interfaces are used by the ConstantExpr::get* methods to automatically fold
-// constants when possible.
-//
-// These operators may return a null object if I don't know how to perform the
-// specified operation on the specified constant types.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef CONSTANTFOLDING_H
-#define CONSTANTFOLDING_H
-
-namespace llvm {
- class Value;
- class Constant;
- class Type;
-
- // Constant fold various types of instruction...
- Constant *ConstantFoldCastInstruction(
- unsigned opcode, ///< The opcode of the cast
- const Constant *V, ///< The source constant
- const Type *DestTy ///< The destination type
- );
- Constant *ConstantFoldSelectInstruction(const Constant *Cond,
- const Constant *V1,
- const Constant *V2);
- Constant *ConstantFoldExtractElementInstruction(const Constant *Val,
- const Constant *Idx);
- Constant *ConstantFoldInsertElementInstruction(const Constant *Val,
- const Constant *Elt,
- const Constant *Idx);
- Constant *ConstantFoldShuffleVectorInstruction(const Constant *V1,
- const Constant *V2,
- const Constant *Mask);
- Constant *ConstantFoldBinaryInstruction(unsigned Opcode, const Constant *V1,
- const Constant *V2);
- Constant *ConstantFoldCompareInstruction(unsigned short predicate,
- const Constant *C1,
- const Constant *C2);
- Constant *ConstantFoldGetElementPtr(const Constant *C,
- Constant* const *Idxs, unsigned NumIdx);
-} // End llvm namespace
-
-#endif
//===----------------------------------------------------------------------===//
#include "llvm/Constants.h"
-#include "ConstantFolding.h"
+#include "ConstantFold.h"
#include "llvm/DerivedTypes.h"
#include "llvm/GlobalValue.h"
#include "llvm/Instructions.h"