Re: [PATCH 02/25] tracing: Improve "if" macro code generation

From: Linus Torvalds
Date: Thu May 09 2019 - 15:45:39 EST

On Thu, May 9, 2019 at 12:28 PM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> But it probably would probably still be good to know why this fixes the
> issues you see.

Looks like a compiler bug, plain and simple.

The simplified case really simplifies a lot for the internal IR, and
has a single conditional that then increments a constant location and
returns a constant value. That means that any branch following code in
the compiler has a much simpler setup, and doesn't need to try to
follow any chain of condirional branches with the same conditional to
generate sane code.

But the code generation problem is clearly a compiler bug, although
I'd not be surprised if it's also triggered by whatever horrid things
ASAN does internally to gcc state.