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

Go to the source code of this file.

Data Structures

class  ipa_icf_gimple::sem_bb
class  ipa_icf_gimple::func_checker

Namespaces

namespace  ipa_icf_gimple

Macros

#define FPUTS_SPACES(file, space_count, string)
#define FPRINTF_SPACES(file, space_count, format, ...)
#define return_false_with_msg(message)
#define return_false()
#define return_with_debug(result)
#define return_different_stmts(s1, s2, code)

Functions

bool return_false_with_message_1 (const char *message, const char *filename, const char *func, unsigned int line)
bool return_with_result (bool result, const char *filename, const char *func, unsigned int line)
bool return_different_stmts_1 (gimple *s1, gimple *s2, const char *code, const char *func, unsigned int line)

Macro Definition Documentation

◆ FPRINTF_SPACES

#define FPRINTF_SPACES ( file,
space_count,
format,
... )
Value:
fprintf (file, "%*s" format, space_count, " ", ##__VA_ARGS__);
fprintf function wrapper that transforms given FORMAT to follow given number for SPACE_COUNT and call fprintf for a FILE.

Referenced by ipa_icf::congruence_class::dump().

◆ FPUTS_SPACES

#define FPUTS_SPACES ( file,
space_count,
string )
Value:
fprintf (file, "%*s" string, space_count, " ");
Interprocedural semantic function equality pass Copyright (C) 2014-2025 Free Software Foundation, Inc. Contributed by Jan Hubicka <hubicka@ucw.cz> and Martin Liska <mliska@suse.cz> 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/>.
Gimple identical code folding (class func_checker) is an infrastructure capable of comparing two given functions. The class compares every gimple statement and uses many dictionaries to map source and target SSA_NAMEs, declarations and other components. To use the infrastructure, create an instance of func_checker and call a comparison function based on type of gimple statement.
Prints string STRING to a FILE with a given number of SPACE_COUNT.

Referenced by ipa_icf::congruence_class::dump().

◆ return_different_stmts

#define return_different_stmts ( s1,
s2,
code )
Value:
return_different_stmts_1 (s1, s2, code, __func__, __LINE__)
bool return_different_stmts_1(gimple *s1, gimple *s2, const char *code, const char *func, unsigned int line)
Definition ipa-icf-gimple.h:81
Verbose logging function logging statements S1 and S2 of a CODE.

Referenced by ipa_icf_gimple::func_checker::compare_bb().

◆ return_false

◆ return_false_with_msg

◆ return_with_debug

#define return_with_debug ( result)
Value:
(result, __FILE__, __func__, __LINE__)
bool return_with_result(bool result, const char *filename, const char *func, unsigned int line)
Definition ipa-icf-gimple.h:63
Logs return value if RESULT is false.

Referenced by ipa_icf_gimple::func_checker::compare_decl(), ipa_icf_gimple::func_checker::compare_edge(), ipa_icf_gimple::func_checker::compare_variable_decl(), ipa_icf::sem_variable::equals(), and ipa_icf_gimple::func_checker::operand_equal_p().

Function Documentation

◆ return_different_stmts_1()

bool return_different_stmts_1 ( gimple * s1,
gimple * s2,
const char * code,
const char * func,
unsigned int line )
inline
Verbose logging function logging statements S1 and S2 of a CODE. FUNC is name of function and LINE is location in the source file.

References dump_file, dump_flags, print_gimple_stmt(), and TDF_DETAILS.

◆ return_false_with_message_1()

bool return_false_with_message_1 ( const char * message,
const char * filename,
const char * func,
unsigned int line )
inline
Logs a MESSAGE to dump_file if exists and returns false. FUNC is name of function and LINE is location in the source file.

References dump_file, dump_flags, and TDF_DETAILS.

◆ return_with_result()

bool return_with_result ( bool result,
const char * filename,
const char * func,
unsigned int line )
inline
Logs return value if RESULT is false. FUNC is name of function and LINE is location in the source file.

References dump_file, dump_flags, and TDF_DETAILS.