This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/36111] [4.4 Regression] GCC 4.4.0-20080501 failed to compile openmpi's malloc.c file.



------- Comment #7 from ubizjak at gmail dot com  2008-05-05 10:53 -------
validate_unshare_change was introduced by:

2007-06-26  Jan Hubicka  <jh@suse.cz>

        * fwprop.c (try_fwprop_subst): Use validate_unshare_change.
        * postreload.c (reload_cse_simplify_set): Instead of copying the rtx
        early use validate_unshare_change.
        (reload_combine): Likewise.
        * recog.c (change_t): New field unshare.
        (validate_change_1): Rename from validate_change; add argument unshare.
        (validate_change): Turn into wrapper of validate_change_1; update
        prototype for bools.
        (validate_unshare_change): New.
        (confirm_change_group): Unshare changes if asked for; avoid unnecesary
        calls of df_insn_rescan.
        * recog.h (validate_change): Replace ints by bools.
        (validate_unshare_change): Declare.

The problem is, that validate_unshare_change logic creates sharing violation if
the same RTX is propagated into two places in the same insn pattern.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36111


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]