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)    fprintf (file, "%*s" string, space_count, " ");
 
#define FPRINTF_SPACES(file, space_count, format, ...)    fprintf (file, "%*s" format, space_count, " ", ##__VA_ARGS__);
 
#define return_false_with_msg(message)    return_false_with_message_1 (message, __FILE__, __func__, __LINE__)
 
#define return_false()   return_false_with_msg ("")
 
#define return_with_debug(result)
 
#define return_different_stmts(s1, s2, code)    return_different_stmts_1 (s1, s2, code, __func__, __LINE__)
 

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,
... )    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 )    fprintf (file, "%*s" string, space_count, " ");
Interprocedural semantic function equality pass
   Copyright (C) 2014-2024 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 )    return_different_stmts_1 (s1, s2, code, __func__, __LINE__)
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:
T * ggc_alloc(ALONE_CXX_MEM_STAT_INFO)
Definition ggc.h:184
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, ggc_alloc(), 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, ggc_alloc(), 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, ggc_alloc(), and TDF_DETAILS.