Remove the createInferredCast methods now that their last uses have been

removed. All casting is now explicit and not inferred by VMCore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32655 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2006-12-18 08:52:59 +00:00
parent 8a903db499
commit 1bd82a5c65
2 changed files with 2 additions and 69 deletions

View File

@ -399,6 +399,7 @@ public:
/// Returns the opcode necessary to cast Val into Ty using usual casting
/// rules.
/// @brief Infer the opcode for cast operand and type
static Instruction::CastOps getCastOpcode(
const Value *Val, ///< The value to cast
bool SrcIsSigned, ///< Whether to treat the source as signed
@ -406,60 +407,6 @@ public:
bool DstIsSigned ///< Whether to treate the dest. as signed
);
/// Joins the create method (with insert-before-instruction semantics) above
/// with the getCastOpcode method. getOpcode(S,Ty) is called first to
/// obtain the opcode for casting S to type Ty. Then the get(...) method is
/// called to create the CastInst and insert it. The instruction is
/// inserted before InsertBefore (if it is non-null). The cast created is
/// inferred, because only the types involved are used in determining which
/// cast opcode to use. For specific casts, use one of the create methods.
/// @brief Inline helper method to join create with getCastOpcode.
inline static CastInst *createInferredCast(
Value *S, ///< The value to be casted (operand 0)
bool SrcIsSigned, ///< Whether to treat the source as signed
const Type *Ty, ///< Type to which operand should be casted
bool DstIsSigned, ///< Whether to treate the dest. as signed
const std::string &Name = "", ///< Name for the instruction
Instruction *InsertBefore = 0 ///< Place to insert the CastInst
) {
return create(getCastOpcode(S, SrcIsSigned, Ty, DstIsSigned),
S, Ty, Name, InsertBefore);
}
static CastInst *createInferredCast(
Value *S, ///< The value to be casted (operand 0)
const Type *Ty, ///< Type to which operand should be casted
const std::string &Name = "", ///< Name for the instruction
Instruction *InsertBefore = 0 ///< Place to insert the CastInst
);
/// Joins the get method (with insert-at-end-of-block semantics) method
/// above with the getCastOpcode method. getOpcode(S,Ty) is called first to
/// obtain the usual casting opcode for casting S to type Ty. Then the
/// get(...) method is called to create the CastInst and insert it. The
/// instruction is inserted at the end of InsertAtEnd (if it is non-null).
/// The created cast is inferred, because only the types involved are used
/// in determining which cast opcode to use. For specific casts, use one of
/// the create methods.
/// @brief Inline helper method to join create with getCastOpcode.
inline static CastInst *createInferredCast(
Value *S, ///< The value to be casted (operand 0)
bool SrcIsSigned, ///< Whether to treat the source as signed
const Type *Ty, ///< Type to which operand should be casted
bool DstIsSigned, ///< Whether to treate the dest. as signed
const std::string &Name, ///< Name for the instruction
BasicBlock *InsertAtEnd ///< The block to insert the instruction into
) {
return create(getCastOpcode(S, SrcIsSigned, Ty, DstIsSigned),
S, Ty, Name, InsertAtEnd);
}
static CastInst *createInferredCast(
Value *S, ///< The value to be casted (operand 0)
const Type *Ty, ///< Type to which operand should be casted
const std::string &Name, ///< Name for the instruction
BasicBlock *InsertAtEnd ///< The block to insert the instruction into
);
/// There are several places where we need to know if a cast instruction
/// only deals with integer source and destination types. To simplify that
/// logic, this method is provided.

View File

@ -1782,20 +1782,6 @@ checkCast(Instruction::CastOps op, Value *S, const Type *DstTy) {
}
}
CastInst *CastInst::createInferredCast(
Value *S, const Type *Ty, const std::string &Name, Instruction *InsertBefore)
{
return createInferredCast(S, S->getType()->isSigned(), Ty, Ty->isSigned(),
Name, InsertBefore);
}
CastInst *CastInst::createInferredCast(
Value *S, const Type *Ty, const std::string &Name, BasicBlock *InsertAtEnd)
{
return createInferredCast(S, S->getType()->isSigned(), Ty, Ty->isSigned(),
Name, InsertAtEnd);
}
TruncInst::TruncInst(
Value *S, const Type *Ty, const std::string &Name, Instruction *InsertBefore
) : CastInst(Ty, Trunc, S, Name, InsertBefore) {