[llvm-commits] CVS: llvm/include/llvm/InstrTypes.h
Reid Spencer
reid at x10sys.com
Mon Dec 18 00:53:15 PST 2006
Changes in directory llvm/include/llvm:
InstrTypes.h updated: 1.54 -> 1.55
---
Log message:
Remove the createInferredCast methods now that their last uses have been
removed. All casting is now explicit and not inferred by VMCore.
---
Diffs of the changes: (+2 -55)
InstrTypes.h | 57 ++-------------------------------------------------------
1 files changed, 2 insertions(+), 55 deletions(-)
Index: llvm/include/llvm/InstrTypes.h
diff -u llvm/include/llvm/InstrTypes.h:1.54 llvm/include/llvm/InstrTypes.h:1.55
--- llvm/include/llvm/InstrTypes.h:1.54 Mon Dec 11 18:49:44 2006
+++ llvm/include/llvm/InstrTypes.h Mon Dec 18 02:52:59 2006
@@ -398,7 +398,8 @@
);
/// Returns the opcode necessary to cast Val into Ty using usual casting
- /// rules.
+ /// 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 @@
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.
More information about the llvm-commits
mailing list