aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-icf.h
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2015-03-03 10:21:56 +0100
committerMartin Liska <marxin@gcc.gnu.org>2015-03-03 09:21:56 +0000
commitbd31fe14d2dfb4b12a82d9a223853ff2228a6523 (patch)
tree2f1787ece400c6ec88d79b288ef226c14672cd57 /gcc/ipa-icf.h
parent0eef284e8842ee27f42595c9e0dfea9d6c078fc9 (diff)
downloadgcc-bd31fe14d2dfb4b12a82d9a223853ff2228a6523.zip
gcc-bd31fe14d2dfb4b12a82d9a223853ff2228a6523.tar.gz
gcc-bd31fe14d2dfb4b12a82d9a223853ff2228a6523.tar.bz2
re PR ipa/65087 (r220742 causes: ICE: in ipcp_verify_propagated_values, at ipa-cp.c:1057)
Fix PR ipa/65087. PR ipa/65087 * ipa-icf.c (sem_item_optimizer::execute): Change function return value to boolean. (sem_item_optimizer::merge_classes): Likewise. (ipa_icf_driver): Return TODO_remove_functions in case there's a merge operation processed. * ipa-icf.h: Change function return value to boolean. Co-Authored-By: Martin Jambor <mjambor@suse.cz> From-SVN: r221133
Diffstat (limited to 'gcc/ipa-icf.h')
-rw-r--r--gcc/ipa-icf.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/ipa-icf.h b/gcc/ipa-icf.h
index e3582db..1481353 100644
--- a/gcc/ipa-icf.h
+++ b/gcc/ipa-icf.h
@@ -470,8 +470,10 @@ public:
read-only variables that can be merged. */
void parse_funcs_and_vars (void);
- /* Optimizer entry point. */
- void execute (void);
+ /* Optimizer entry point which returns true in case it processes
+ a merge operation. True is returned if there's a merge operation
+ processed. */
+ bool execute (void);
/* Dump function. */
void dump (void);
@@ -545,8 +547,9 @@ private:
/* After reduction is done, we can declare all items in a group
to be equal. PREV_CLASS_COUNT is start number of classes
- before reduction. */
- void merge_classes (unsigned int prev_class_count);
+ before reduction. True is returned if there's a merge operation
+ processed. */
+ bool merge_classes (unsigned int prev_class_count);
/* Adds a newly created congruence class CLS to worklist. */
void worklist_push (congruence_class *cls);