diff options
author | Martin Liska <mliska@suse.cz> | 2015-03-03 10:21:56 +0100 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2015-03-03 09:21:56 +0000 |
commit | bd31fe14d2dfb4b12a82d9a223853ff2228a6523 (patch) | |
tree | 2f1787ece400c6ec88d79b288ef226c14672cd57 /gcc/ipa-icf.h | |
parent | 0eef284e8842ee27f42595c9e0dfea9d6c078fc9 (diff) | |
download | gcc-bd31fe14d2dfb4b12a82d9a223853ff2228a6523.tar.gz |
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.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/ipa-icf.h b/gcc/ipa-icf.h index e3582db89a8..14813533888 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); |