[Lldb-commits] [lldb] 2df9430 - [lldb] Remove uses of PointerType::getElementType()

Nikita Popov via lldb-commits lldb-commits at lists.llvm.org
Mon Feb 14 00:34:32 PST 2022


Author: Nikita Popov
Date: 2022-02-14T09:34:24+01:00
New Revision: 2df9430fbfaf40ecce5f902651e2725aaa4c275b

URL: https://github.com/llvm/llvm-project/commit/2df9430fbfaf40ecce5f902651e2725aaa4c275b
DIFF: https://github.com/llvm/llvm-project/commit/2df9430fbfaf40ecce5f902651e2725aaa4c275b.diff

LOG: [lldb] Remove uses of PointerType::getElementType()

This method has been deprecated and removed. I missed these usages
in lldb previously.

Added: 
    

Modified: 
    lldb/source/Expression/IRInterpreter.cpp
    lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/source/Expression/IRInterpreter.cpp b/lldb/source/Expression/IRInterpreter.cpp
index 2ad51d0e84027..338d387d39fcd 100644
--- a/lldb/source/Expression/IRInterpreter.cpp
+++ b/lldb/source/Expression/IRInterpreter.cpp
@@ -1193,16 +1193,6 @@ bool IRInterpreter::Interpret(llvm::Module &module, llvm::Function &function,
 
       const Value *pointer_operand = load_inst->getPointerOperand();
 
-      Type *pointer_ty = pointer_operand->getType();
-      PointerType *pointer_ptr_ty = dyn_cast<PointerType>(pointer_ty);
-      if (!pointer_ptr_ty) {
-        LLDB_LOGF(log, "getPointerOperand()->getType() is not a PointerType");
-        error.SetErrorToGenericError();
-        error.SetErrorString(interpreter_internal_error);
-        return false;
-      }
-      Type *target_ty = pointer_ptr_ty->getElementType();
-
       lldb::addr_t D = frame.ResolveValue(load_inst, module);
       lldb::addr_t P = frame.ResolveValue(pointer_operand, module);
 
@@ -1231,6 +1221,7 @@ bool IRInterpreter::Interpret(llvm::Module &module, llvm::Function &function,
         return false;
       }
 
+      Type *target_ty = load_inst->getType();
       size_t target_size = data_layout.getTypeStoreSize(target_ty);
       lldb_private::DataBufferHeap buffer(target_size, 0);
 
@@ -1276,12 +1267,6 @@ bool IRInterpreter::Interpret(llvm::Module &module, llvm::Function &function,
       const Value *value_operand = store_inst->getValueOperand();
       const Value *pointer_operand = store_inst->getPointerOperand();
 
-      Type *pointer_ty = pointer_operand->getType();
-      PointerType *pointer_ptr_ty = dyn_cast<PointerType>(pointer_ty);
-      if (!pointer_ptr_ty)
-        return false;
-      Type *target_ty = pointer_ptr_ty->getElementType();
-
       lldb::addr_t D = frame.ResolveValue(value_operand, module);
       lldb::addr_t P = frame.ResolveValue(pointer_operand, module);
 
@@ -1310,6 +1295,7 @@ bool IRInterpreter::Interpret(llvm::Module &module, llvm::Function &function,
         return false;
       }
 
+      Type *target_ty = value_operand->getType();
       size_t target_size = data_layout.getTypeStoreSize(target_ty);
       lldb_private::DataBufferHeap buffer(target_size, 0);
 

diff  --git a/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp b/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
index 428fe33630569..fee1a2a5e5e60 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
@@ -328,7 +328,7 @@ bool IRForTarget::CreateResultVariable(llvm::Function &llvm_function) {
   // Construct a new result global and set up its metadata
 
   GlobalVariable *new_result_global = new GlobalVariable(
-      (*m_module), result_global->getType()->getElementType(),
+      (*m_module), result_global->getValueType(),
       false,                                 /* not constant */
       GlobalValue::ExternalLinkage, nullptr, /* no initializer */
       m_result_name.GetCString());


        


More information about the lldb-commits mailing list