Lines Matching refs:phi

534     // Update the phi-instructions in the successor basic block
560 // Iterate every phi instructions in the succeeding basic block
565 llvm::PHINode *phi = llvm::dyn_cast<llvm::PHINode>(inst_iter);
567 if (!phi) {
568 break; // Meet non-phi instruction. Done.
571 if (handler_phi[phi] == NULL) {
572 handler_phi[phi] = llvm::PHINode::Create(phi->getType(), 1);
576 llvm::PHINode* new_phi = irb_.CreatePHI(phi->getType(), rewrite_pair.size());
581 new_phi->addIncoming(phi->getIncomingValueForBlock(old_bb), new_bb);
583 // Delete all incoming value from phi by rewrite_pair
586 int old_bb_idx = phi->getBasicBlockIndex(old_bb);
588 phi->removeIncomingValue(old_bb_idx, false);
591 // Insert new_phi into new handler phi
592 handler_phi[phi]->addIncoming(new_phi, lbb);
597 // Replace all handler phi
598 // We can't just use the old handler phi, because some exception edges will disappear after we
622 // Iterate every phi instructions in the succeeding basic block
627 llvm::PHINode *phi = llvm::dyn_cast<llvm::PHINode>(inst_iter);
629 if (!phi) {
630 break; // Meet non-phi instruction. Done.
633 // Update the incoming block of this phi instruction
635 ibb_iter = phi->block_begin(), ibb_end = phi->block_end();
1453 // Update the phi-instructions in the successor basic block
1826 llvm::PHINode* phi = irb_.CreatePHI(irb_.getJObjectTy(), 2);
1828 phi->addIncoming(type_object_addr, block_original);
1829 phi->addIncoming(loaded_type_object_addr, block_after_load_class);
1831 return phi;
1881 llvm::PHINode* phi = irb_.CreatePHI(irb_.getJObjectTy(), 2);
1883 phi->addIncoming(storage_object_addr, block_original);
1884 phi->addIncoming(loaded_storage_object_addr, block_after_load_static);
1886 return phi;
2112 llvm::PHINode* phi = irb_.CreatePHI(irb_.getJObjectTy(), 2);
2114 phi->addIncoming(string_addr, block_str_exist);
2115 phi->addIncoming(result, block_pre_cont);
2117 string_addr = phi;
2278 llvm::PHINode* phi = irb_.CreatePHI(irb_.getJIntTy(), 3);
2280 phi->addIncoming(irb_.getJInt(0), block_nullp);
2281 phi->addIncoming(irb_.getJInt(1), block_class_equals);
2282 phi->addIncoming(result, block_test_sub_class);
2284 return phi;