|
GCC Middle and Back End API Reference
|

Go to the source code of this file.
Functions | |
| void | unroll_loops (int) |
| basic_block | split_edge_and_insert (edge, rtx_insn *) |
|
extern |
Splits edge E and inserts the sequence of instructions INSNS on it, and returns the newly created block. If INSNS is NULL_RTX, nothing is changed and NULL is returned instead.
References BB_END, emit_insn_after(), NULL, split_edge(), and split_edge_and_insert().
Referenced by add_test(), split_edge_and_insert(), and unroll_loop_runtime_iterations().
|
extern |
Loop unrolling header file. Copyright (C) 2014-2026 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
Unroll LOOPS.
References calculate_dominance_info(), CDI_DOMINATORS, cfun, decide_unrolling(), lpt_decision::decision, fix_loop_structure(), gcc_unreachable, iv_analysis_done(), LI_FROM_INNERMOST, loop::lpt_decision, LPT_NONE, LPT_UNROLL_CONSTANT, LPT_UNROLL_RUNTIME, LPT_UNROLL_STUPID, NULL, unroll_loop_constant_iterations(), unroll_loop_runtime_iterations(), unroll_loop_stupid(), and unroll_loops().
Referenced by unroll_loops().