Lines Matching defs:instructions
233 /* Workaround GFX9 hardware bug for D16 image instructions: FeatureImageGather4D16Bug
1719 /* create_vector instructions have different costs w.r.t. register coalescing */
1732 /* test for each operand which definition placement causes the least shuffle instructions */
1863 /* all instructions which use handle_operands() need this information */
1945 // TODO: there are more instructions with restrictions on registers
1993 std::vector<aco_ptr<Instruction>>& instructions, Block& block,
2008 for (phi_it = instructions.begin(); phi_it != instructions.end(); ++phi_it) {
2041 instructions.emplace_back(std::move(new_phi));
2054 std::vector<aco_ptr<Instruction>>& instructions, IDSet& live_in)
2056 /* move all phis to instructions */
2057 for (aco_ptr<Instruction>& phi : block.instructions) {
2061 instructions.emplace_back(std::move(phi));
2065 for (aco_ptr<Instruction>& phi : instructions) {
2089 for (aco_ptr<Instruction>& phi : instructions) {
2126 for (unsigned i = 0; i < instructions.size(); i++) {
2127 aco_ptr<Instruction>& phi = instructions[i];
2133 get_reg_phi(ctx, live_in, register_file, instructions, block, phi, definition.getTemp()));
2194 block->instructions.insert(block->instructions.begin(), std::move(phi));
2226 for (unsigned i = 1; i < loop_header.instructions[0]->operands.size(); i++) {
2227 Operand& op = loop_header.instructions[0]->operands[i];
2235 loop_header.instructions[0]->definitions[0].setFixed(var.reg);
2239 for (unsigned i = renames.size(); i < loop_header.instructions.size(); i++) {
2240 aco_ptr<Instruction>& phi = loop_header.instructions[i];
2269 for (aco_ptr<Instruction>& instr : current.instructions) {
2311 for (aco_ptr<Instruction>& instr : block.instructions) {
2331 for (aco_ptr<Instruction>& instr : block.instructions) {
2377 for (rit = block.instructions.rbegin(); rit != block.instructions.rend(); ++rit) {
2473 for (; rit != block.instructions.rend(); ++rit) {
2512 for (aco_ptr<Instruction>& phi : header_rit->instructions) {
2676 std::vector<aco_ptr<Instruction>> instructions;
2680 get_regs_for_phis(ctx, block, register_file, instructions, live_out_per_block[block.index]);
2690 instructions, block, ctx.phi_dummy, Temp(0, s2));
2693 aco_ptr<Instruction>& br = program->blocks[pred].instructions.back();
2702 /* Handle all other instructions of the block */
2705 std::find_if(block.instructions.begin(), block.instructions.end(), NonPhi);
2706 for (; instr_it != block.instructions.end(); ++instr_it) {
2714 instructions.emplace_back(std::move(instr));
2724 for (aco_ptr<Instruction>& phi : succ.instructions) {
2738 instructions.emplace_back(std::move(instr));
2745 instructions.emplace_back(std::move(instr));
3005 instructions.emplace_back(std::move(pc));
3008 /* some instructions need VOP3 encoding if operand/definition is not assigned to VCC */
3066 instructions.emplace_back(std::move(mov));
3078 instructions.emplace_back(std::move(*instr_it));
3082 block.instructions = std::move(instructions);