Fixed the IR interaction layer to deal with a

change in the LLDB target data API.

llvm-svn: 165754
This commit is contained in:
Sean Callanan 2012-10-11 22:00:52 +00:00
parent 8c9e941196
commit 95769bf489
3 changed files with 11 additions and 16 deletions

View File

@ -280,7 +280,7 @@ protected:
llvm::Value *BuildPointerValidatorFunc(lldb::addr_t start_address)
{
IntegerType *intptr_ty = llvm::Type::getIntNTy(m_module.getContext(),
(m_module.getPointerSize(0) == llvm::Module::Pointer64) ? 64 : 32);
(m_module.getPointerSize() == llvm::Module::Pointer64) ? 64 : 32);
llvm::Type *param_array[1];
@ -307,7 +307,7 @@ protected:
llvm::Value *BuildObjectCheckerFunc(lldb::addr_t start_address)
{
IntegerType *intptr_ty = llvm::Type::getIntNTy(m_module.getContext(),
(m_module.getPointerSize(0) == llvm::Module::Pointer64) ? 64 : 32);
(m_module.getPointerSize() == llvm::Module::Pointer64) ? 64 : 32);
llvm::Type *param_array[2];

View File

@ -300,9 +300,8 @@ llvm::Constant *
IRForTarget::BuildFunctionPointer (llvm::Type *type,
uint64_t ptr)
{
unsigned AS = type->isPointerTy() ? cast<PointerType>(type)->getAddressSpace: 0;
IntegerType *intptr_ty = Type::getIntNTy(m_module->getContext(),
(m_module->getPointerSize(AS) == Module::Pointer64) ? 64 : 32);
(m_module->getPointerSize() == Module::Pointer64) ? 64 : 32);
PointerType *fun_ptr_ty = PointerType::getUnqual(type);
Constant *fun_addr_int = ConstantInt::get(intptr_ty, ptr, false);
return ConstantExpr::getIntToPtr(fun_addr_int, fun_ptr_ty);
@ -841,7 +840,7 @@ IRForTarget::RewriteObjCConstString (llvm::GlobalVariable *ns_str,
Type *i8_ptr_ty = Type::getInt8PtrTy(m_module->getContext());
IntegerType *intptr_ty = Type::getIntNTy(m_module->getContext(),
(m_module->getPointerSize(ns_str->getType()->getAddressSpace())
(m_module->getPointerSize()
== Module::Pointer64) ? 64 : 32);
Type *i32_ty = Type::getInt32Ty(m_module->getContext());
Type *i8_ty = Type::getInt8Ty(m_module->getContext());
@ -1273,11 +1272,10 @@ IRForTarget::RewriteObjCSelector (Instruction* selector_load)
ArrayRef<Type *> srN_arg_types(type_array, 1);
llvm::Type *srN_type = FunctionType::get(sel_ptr_type, srN_arg_types, false);
unsigned AS = srN_type->isPointerTy() ? cast<PointerType>(srN_type)->getAddressSpace() : 0;
// Build the constant containing the pointer to the function
IntegerType *intptr_ty = Type::getIntNTy(m_module->getContext(),
(m_module->getPointerSize(AS) == Module::Pointer64) ? 64 : 32);
(m_module->getPointerSize() == Module::Pointer64) ? 64 : 32);
PointerType *srN_ptr_ty = PointerType::getUnqual(srN_type);
Constant *srN_addr_int = ConstantInt::get(intptr_ty, sel_registerName_addr, false);
m_sel_registerName = ConstantExpr::getIntToPtr(srN_addr_int, srN_ptr_ty);
@ -1727,9 +1725,8 @@ IRForTarget::HandleSymbol (Value *symbol)
log->Printf("Found \"%s\" at 0x%llx", name.GetCString(), symbol_addr);
Type *symbol_type = symbol->getType();
unsigned AS = symbol_type->isPointerTy() ? cast<PointerType>(symbol_type)->getAddressSpace() : 0;
IntegerType *intptr_ty = Type::getIntNTy(m_module->getContext(),
(m_module->getPointerSize(AS) == Module::Pointer64) ? 64 : 32);
(m_module->getPointerSize() == Module::Pointer64) ? 64 : 32);
Constant *symbol_addr_int = ConstantInt::get(intptr_ty, symbol_addr, false);
@ -1810,7 +1807,7 @@ IRForTarget::HandleObjCClass(Value *classlist_reference)
return false;
IntegerType *intptr_ty = Type::getIntNTy(m_module->getContext(),
(m_module->getPointerSize(global_variable->getAddressSpace())
(m_module->getPointerSize()
== Module::Pointer64) ? 64 : 32);
Constant *class_addr = ConstantInt::get(intptr_ty, (uint64_t)class_ptr);
@ -2581,9 +2578,8 @@ IRForTarget::BuildRelocation(llvm::Type *type,
{
lldb::LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_EXPRESSIONS));
unsigned AS = type->isPointerTy() ? cast<PointerType>(type)->getAddressSpace() : 0;
IntegerType *intptr_ty = Type::getIntNTy(m_module->getContext(),
(m_module->getPointerSize(AS) == Module::Pointer64) ? 64 : 32);
(m_module->getPointerSize() == Module::Pointer64) ? 64 : 32);
llvm::Constant *offset_int = ConstantInt::get(intptr_ty, offset);
@ -2623,9 +2619,8 @@ IRForTarget::CompleteDataAllocation ()
if (!allocation)
return false;
unsigned AS = 0;
IntegerType *intptr_ty = Type::getIntNTy(m_module->getContext(),
(m_module->getPointerSize(AS) == Module::Pointer64) ? 64 : 32);
(m_module->getPointerSize() == Module::Pointer64) ? 64 : 32);
Constant *relocated_addr = ConstantInt::get(intptr_ty, (uint64_t)allocation);
Constant *relocated_bitcast = ConstantExpr::getIntToPtr(relocated_addr, llvm::Type::getInt8PtrTy(m_module->getContext()));

View File

@ -425,7 +425,7 @@ public:
m_decl_map (decl_map)
{
m_byte_order = (target_data.isLittleEndian() ? lldb::eByteOrderLittle : lldb::eByteOrderBig);
m_addr_byte_size = (target_data.getPointerSize());
m_addr_byte_size = (target_data.getPointerSize(0));
}
void Jump (const BasicBlock *bb)
@ -1042,7 +1042,7 @@ IRInterpreter::runOnFunction (lldb::ClangExpressionVariableSP &result,
}
DataLayout target_data(&llvm_module);
if (target_data.getPointerSize() != target_info.address_byte_size)
if (target_data.getPointerSize(0) != target_info.address_byte_size)
{
err.SetErrorToGenericError();
err.SetErrorString(interpreter_initialization_error);