[Bug tree-optimization/56572] GCC generates non-optimal transactional code when inlining nested transaction.
aldyh at redhat dot com
gcc-bugzilla@gcc.gnu.org
Wed Dec 11 17:07:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56572
--- Comment #6 from Aldy Hernandez <aldyh at redhat dot com> ---
> walk the transaction tree and delete nested transactions. Hopefully
> we could do this before actually creating the uninstrumented path.
>
> I think moving the creation of the uninstrumented path after ipa_inline
> is probably a mistake. The inliner makes decisions e.g. based on the
Ah I see. Yes, I agree that the creation of the uninstrumented path
after ipa_inline is not a good idea, but then you are contradicting
yourself. You want to delete nested transactions before creating the
uninstrumented path (first quoted paragraph), but yet you don't want to
move the uninstrumented path after ipa_inline (second quoted paragraph).
Do you mean remove the nested transactions after ipa_inline (possibly
tmmark), but then just suck it up and handle the multiple
instrumented/uninstrumented code paths in the CFG?
Or do you mean something else?
Or do you mean make early inling smarter so it inlines transactions
properly? Although perhaps something else could be added by ipa_inline,
so we'd have the same problem.
More information about the Gcc-bugs
mailing list