------- Comment #2 from vmakarov at redhat dot com 2008-11-14 03:13 ------- Removing redundant stores could be done by solving a dataflow problem. Unfortunately such global solution would complicate IR flattening.
I am going to submit a patch soon which solves the problem by prohibiting removing stores if there is path from a destination loop (pseudo assigned to memory there) to the header of source loop (pseudo assign to hard register there) containing basic blocks of non-parents (grandparents) of the source loop. That is the assumption on which ira-build.c:ir_flattening code works. -- vmakarov at redhat dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vmakarov at redhat dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37859