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/23384] escaped set should be flow sensitive


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Clobber list should be flow |escaped set should be flow
                   |sensitive                   |sensitive

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note implementing a flow-sensitive ESCAPED set is not really possible within
the current framework.  Note that all memory operations are not flow-sensitive,
so

int *global;

int kk(void)
{
  int j;
  j = 1;
  g ();
  j += 2;
  global = &j;
}

will still cause g() to clobber j as far as points-to analysis is concerned
(the write to 'global' is not flow-sensitive).

"Trivial" optimization can avoid refering to ESCAPED in the first basic-block
as long as nothing could have been possibly escaped yet.  But that's a hack.


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