> So if I understand the above right then VTA is a new source of > code-generation differences with -g vs. -g0. A possibly quite > bad one (compared to what we have now).
IIUC it's a paradigm shift: currently the absence of differences in the generated code is guaranteed by the absence of differences in the IR all the way from the initial GENERIC down to the final RTL. In other words, unless a pass makes an active mistake, it preserves the invariant. With the new approach, the absence of differences in the generated code is guaranteed by the absence of differences in the behavior of the compiler for different IRs. In other words, unless a pass actively plays by the rules, it breaks the invariant. -fcompare-debug or not, the former is inherently more robust and IMHO more trustworthy than the latter. So, if we are to ditch the former in favor of the latter, the reward from the other side should be sufficiently high. -- Eric Botcazou