On May 19, 2014, at 10:05 AM, Hal Finkel <hfin...@anl.gov> wrote: >>> >>> I'm not going to push this patch further because it's not the right >>> solution. In theory, I believe it is correct, but it breaks the >>> __buitlin escape hatch, which would likely result in serious >>> performance degradations. >> >> I don’t think this is a good solution. The better option here is to >> tell people to use -fno-math-errno if they don’t care about libm >> functions setting errno. > > But this is the chicken and egg problem: is __builtin_sqrt a libm function? > The problem that we currently have, IIUC, is that the answer is *sometimes*.
I don’t really care about the builtin, it is a transient part of the AST and having the attributes on it be changed when -fno-math-errno is set is natural and probably already done. At the IR level, we already have attributes to model both states: llvm.sqrt when set to readnone doesn’t modify errno. -Chris _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits