Lines Matching refs:lower
72 * lower strength. Accordingly, strength is used as a heuristic to
266 * Note that visiting a jump does not lower it. That is the
315 * Insert the instructions necessary to lower a return statement,
336 * If the given instruction is a return, lower it to instructions
363 * If the given instruction is a break, lower it to an instruction
378 * If the block ends in a conditional or unconditional break, lower
468 bool lower;
472 lower = false; /* don't change this, code relies on it */
475 lower = lower_continue;
479 /* never lower "canonical break" */
482 lower = false;
484 lower = lower_break;
487 /* never lower return at the end of a this->function */
489 lower = false;
491 lower = this->function.lower_return;
494 return lower;
529 /* Recursively lower nested jumps. This satisfies the
607 /* lower a jump: if both need to lowered, start with the strongest one, so that
614 int lower;
616 lower = jump_strengths[1] > jump_strengths[0];
618 lower = 0;
620 lower = 1;
628 if(jump_strengths[lower] == strength_return) {
629 /* To lower a return, we create a return flag (if the
634 insert_lowered_return((ir_return*)jumps[lower]);
646 block_records[lower].min_strength = strength_break;
647 jumps[lower]->replace_with(lowered);
648 jumps[lower] = lowered;
658 } else if(jump_strengths[lower] == strength_break) {
659 /* To lower a break, we create a break flag (if the loop
670 jumps[lower]->insert_before(create_lowered_break());
672 } else if(jump_strengths[lower] == strength_continue) {
674 /* To lower a continue, we create an execute flag (if the
683 jumps[lower]->replace_with(new(ir) ir_assignment(new (ir) ir_dereference_variable(execute_flag), new (ir) ir_constant(false)));
688 jumps[lower] = 0;
689 block_records[lower].min_strength = strength_always_clears_execute_flag;
690 block_records[lower].may_clear_execute_flag = true;
857 /* Recursively lower nested jumps. This satisfies the
874 * lowering returns, lower it.
902 * unconditional break, then we need to lower that break,
930 * loop if the return flag is set. Caller will lower that
981 /* Visit the body of the function to lower any jumps that occur
988 * then we don't need to lower it because it's the one canonical