LLVM API Documentation
#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) |
Value * | llvm::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) |
static void ConvertOperandToType | ( | User * | U, | |
Value * | OldVal, | |||
Value * | NewVal, | |||
ValueMapCache & | VMC, | |||
const TargetData & | TD | |||
) | [static] |
Definition at line 687 of file ExprTypeConvert.cpp.
References BB, 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(), llvm::SPII::Load, Name, llvm::ValueMapCache::NewCasts, Offset, OI, llvm::ValueMapCache::OperandsMapped, PHI, llvm::PHINode::removeIncomingValue(), llvm::Value::setName(), llvm::User::setOperand(), Src, llvm::SPII::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 422 of file ExprTypeConvert.cpp.
References 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(), llvm::Type::isFirstClassType(), llvm::Type::isFloatingPoint(), llvm::Type::isInteger(), llvm::Type::isIntegral(), llvm::Type::isLosslesslyConvertibleTo(), llvm::Type::isSigned(), llvm::FunctionType::isVarArg(), LI, llvm::SPII::Load, Offset, OI, PHI, llvm::SPII::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 965 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().