Lines Matching refs:lower
72 * lower strength. Accordingly, strength is used as a heuristic to
264 * Note that visiting a jump does not lower it. That is the
308 * Insert the instructions necessary to lower a return statement,
329 * If the given instruction is a return, lower it to instructions
357 * If the given instruction is a break, lower it to an instruction
372 * If the block ends in a conditional or unconditional break, lower
462 bool lower;
466 lower = false; /* don't change this, code relies on it */
469 lower = lower_continue;
473 /* never lower "canonical break" */
476 lower = false;
478 lower = lower_break;
481 /* never lower return at the end of a this->function */
483 lower = false;
485 lower = this->function.lower_return;
488 return lower;
523 /* Recursively lower nested jumps. This satisfies the
601 /* lower a jump: if both need to lowered, start with the strongest one, so that
608 int lower;
610 lower = jump_strengths[1] > jump_strengths[0];
612 lower = 0;
614 lower = 1;
622 if(jump_strengths[lower] == strength_return) {
623 /* To lower a return, we create a return flag (if the
628 insert_lowered_return((ir_return*)jumps[lower]);
640 block_records[lower].min_strength = strength_break;
641 jumps[lower]->replace_with(lowered);
642 jumps[lower] = lowered;
652 } else if(jump_strengths[lower] == strength_break) {
653 /* To lower a break, we create a break flag (if the loop
664 jumps[lower]->insert_before(create_lowered_break());
666 } else if(jump_strengths[lower] == strength_continue) {
668 /* To lower a continue, we create an execute flag (if the
677 jumps[lower]->replace_with(new(ir) ir_assignment(new (ir) ir_dereference_variable(execute_flag), new (ir) ir_constant(false), 0));
682 jumps[lower] = 0;
683 block_records[lower].min_strength = strength_always_clears_execute_flag;
684 block_records[lower].may_clear_execute_flag = true;
851 /* Recursively lower nested jumps. This satisfies the
868 * lowering returns, lower it.
896 * unconditional break, then we need to lower that break,
924 * loop if the return flag is set. Caller will lower that
962 /* Visit the body of the function to lower any jumps that occur
969 * then we don't need to lower it because it's the one canonical