[Bug sanitizer/68122] ICE in gcc/toplev.c:353 with -fsanitize=undefined and -fgnu-tm
chefmax at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Oct 28 07:50:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68122
Maxim Ostapenko <chefmax at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |chefmax at gcc dot gnu.org
--- Comment #2 from Maxim Ostapenko <chefmax at gcc dot gnu.org> ---
$ cat tm-thread.c.019t.ubsan
;; Function main (main, funcdef_no=0, decl_uid=2229, cgraph_uid=0,
symbol_order=1)
main ()
{
int D.2233;
int cnt.0;
int D.2234;
int cnt.0_2;
int _3;
int _6;
<bb 2>:
__transaction_atomic // SUBCODE=[ GTMA_HAVE_LOAD GTMA_HAVE_STORE ]
<bb 3>:
cnt.0_2 = cnt;
_3 = UBSAN_CHECK_ADD (cnt.0_2, 1);
cnt = _3;
__builtin__ITM_commitTransaction ();
<bb 4>:
_6 = 0;
<L0>:
return _6;
}
It seems that pass_ipa_tm tries to handle UBSAN_CHECK_ADD call and fails.
Should we teach it to handle ubsan intrinsics? Or maybe just not instrument
transaction clauses at all?
More information about the Gcc-bugs
mailing list