[PATCH] Have HasSideEffects() return false for __attribute__((const)) functions

hfinkel at anl.gov hfinkel at anl.gov
Mon Mar 23 09:33:51 PDT 2015


In http://reviews.llvm.org/D8548#145253, @mkuper wrote:

> I think PureAttr isn't strong enough.
>
> char foo(char *a)
>  {
>
>   return *a;
>
> }
>
> is pure, but isn't side-effect free.


Loads are not considered side effects currently, however. This works fine:

  void bar(int *i) {
    __builtin_assume(*i > 0);
  }

and, thus, my recommendation ;)


http://reviews.llvm.org/D8548

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the cfe-commits mailing list