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 tree-optimization/50955] [4.7 Regression] IVopts incorrectly rewrite the address of a global memory access into a local form.


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

--- Comment #6 from Yuehai Du <duyuehai at gmail dot com> 2011-11-03 06:24:58 UTC ---
Let me see if i understand you correctly, you are saying that there isn't an
easy way to fix it without hurting the performance(either consider less IV
candidates or dumb down the alias analysis). 
 so this issue won't be fixed  in trunk now?
if in that case, Avoiding the issue by set PARM isn't an option for me.  i
still want to fix it in our private port even with an ugly patch. can we just
add a new field in MEM_REF which specify it is local or non-nolocal
store(enum{INVALID, LOCAL, NON-LOCAL}),  and only set it in IVOPTS before it
rewrite the address. we will check this in is_hidden_global_store(). do this
work in Gimple level? but i don't know if RTL optimization still delete this
store because we don't keep points-to information.


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