https://gcc.gnu.org/g:47c245818e6f1baacb61328d93d6f66e68ea5456
commit r17-1843-g47c245818e6f1baacb61328d93d6f66e68ea5456 Author: Konstantinos Eleftheriou <[email protected]> Date: Fri Mar 13 14:29:39 2026 +0100 ifcombine: Add tree-ssa-ifcombine.h and update function signatures This patch adds the tree-ssa-ifcombine.h header file, with the function declarations for `recognize_if_then_else` and `tree_ssa_ifcombine_bb` and removes 'static' from the definitions in tree-ssa-ifcombine.cc, so that they can be used in other passes. gcc/ChangeLog: * tree-ssa-ifcombine.cc: Include tree-ssa-ifcombine.h. (recognize_if_then_else): Removed 'static'. (tree_ssa_ifcombine_bb): Removed 'static'. * tree-ssa-ifcombine.h: New file. Diff: --- gcc/tree-ssa-ifcombine.cc | 7 ++++--- gcc/tree-ssa-ifcombine.h | 27 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/gcc/tree-ssa-ifcombine.cc b/gcc/tree-ssa-ifcombine.cc index 6489abf3a060..a4d69af0a3f8 100644 --- a/gcc/tree-ssa-ifcombine.cc +++ b/gcc/tree-ssa-ifcombine.cc @@ -40,6 +40,7 @@ along with GCC; see the file COPYING3. If not see #include "gimplify-me.h" #include "tree-cfg.h" #include "tree-ssa.h" +#include "tree-ssa-ifcombine.h" #include "attribs.h" #include "asan.h" #include "bitmap.h" @@ -95,10 +96,10 @@ known_succ_p (basic_block cond_bb) basic-blocks to make the pattern match. If SUCCS_ANY, *THEN_BB and *ELSE_BB will not be filled in, and they will be found to match even if reversed. */ -static bool +bool recognize_if_then_else (basic_block cond_bb, basic_block *then_bb, basic_block *else_bb, - bool succs_any = false) + bool succs_any) { edge t, e; @@ -1142,7 +1143,7 @@ tree_ssa_ifcombine_bb_1 (basic_block inner_cond_bb, basic_block outer_cond_bb, if-conversion helper. We start with BB as the innermost worker basic-block. Returns true if a transformation was done. */ -static bool +bool tree_ssa_ifcombine_bb (basic_block inner_cond_bb) { bool ret = false; diff --git a/gcc/tree-ssa-ifcombine.h b/gcc/tree-ssa-ifcombine.h new file mode 100644 index 000000000000..e3f73da3b13d --- /dev/null +++ b/gcc/tree-ssa-ifcombine.h @@ -0,0 +1,27 @@ +/* Copyright (C) 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/>. */ + +#ifndef GCC_TREE_SSA_IFCOMBINE_H +#define GCC_TREE_SSA_IFCOMBINE_H + +bool recognize_if_then_else (basic_block, basic_block *, basic_block *, + bool succs_any = false); + +bool tree_ssa_ifcombine_bb (basic_block); + +#endif
