On April 9, 2016 1:29:51 PM GMT+02:00, Jakub Jelinek <ja...@redhat.com> wrote: >On Sat, Apr 09, 2016 at 01:21:06PM +0200, Richard Biener wrote: >> To followup myself here - we can also make sure the function doesn't >become pure/const. >> >> Similar issues exist with pure/const functions with ops with >undefined overflow (and code gen taking advantage of that). >> So it's not only trapping that needs to be guarded against... :/ > >But then we'd probably want 2 categories, keep pure/const meaning it >had >(that allows trapping/FPU exceptions, because, aren't most of libm >const >functions in this category?), and then have another attributes for >functions >that can't trap/don't use FPU etc.
I have to think about this. We need to look at the user documented semantics of pure/const and need to decide where We can directly use them in the middle end and where we need some 'derived' Property instead. >Anyway, I've committed the patch and will change the PR to be >7/Regression, >so that it is not forgotten. Thanks, Richard. > Jakub