[llvm-dev] How to prevent optimizing away a call + its arguments
Joerg Sonnenberger via llvm-dev
llvm-dev at lists.llvm.org
Thu Jun 22 07:35:19 PDT 2017
On Wed, Jun 21, 2017 at 05:25:04PM -0700, Mehdi AMINI via llvm-dev wrote:
> Hi Kuba,
>
> Try:
>
> __attribute__(optnone)
>
> See
> https://clang.llvm.org/docs/AttributeReference.html#optnone-clang-optnone
Actually, it should be enough to use:
__attribute__((noinline))
void please_do_not_optimize_me_away(int arg1, void *arg2) {
asm volatile("":::"memory");
}
Creating a real barrier is important.
Joerg
More information about the llvm-dev
mailing list