On Mon, Mar 07, 2016 at 10:49:14AM +0100, Tom de Vries wrote: > This patch implements that. > > Should the asan internal function (ASAN_CHECK) be handled in the same way, > as suggested here ( https://gcc.gnu.org/ml/gcc-patches/2015-07/msg00776.html > )? > > OK for stage4 trunk if bootstrap and reg-test succeeds?
Please certainly add ASAN_CHECK to the list. Perhaps more precise would be to allow merging them, but only if gimple_location (stmt1) == gimple_location (stmt2). Also, I wonder why you need to check both stmts individually, wouldn't it be better (both for the is_tm_ending and the ubsan/asan internal calls) to first call gimple_equal_p and only if it says the two are equal, check is_tm_ending (only on one stmt, if they are equal, then I hope is_tm_ending is necessarily equal for both), and similarly for the ubsan/asan ifns compare the gimple_location? > Skip ubsan internal fns in tail-merge > > 2016-03-07 Tom de Vries <t...@codesourcery.com> > > * tree-ssa-tail-merge.c (merge_stmt_p): New function, factored out > of ... > (find_duplicate): ... here. > (merge_stmt_p): Return false for ubsan functions. Jakub