Home
last modified time | relevance | path

Searched refs:phi (Results 1 – 9 of 9) sorted by relevance

/art/compiler/sea_ir/debug/
Ddot_gen.cc165 void DotGenerationVisitor::Visit(PhiInstructionNode* phi) { in Visit() argument
166 dot_text_ += "// PhiInstruction: \n" + phi->StringId() + in Visit()
167 " [label=\"[" + phi->StringId() + "] PHI("; in Visit()
168 dot_text_ += art::StringPrintf("%d", phi->GetRegisterNumber()); in Visit()
171 ToDotSSAEdges(phi); in Visit()
Ddot_gen.h58 void Visit(PhiInstructionNode* phi);
/art/compiler/sea_ir/code_gen/
Dcode_gen.cc29 void CodeGenPrepassVisitor::Visit(PhiInstructionNode* phi) { in Visit() argument
30 Region* r = phi->GetRegion(); in Visit()
35 llvm::Type::getInt32Ty(*llvm_data_->context_), predecessors->size(), phi->StringId()); in Visit()
36 llvm_data_->AddValue(phi, llvm_phi); in Visit()
256 void CodeGenPostpassVisitor::Visit(PhiInstructionNode* phi) { in Visit() argument
257 std::cout << "10. Instruction: Phi(" << phi->GetRegisterNumber() << ")" << std::endl; in Visit()
258 Region* r = phi->GetRegion(); in Visit()
263 llvm::PHINode* llvm_phi = (llvm::PHINode*) llvm_data_->GetValue(phi); in Visit()
267 std::vector<InstructionNode*>* defining_instructions = phi->GetSSAUses(predecessor_pos++); in Visit()
/art/compiler/dex/
Dmir_optimization.cc367 MIR* phi = FindPhi(tk_tk, if_true->ssa_rep->defs[0]); in BasicBlockOpt() local
368 if ((phi != NULL) && (if_true->dalvikInsn.vA == if_false->dalvikInsn.vA)) { in BasicBlockOpt()
430 if (phi->ssa_rep->num_uses == 2) { in BasicBlockOpt()
431 mir->ssa_rep->defs[0] = phi->ssa_rep->defs[0]; in BasicBlockOpt()
432 phi->dalvikInsn.opcode = static_cast<Instruction::Code>(kMirOpNop); in BasicBlockOpt()
437 int* incoming = reinterpret_cast<int*>(phi->dalvikInsn.vB); in BasicBlockOpt()
438 for (int i = 0; i < phi->ssa_rep->num_uses; i++) { in BasicBlockOpt()
439 if (phi->ssa_rep->uses[i] == live_def) { in BasicBlockOpt()
443 for (int i = 0; i < phi->ssa_rep->num_uses; i++) { in BasicBlockOpt()
444 if (phi->ssa_rep->uses[i] == dead_def) { in BasicBlockOpt()
[all …]
Dssa_transformation.cc566 MIR *phi = in InsertPhiNodes() local
568 phi->dalvikInsn.opcode = static_cast<Instruction::Code>(kMirOpPhi); in InsertPhiNodes()
569 phi->dalvikInsn.vA = dalvik_reg; in InsertPhiNodes()
570 phi->offset = phi_bb->start_offset; in InsertPhiNodes()
571 phi->m_unit_index = 0; // Arbitrarily assign all Phi nodes to outermost method. in InsertPhiNodes()
572 PrependMIR(phi_bb, phi); in InsertPhiNodes()
/art/compiler/llvm/
Dgbc_expander.cc565 llvm::PHINode *phi = llvm::dyn_cast<llvm::PHINode>(inst_iter); in RewriteFunction() local
567 if (!phi) { in RewriteFunction()
571 if (handler_phi[phi] == NULL) { in RewriteFunction()
572 handler_phi[phi] = llvm::PHINode::Create(phi->getType(), 1); in RewriteFunction()
576 llvm::PHINode* new_phi = irb_.CreatePHI(phi->getType(), rewrite_pair.size()); in RewriteFunction()
581 new_phi->addIncoming(phi->getIncomingValueForBlock(old_bb), new_bb); in RewriteFunction()
586 int old_bb_idx = phi->getBasicBlockIndex(old_bb); in RewriteFunction()
588 phi->removeIncomingValue(old_bb_idx, false); in RewriteFunction()
592 handler_phi[phi]->addIncoming(new_phi, lbb); in RewriteFunction()
627 llvm::PHINode *phi = llvm::dyn_cast<llvm::PHINode>(inst_iter); in UpdatePhiInstruction() local
[all …]
/art/compiler/sea_ir/ir/
Dvisitor.h79 virtual void Traverse(PhiInstructionNode* phi) { } in Traverse() argument
Dsea.cc596 PhiInstructionNode* phi = (*phi_it); in SetPhiDefinitionsForUses() local
597 int reg_no = phi->GetRegisterNumber(); in SetPhiDefinitionsForUses()
599 phi->RenameToSSA(reg_no, definition, predecessor_id); in SetPhiDefinitionsForUses()
/art/compiler/dex/portable/
Dmir_to_gbc.cc1558 ::llvm::PHINode* phi = irb_->CreatePHI(phi_type, mir->ssa_rep->num_uses); in HandlePhiNodes()
1573 phi->addIncoming(GetLLVMValue(loc.orig_sreg), in HandlePhiNodes()
1576 DefineValueOnly(phi, rl_dest.orig_sreg); in HandlePhiNodes()
1590 ::llvm::Value* phi = GetLLVMValue(rl_dest.orig_sreg); in ConvertExtendedMIR()
1591 if (1) SetVregOnValue(phi, rl_dest.orig_sreg); in ConvertExtendedMIR()