Searched refs:assignment (Results 1 - 25 of 63) sorted by relevance

123

/xsrc/external/mit/MesaLib/dist/src/compiler/glsl/
H A Dopt_vectorize.cpp29 * and assignment.
67 assignment[0] = NULL;
68 assignment[1] = NULL;
69 assignment[2] = NULL;
70 assignment[3] = NULL;
95 ir_assignment *assignment[4]; member in class:__anon8fa2ffa50110::ir_vectorize_visitor
106 * Rewrites the swizzles and types of a right-hand side of an assignment.
173 * assignment seen to be an equivalent vector form of the scalar assignments.
185 if (this->assignment[i]) {
188 if (this->assignment[
[all...]
H A Dlower_discard.cpp159 ir_assignment *assignment = local in function:replace_discard
163 ir->replace_with(assignment);
H A Dopt_constant_folding.cpp128 * remove the never-executed assignment.
154 * remove the never-executed assignment.
192 /* Next, see if the call can be replaced with an assignment of a constant */
196 ir_assignment *assignment = local in function:ir_constant_folding_visitor::visit_enter
198 ir->replace_with(assignment);
H A Dopt_function_inlining.cpp118 ir_assignment *assignment; local in function:ir_save_lvalue_visitor::visit_enter
123 assignment = new(ctx) ir_assignment(new(ctx) ir_dereference_variable(index),
125 base_ir->insert_before(assignment);
138 * the location information, which an assignment of an opaque
H A Dlower_variable_index_to_cond_assign.cpp42 * the RHS of the assignment is assigned to a temporary. The non-constant
207 /* Generate a conditional assignment to (or from) the constant indexed
210 ir_assignment *const assignment = (is_write) local in function:__anon8ba960860110::assignment_generator::generate
214 body.emit(assignment);
481 /* If the original assignment has a condition, respect that original
H A Dast_function.cpp428 ir_assignment *const assignment = local in function:copy_index_derefs_to_temps
431 d->before_instructions->push_tail(assignment);
505 ir_assignment *const assignment = local in function:fix_parameter
507 before_instructions->push_tail(assignment);
1256 ir_instruction *assignment = NULL; local in function:process_vec_mat_constructor
1261 assignment = new(ctx) ir_assignment(lhs, rhs);
1267 assignment = new(ctx) ir_assignment(lhs, rhs, NULL,
1271 instructions->push_tail(assignment);
1397 ir_instruction *assignment = new(ctx) ir_assignment(lhs, rhs); local in function:process_array_constructor
1398 instructions->push_tail(assignment);
[all...]
/xsrc/external/mit/MesaLib.old/dist/src/compiler/glsl/
H A Dopt_vectorize.cpp29 * and assignment.
67 assignment[0] = NULL;
68 assignment[1] = NULL;
69 assignment[2] = NULL;
70 assignment[3] = NULL;
95 ir_assignment *assignment[4]; member in class:__anon6084ffb20110::ir_vectorize_visitor
106 * Rewrites the swizzles and types of a right-hand side of an assignment.
173 * assignment seen to be an equivalent vector form of the scalar assignments.
185 if (this->assignment[i]) {
188 if (this->assignment[
[all...]
H A Dlower_discard.cpp159 ir_assignment *assignment = local in function:replace_discard
163 ir->replace_with(assignment);
H A Dopt_constant_folding.cpp128 * remove the never-executed assignment.
154 * remove the never-executed assignment.
192 /* Next, see if the call can be replaced with an assignment of a constant */
196 ir_assignment *assignment = local in function:ir_constant_folding_visitor::visit_enter
198 ir->replace_with(assignment);
H A Dopt_function_inlining.cpp118 ir_assignment *assignment; local in function:ir_save_lvalue_visitor::visit_enter
123 assignment = new(ctx) ir_assignment(new(ctx) ir_dereference_variable(index),
125 base_ir->insert_before(assignment);
138 * the location information, which an assignment of an opaque
H A Dast_function.cpp380 ir_assignment *const assignment = local in function:copy_index_derefs_to_temps
383 d->before_instructions->push_tail(assignment);
457 ir_assignment *const assignment = local in function:fix_parameter
459 before_instructions->push_tail(assignment);
1199 ir_instruction *assignment = NULL; local in function:process_vec_mat_constructor
1204 assignment = new(ctx) ir_assignment(lhs, rhs);
1210 assignment = new(ctx) ir_assignment(lhs, rhs, NULL,
1214 instructions->push_tail(assignment);
1340 ir_instruction *assignment = new(ctx) ir_assignment(lhs, rhs); local in function:process_array_constructor
1341 instructions->push_tail(assignment);
[all...]
H A Dlower_variable_index_to_cond_assign.cpp42 * the RHS of the assignment is assigned to a temporary. The non-constant
207 /* Generate a conditional assignment to (or from) the constant indexed
210 ir_assignment *const assignment = (is_write) local in function:__anonacc470530110::assignment_generator::generate
214 body.emit(assignment);
481 /* If the original assignment has a condition, respect that original
/xsrc/external/mit/MesaLib.old/dist/src/gallium/docs/source/drivers/freedreno/
H A Dir3-notes.rst15 So the current compiler instead, in the frontend, generates a directed-acyclic-graph of instructions and basic blocks, which go through various additional passes to eventually schedule and do register assignment.
39 stages to schedule and do register assignment.
93 (after scheduling, etc, but before register assignment).
199 Before register assignment, to group the two components of the texture src together:
220 The frontend sets up the SSA ptrs from ``sam`` source register to the ``fanin`` meta instruction, which in turn points to the instructions producing the ``coord.x`` and ``coord.y`` values. And the grouping_ pass sets up the ``left`` and ``right`` neighbor pointers to the ``fanin``\'s sources, used later by the `register assignment`_ pass to assign blocks of scalar registers.
263 Relative addressing of the const file (for example, a uniform array) is relatively simple. We don't do register assignment of the const file, so all that is required is to schedule things properly. Ie. the instruction that writes the address register must be scheduled first, and we cannot have two different address register values live at one time.
265 But relative addressing of gpr file (which can be as src or dst) has additional restrictions on register assignment (ie. the array elements must be assigned to consecutive scalar registers). And in the case of relative dst, subsequent instructions now depend on both the relative write, as well as the previous instruction which wrote that register, since we do not know at compile time which actual register was written.
295 To implement variable arrays, values are stored in consecutive scalar registers. This has some overlap with `register groups`_, in that ``fanin`` and ``fanout`` are used to help group things for the `register assignment`_ pass.
341 In this case, the ``mov`` instruction does not write all elements of the array (compared to usage of ``fanout`` for ``sam`` instructions in grouping_). But the ``mov`` instruction does need an additional dependency (via ``fanin``) on instructions that last wrote the array element members, to ensure that they get scheduled before the ``mov`` in scheduling_ stage (which also serves to group the array elements for the `register assignment`_ stage).
374 After the frontend has generated the use-def graph of instructions, they are run through various passes which include scheduling_ and `register assignment`
[all...]
/xsrc/external/mit/MesaLib/dist/docs/drivers/freedreno/
H A Dir3-notes.rst15 So the current compiler instead, in the frontend, generates a directed-acyclic-graph of instructions and basic blocks, which go through various additional passes to eventually schedule and do register assignment.
39 stages to schedule and do register assignment.
93 (after scheduling, etc, but before register assignment).
199 Before register assignment, to group the two components of the texture src together:
220 The frontend sets up the SSA ptrs from ``sam`` source register to the ``collect`` meta instruction, which in turn points to the instructions producing the ``coord.x`` and ``coord.y`` values. And the grouping_ pass sets up the ``left`` and ``right`` neighbor pointers to the ``collect``\'s sources, used later by the `register assignment`_ pass to assign blocks of scalar registers.
263 Relative addressing of the const file (for example, a uniform array) is relatively simple. We don't do register assignment of the const file, so all that is required is to schedule things properly. I.e. the instruction that writes the address register must be scheduled first, and we cannot have two different address register values live at one time.
265 But relative addressing of gpr file (which can be as src or dst) has additional restrictions on register assignment (i.e. the array elements must be assigned to consecutive scalar registers). And in the case of relative dst, subsequent instructions now depend on both the relative write, as well as the previous instruction which wrote that register, since we do not know at compile time which actual register was written.
345 After the frontend has generated the use-def graph of instructions, they are run through various passes which include scheduling_ and `register assignment`_. Because inserting ``mov`` instructions after scheduling would also require inserting additional ``nop`` instructions (since it is too late to reschedule to try and fill the bubbles), the earlier stages try to ensure that (at least given an infinite supply of registers) that `register assignment`_ after scheduling_ cannot fail.
375 In the grouping pass, instructions which need to be grouped (for ``collect``\s, etc) have their ``left`` / ``right`` neighbor pointers setup. In cases where there is a conflict (i.e. one instruction cannot have two unique left or right neighbors), an additional ``mov`` instruction is inserted. This ensures that there is some possible valid `register assignment`
[all...]
/xsrc/external/mit/MesaLib/dist/docs/relnotes/
H A D9.2.4.rst55 - glsl: Fix lowering of direct assignment in lower_clip_distance.
H A D17.1.9.rst36 assignment
H A D17.3.8.rst32 assignment ?
H A D7.10.2.rst47 [GLSL] allowing assignment to unsized array
128 - glsl: Only allow unsized array assignment in an initializer
H A D11.0.4.rst134 - u_vbuf: fix vb slot assignment for translated buffers
H A D17.2.1.rst38 assignment
H A D18.2.3.rst117 - glsl: do not attempt assignment if operand type not parsed correctly
H A D19.3.2.rst61 - glsl: fix a binding points assignment for ssbo/ubo arrays
H A D20.2.1.rst159 - gallium/dri2: Move image->texture assignment after image NULL check.
/xsrc/external/mit/MesaLib.old/dist/src/gallium/targets/dri/
H A DAndroid.mk37 # "version script assignment of to symbol FOO failed: symbol not defined"
/xsrc/external/mit/MesaLib/dist/src/amd/compiler/
H A Daco_register_allocation.cpp48 struct assignment { struct in namespace:aco::__anon1a58e4b40110
53 assignment() = default;
54 assignment(PhysReg reg_, RegClass rc_) : reg(reg_), rc(rc_), assigned(-1) {} function in struct:aco::__anon1a58e4b40110::assignment
67 std::vector<assignment> assignments;
568 unreachable("Something went wrong: Impossible register assignment.");
695 unreachable("Something went wrong: Impossible register assignment.");
958 assignment& var = ctx.assignments[id];
964 assignment& var = ctx.assignments[id];
977 assignment& var = ctx.assignments[size_id.second];
996 assignment
[all...]

Completed in 23 milliseconds

123