http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52141
--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-02-07 09:30:45 UTC --- Might I suggest to instead of case GIMPLE_ASM: gcc_unreachable (); use case GIMPLE_ASM: sorry ("asm statements not allowed in transactions"); ? It's not a compiler but a user error (well, usually). Btw, what you really want is some simple IPA propagation of the various transaction attributes similar to how we handle pure/const.