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/54935] No way to do if converison


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> 2012-10-15 14:06:16 UTC ---
We cannot if-convert this because the store to a[i] may trap as it may be
in .rodata.

That is, the following is valid C:

t1.c:
const int a[100];
const int b[100];

t2.c:
your testcase

with LTO we could arrange information on readonly-ness of variables to be
available.  Honza, is there already a suitable predicate for this?

If other compilers do this transformation without LTO they can be trivially
tricked to generate wrong code.


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