LLVM API Documentation

ExprTypeConvert.cpp File Reference

#include "TransformInternals.h"
#include "llvm/Constants.h"
#include "llvm/Instructions.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/Debug.h"
#include <algorithm>
#include <iostream>

Include dependency graph for ExprTypeConvert.cpp:

Go to the source code of this file.

Functions

static bool OperandConvertibleToType (User *U, Value *V, const Type *Ty, ValueTypeCache &ConvertedTypes, const TargetData &TD)
static void ConvertOperandToType (User *U, Value *OldVal, Value *NewVal, ValueMapCache &VMC, const TargetData &TD)
bool llvm::ExpressionConvertibleToType (Value *V, const Type *Ty, ValueTypeCache &CTMap, const TargetData &TD)
Valuellvm::ConvertExpressionToType (Value *V, const Type *Ty, ValueMapCache &VMC, const TargetData &TD)
bool llvm::ValueConvertibleToType (Value *V, const Type *Ty, ValueTypeCache &ConvertedTypes, const TargetData &TD)
void llvm::ConvertValueToNewType (Value *V, Value *NewVal, ValueMapCache &VMC, const TargetData &TD)
static void RecursiveDelete (ValueMapCache &Cache, Instruction *I)


Function Documentation

static void ConvertOperandToType ( User U,
Value OldVal,
Value NewVal,
ValueMapCache VMC,
const TargetData TD 
) [static]

Definition at line 691 of file ExprTypeConvert.cpp.

References BB, llvm::Call, llvm::ConvertExpressionToType(), llvm::ConvertValueToNewType(), DEBUG, E, llvm::ValueMapCache::ExprMap, llvm::SequentialType::getElementType(), llvm::PHINode::getIncomingBlock(), llvm::PHINode::getIncomingValue(), llvm::Value::getName(), llvm::User::getNumOperands(), llvm::Instruction::getOpcode(), llvm::UnaryInstruction::getOperand(), llvm::User::getOperand(), llvm::Instruction::getParent(), llvm::getStructOffsetType(), llvm::Value::getType(), I, Load, Name, llvm::ValueMapCache::NewCasts, Offset, OI, llvm::ValueMapCache::OperandsMapped, llvm::PHI, llvm::PHINode::removeIncomingValue(), llvm::Value::setName(), llvm::User::setOperand(), Src, Store, TD, Ty, U, llvm::Value::use_begin(), llvm::Value::use_end(), and V.

Referenced by llvm::ConvertExpressionToType(), and llvm::ConvertValueToNewType().

static bool OperandConvertibleToType ( User U,
Value V,
const Type Ty,
ValueTypeCache ConvertedTypes,
const TargetData TD 
) [static]

Definition at line 424 of file ExprTypeConvert.cpp.

References llvm::Call, llvm::ExpressionConvertibleToType(), llvm::SequentialType::getElementType(), llvm::PHINode::getIncomingValue(), llvm::PHINode::getNumIncomingValues(), llvm::SDOperand::getNumOperands(), llvm::FunctionType::getNumParams(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::FunctionType::getParamType(), llvm::FunctionType::getReturnType(), llvm::getStructOffsetType(), llvm::Value::getType(), llvm::TargetData::getTypeSize(), I, llvm::Type::isFirstClassType(), llvm::Type::isFloatingPoint(), llvm::Type::isInteger(), llvm::Type::isIntegral(), llvm::Type::isLosslesslyConvertibleTo(), llvm::Type::isSigned(), llvm::FunctionType::isVarArg(), LI, Load, Offset, OI, llvm::PHI, Store, TD, Ty, U, V, and llvm::ValueConvertibleToType().

Referenced by llvm::ExpressionConvertibleToType(), and llvm::ValueConvertibleToType().

static void RecursiveDelete ( ValueMapCache Cache,
Instruction I 
) [static]

Definition at line 969 of file ExprTypeConvert.cpp.

References Cache, llvm::BasicBlock::getInstList(), llvm::Instruction::getParent(), OE, OI, llvm::User::op_begin(), llvm::User::op_end(), U, and llvm::Value::use_empty().

Referenced by llvm::ValueHandle::~ValueHandle().