Lines Matching refs:builder

299   builder()->SetInsertPoint(entry_block());
329 builder()->SetInsertPoint(continue_block);
341 builder()->CreateBr(continue_block);
352 BasicBlock *zero_block = builder()->CreateBlock(continue_block, "zero");
377 builder()->CreateCondBr(
378 builder()->CreateICmpNE(a, b), continue_block, zero_block);
380 builder()->SetInsertPoint(zero_block);
383 builder()->throw_NullPointerException(),
384 builder()->CreateIntToPtr(
392 builder()->throw_ArithmeticException(),
393 builder()->CreateIntToPtr(
409 Value *length = builder()->CreateArrayLength(array->jarray_value());
411 builder()->CreateCondBr(
412 builder()->CreateICmpULT(index->jint_value(), length),
415 builder()->SetInsertPoint(out_of_bounds);
419 builder()->throw_ArrayIndexOutOfBoundsException(),
420 builder()->CreateIntToPtr(
433 builder()->SetInsertPoint(in_bounds);
443 builder()->CreateCondBr(
444 builder()->CreateICmpEQ(pending_exception, LLVMValue::null()),
447 builder()->SetInsertPoint(exception);
460 builder()->SetInsertPoint(no_exception);
551 builder()->CreateBr(handler->entry_block());
562 Value *exception_klass = builder()->CreateValueOfStructEntry(
570 builder()->CreateInlineOop(exc_handler(i)->catch_klass());
575 builder()->CreateCondBr(
576 builder()->CreateICmpEQ(check_klass, exception_klass),
579 builder()->SetInsertPoint(not_exact);
580 builder()->CreateCondBr(
581 builder()->CreateICmpNE(
582 builder()->CreateCall2(
583 builder()->is_subtype_of(), check_klass, exception_klass),
587 builder()->SetInsertPoint(not_subtype);
597 builder()->find_exception_handler(),
598 builder()->CreateInlineData(
606 SwitchInst *switchinst = builder()->CreateSwitch(
615 builder()->SetInsertPoint(no_handler);
637 BasicBlock *orig_block = builder()->GetInsertBlock();
643 Value *state = builder()->CreateLoad(
644 builder()->CreateIntToPtr(
650 builder()->CreateCondBr(
651 builder()->CreateICmpEQ(
656 builder()->SetInsertPoint(do_safepoint);
657 call_vm(builder()->safepoint(), EX_CHECK_FULL);
658 BasicBlock *safepointed_block = builder()->GetInsertBlock();
659 builder()->CreateBr(safepointed);
661 builder()->SetInsertPoint(safepointed);
712 BasicBlock *orig_block = builder()->GetInsertBlock();
713 builder()->SetInsertPoint(trap_block);
720 builder()->SetInsertPoint(orig_block);
728 builder()->CreateRet(
729 builder()->CreateCall2(
730 builder()->uncommon_trap(),
736 BasicBlock *orig_block = builder()->GetInsertBlock();
742 Value *klass = builder()->CreateValueOfStructEntry(
748 Value *access_flags = builder()->CreateValueOfStructEntry(
754 builder()->CreateCondBr(
755 builder()->CreateICmpNE(
756 builder()->CreateAnd(
762 builder()->SetInsertPoint(do_call);
763 call_vm(builder()->register_finalizer(), receiver, EX_CHECK_FULL);
764 BasicBlock *branch_block = builder()->GetInsertBlock();
765 builder()->CreateBr(done);
767 builder()->SetInsertPoint(done);
793 builder()->CreateStore(exception, pending_exception_address());
798 builder()->CreateStore(
800 builder()->CreateIntToPtr(
805 builder()->CreateRet(LLVMValue::jint_constant(0));
811 Value *length = builder()->CreateArrayLength(array->jarray_value());
822 Value *value = builder()->CreateLoad(
823 builder()->CreateArrayAddress(
828 value = builder()->CreateIntCast(value, stack_type, basic_type != T_CHAR);
915 value = builder()->CreateIntCast(value, array_type, basic_type != T_CHAR);
917 Value *addr = builder()->CreateArrayAddress(
920 builder()->CreateStore(value, addr);
923 builder()->CreateUpdateBarrierSet(oopDesc::bs(), addr);
963 builder()->CreateBr(dest->entry_block());
972 llvm_a = a->intptr_value(builder());
973 llvm_b = b->intptr_value(builder());
990 builder()->CreateCondBr(
991 builder()->CreateICmp(p, a, b),
1002 SwitchInst *switchinst = builder()->CreateSwitch(
1104 return builder()->CreateBitCast(
1105 builder()->CreateInlineOop(method),
1112 Value *klass = builder()->CreateValueOfStructEntry(
1118 return builder()->CreateLoad(
1119 builder()->CreateArrayAddress(
1137 Value *object_klass = builder()->CreateValueOfStructEntry(
1142 Value *vtable_start = builder()->CreateAdd(
1143 builder()->CreatePtrToInt(object_klass, SharkType::intptr_type()),
1148 Value *vtable_length = builder()->CreateValueOfStructEntry(
1154 builder()->CreateIntCast(vtable_length, SharkType::intptr_type(), false);
1157 Value *itable_start = builder()->CreateAdd(
1159 builder()->CreateShl(
1164 itable_start = builder()->CreateAnd(
1165 builder()->CreateAdd(
1172 Value *iklass = builder()->CreateInlineOop(method->holder());
1173 BasicBlock *loop_entry = builder()->GetInsertBlock();
1174 builder()->CreateBr(loop);
1175 builder()->SetInsertPoint(loop);
1176 PHINode *itable_entry_addr = builder()->CreatePHI(
1180 Value *itable_entry = builder()->CreateIntToPtr(
1183 Value *itable_iklass = builder()->CreateValueOfStructEntry(
1189 builder()->CreateCondBr(
1190 builder()->CreateICmpEQ(itable_iklass, LLVMValue::null()),
1196 builder()->SetInsertPoint(got_null);
1197 builder()->CreateUnimplemented(__FILE__, __LINE__);
1198 builder()->CreateUnreachable();
1200 builder()->SetInsertPoint(not_null);
1201 builder()->CreateCondBr(
1202 builder()->CreateICmpEQ(itable_iklass, iklass),
1205 builder()->SetInsertPoint(next);
1206 Value *next_entry = builder()->CreateAdd(
1209 builder()->CreateBr(loop);
1213 builder()->SetInsertPoint(got_entry);
1214 Value *offset = builder()->CreateValueOfStructEntry(
1220 builder()->CreateIntCast(offset, SharkType::intptr_type(), false);
1222 return builder()->CreateLoad(
1223 builder()->CreateIntToPtr(
1224 builder()->CreateAdd(
1225 builder()->CreateAdd(
1226 builder()->CreateAdd(
1227 builder()->CreatePtrToInt(
1314 Value *base_pc = builder()->CreateValueOfStructEntry(
1320 Value *entry_point = builder()->CreateLoad(
1321 builder()->CreateIntToPtr(
1322 builder()->CreateAdd(
1331 Value *deoptimized_frames = builder()->CreateCall3(
1337 builder()->CreateCondBr(
1338 builder()->CreateICmpNE(deoptimized_frames, LLVMValue::jint_constant(0)),
1341 builder()->SetInsertPoint(reexecute);
1342 builder()->CreateCall2(
1343 builder()->deoptimized_entry_point(),
1344 builder()->CreateSub(deoptimized_frames, LLVMValue::jint_constant(1)),
1346 builder()->CreateBr(call_completed);
1349 builder()->SetInsertPoint(call_completed);
1486 builder()->CreateCondBr(
1487 builder()->CreateICmpEQ(object, LLVMValue::null()),
1489 BasicBlock *null_block = builder()->GetInsertBlock();
1492 builder()->SetInsertPoint(not_null);
1493 Value *check_klass = builder()->CreateInlineOop(klass);
1496 Value *object_klass = builder()->CreateValueOfStructEntry(
1502 builder()->CreateCondBr(
1503 builder()->CreateICmpEQ(check_klass, object_klass),
1506 builder()->SetInsertPoint(subtype_check);
1507 builder()->CreateCondBr(
1508 builder()->CreateICmpNE(
1509 builder()->CreateCall2(
1510 builder()->is_subtype_of(), check_klass, object_klass),
1514 builder()->SetInsertPoint(is_instance);
1515 builder()->CreateBr(merge1);
1517 builder()->SetInsertPoint(not_instance);
1518 builder()->CreateBr(merge1);
1521 builder()->SetInsertPoint(merge1);
1522 PHINode *nonnull_result = builder()->CreatePHI(
1528 BasicBlock *nonnull_block = builder()->GetInsertBlock();
1529 builder()->CreateBr(merge2);
1532 builder()->SetInsertPoint(merge2);
1533 PHINode *result = builder()->CreatePHI(
1543 builder()->CreateCondBr(
1544 builder()->CreateICmpNE(
1548 builder()->SetInsertPoint(failure);
1552 builder()->throw_ClassCastException(),
1553 builder()->CreateIntToPtr(
1564 builder()->SetInsertPoint(success);
1570 builder()->CreateIntCast(
1571 builder()->CreateICmpEQ(
1582 builder()->CreateCondBr(
1583 builder()->CreateICmpEQ(xstack(0)->jobject_value(), LLVMValue::null()),
1588 builder()->SetInsertPoint(not_null);
1596 builder()->SetInsertPoint(is_null);
1646 Value *top_addr = builder()->CreateAddressOfStructEntry(
1651 Value *end = builder()->CreateValueOfStructEntry(
1656 Value *old_top = builder()->CreateLoad(top_addr, "old_top");
1657 Value *new_top = builder()->CreateAdd(
1660 builder()->CreateCondBr(
1661 builder()->CreateICmpULE(new_top, end),
1664 builder()->SetInsertPoint(got_tlab);
1665 tlab_object = builder()->CreateIntToPtr(
1668 builder()->CreateStore(new_top, top_addr);
1669 builder()->CreateBr(initialize);
1671 builder()->SetInsertPoint(heap_alloc);
1675 Value *top_addr = builder()->CreateIntToPtr(
1680 Value *end = builder()->CreateLoad(
1681 builder()->CreateIntToPtr(
1686 builder()->CreateBr(retry);
1687 builder()->SetInsertPoint(retry);
1689 Value *old_top = builder()->CreateLoad(top_addr, "top");
1690 Value *new_top = builder()->CreateAdd(
1693 builder()->CreateCondBr(
1694 builder()->CreateICmpULE(new_top, end),
1697 builder()->SetInsertPoint(got_heap);
1698 heap_object = builder()->CreateIntToPtr(
1701 Value *check = builder()->CreateCmpxchgPtr(new_top, top_addr, old_top);
1702 builder()->CreateCondBr(
1703 builder()->CreateICmpEQ(old_top, check),
1707 builder()->SetInsertPoint(initialize);
1709 PHINode *phi = builder()->CreatePHI(
1719 builder()->CreateMemset(
1720 builder()->CreateBitCast(
1726 Value *mark_addr = builder()->CreateAddressOfStructEntry(
1731 Value *klass_addr = builder()->CreateAddressOfStructEntry(
1744 builder()->CreateStore(LLVMValue::intptr_constant(mark), mark_addr);
1747 Value *rtklass = builder()->CreateInlineOop(klass);
1748 builder()->CreateStore(rtklass, klass_addr);
1749 got_fast = builder()->GetInsertBlock();
1751 builder()->CreateBr(push_object);
1752 builder()->SetInsertPoint(slow_alloc_and_init);
1758 builder()->new_instance(),
1762 got_slow = builder()->GetInsertBlock();
1766 builder()->CreateBr(push_object);
1767 builder()->SetInsertPoint(push_object);
1770 PHINode *phi = builder()->CreatePHI(SharkType::oop_type(), "object");
1787 builder()->newarray(),
1807 builder()->anewarray(),
1831 builder()->CreateStore(
1833 builder()->CreateStructGEP(dimensions, i));
1837 builder()->multianewarray(),
1840 builder()->CreateStructGEP(dimensions, 0),
1853 lockee = builder()->CreateInlineOop(target()->holder()->java_mirror());
1885 builder()->CreateStore(lockee, monitor_object_addr);
1889 Value *mark_addr = builder()->CreateAddressOfStructEntry(
1894 Value *mark = builder()->CreateLoad(mark_addr, "mark");
1895 Value *disp = builder()->CreateOr(
1897 builder()->CreateStore(disp, monitor_header_addr);
1899 Value *lock = builder()->CreatePtrToInt(
1901 Value *check = builder()->CreateCmpxchgPtr(lock, mark_addr, disp);
1902 builder()->CreateCondBr(
1903 builder()->CreateICmpEQ(disp, check),
1907 builder()->SetInsertPoint(try_recursive);
1908 Value *addr = builder()->CreateAnd(
1914 Value *stack_limit = builder()->CreateValueOfStructEntry(
1920 Value *stack_size = builder()->CreateValueOfStructEntry(
1926 builder()->CreateSub(stack_limit, stack_size, "stack_start");
1928 builder()->CreateCondBr(
1929 builder()->CreateAnd(
1930 builder()->CreateICmpUGE(addr, stack_start),
1931 builder()->CreateICmpULT(addr, stack_limit)),
1934 builder()->SetInsertPoint(got_recursive);
1935 builder()->CreateStore(LLVMValue::intptr_constant(0), monitor_header_addr);
1936 builder()->CreateBr(acquired_fast);
1939 builder()->SetInsertPoint(acquired_fast);
1941 builder()->CreateBr(lock_acquired);
1944 builder()->SetInsertPoint(not_recursive);
1946 builder()->monitorenter(), monitor_addr,
1948 BasicBlock *acquired_slow = builder()->GetInsertBlock();
1949 builder()->CreateBr(lock_acquired);
1952 builder()->SetInsertPoint(lock_acquired);
1968 Value *disp = builder()->CreateLoad(monitor_header_addr);
1969 builder()->CreateCondBr(
1970 builder()->CreateICmpEQ(disp, LLVMValue::intptr_constant(0)),
1974 builder()->SetInsertPoint(not_recursive);
1976 Value *lock = builder()->CreatePtrToInt(
1979 Value *lockee = builder()->CreateLoad(monitor_object_addr);
1981 Value *mark_addr = builder()->CreateAddressOfStructEntry(
1986 Value *check = builder()->CreateCmpxchgPtr(disp, mark_addr, lock);
1987 builder()->CreateCondBr(
1988 builder()->CreateICmpEQ(lock, check),
1992 builder()->SetInsertPoint(released_fast);
1994 builder()->CreateBr(lock_released);
1997 builder()->SetInsertPoint(slow_path);
1998 call_vm(builder()->monitorexit(), monitor_addr, exception_action);
1999 BasicBlock *released_slow = builder()->GetInsertBlock();
2000 builder()->CreateBr(lock_released);
2003 builder()->SetInsertPoint(lock_released);