GCC Middle and Back End API Reference
loop-unroll.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void unroll_loops (int)
 
basic_block split_edge_and_insert (edge, rtx_insn *)
 

Function Documentation

◆ split_edge_and_insert()

basic_block split_edge_and_insert ( edge e,
rtx_insn * insns )
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(), insns, NULL, and split_edge().

Referenced by add_test(), and unroll_loop_runtime_iterations().

◆ unroll_loops()

void unroll_loops ( int flags)
extern
Loop unrolling header file.
   Copyright (C) 2014-2024 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, changed, 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(), and unroll_loop_stupid().