@@ -1653,8 +1653,11 @@ class ASRToLLVMVisitor : public ASR::BaseVisitor<ASRToLLVMVisitor>
16531653 this ->visit_expr (*x.m_left );
16541654 llvm::Value *left = tmp;
16551655 ptr_loads = ptr_loads_copy;
1656+ llvm::Value *capacity = LLVM::CreateLoad (*builder,
1657+ llvm_utils->dict_api ->get_pointer_to_capacity (right));
1658+ llvm::Value *key_hash = llvm_utils->dict_api ->get_key_hash (capacity, left, dict_type->m_key_type , *module );
16561659
1657- tmp = llvm_utils->dict_api ->is_key_present (right, left, dict_type , *module );
1660+ tmp = llvm_utils->dict_api ->resolve_collision_for_read_with_bound_check (right, key_hash, left , *module , dict_type-> m_key_type , dict_type-> m_value_type , true );
16581661 }
16591662
16601663 void visit_SetContains (const ASR::SetContains_t &x) {
@@ -1672,8 +1675,11 @@ class ASRToLLVMVisitor : public ASR::BaseVisitor<ASRToLLVMVisitor>
16721675 this ->visit_expr (*x.m_left );
16731676 llvm::Value *left = tmp;
16741677 ptr_loads = ptr_loads_copy;
1678+ llvm::Value *capacity = LLVM::CreateLoad (*builder,
1679+ llvm_utils->set_api ->get_pointer_to_capacity (right));
1680+ llvm::Value *el_hash = llvm_utils->set_api ->get_el_hash (capacity, left, el_type, *module );
16751681
1676- tmp = llvm_utils->set_api ->is_el_present (right, left, *module , el_type);
1682+ tmp = llvm_utils->set_api ->resolve_collision_for_read_with_bound_check (right, el_hash, left, *module , el_type, false , true );
16771683 }
16781684
16791685 void visit_DictLen (const ASR::DictLen_t& x) {
0 commit comments