GCC Middle and Back End API Reference
|
Go to the source code of this file.
Functions | |
unsigned int | tree_if_conversion (class loop *, vec< gimple * > *=NULL) |
Copyright (C) 2016-2025 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(), gimple_bb(), i, if_convertible_loop_p(), ifc_bbs, ifcvt_hoist_invariants(), ifcvt_local_dce(), ifcvt_split_critical_edges(), loop::inner, loop_outer(), loop_preheader_edge(), lower_bitfield(), need_to_ifcvt, need_to_lower_bitfields, need_to_predicate, need_to_rewrite_undefined, loop::next, 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().