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

Go to the source code of this file.

Functions

unsigned int tree_if_conversion (class loop *, vec< gimple * > *=NULL)
 

Function Documentation

◆ tree_if_conversion()

unsigned int tree_if_conversion ( class loop * loop,
vec< gimple * > * preds )
Copyright (C) 2016-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/>.   
If-convert LOOP when it is legal.  For the moment this pass has no
profitability analysis.  Returns non-zero todo flags when something
changed.   

References any_complicated_phi, data_reference::aux, bitfields_to_lower_p(), BITMAP_ALLOC, BITMAP_FREE, bitmap_set_bit, cfun, chrec_dont_know, combine_blocks(), dbg_cnt(), do_rpo_vn(), loop::dont_vectorize, dump_file, dump_flags, find_data_references_in_loop(), FOR_EACH_VEC_ELT, loop::force_vectorize, free(), free_bb_predicate(), free_data_ref(), gcc_assert, get_loop_body_in_if_conv_order(), get_loop_exit_edges(), ggc_alloc(), gimple_bb(), i, if_convertible_loop_p(), ifc_bbs, ifcvt_hoist_invariants(), ifcvt_local_dce(), ifcvt_split_critical_edges(), loop_outer(), loop_preheader_edge(), lower_bitfield(), need_to_ifcvt, need_to_lower_bitfields, need_to_predicate, need_to_rewrite_undefined, NULL, loop::num_nodes, redundant_ssa_names, refs, replace_uses_by(), single_exit(), single_pred_edge(), TDF_DETAILS, todo, TODO_cleanup_cfg, version_loop_for_if_conversion(), and versionable_outer_loop_p().