Hi! __builtin_assume_aligned is a pass thru call, preserves object size.
Bootstrapped/regtested on x86_64-linux and i686-linux, committed as obvious. 2011-07-01 Jakub Jelinek <ja...@redhat.com> * tree-object-size.c (pass_through_call): Handle BUILT_IN_ASSUME_ALIGNED. --- gcc/tree-object-size.c.jj 2011-06-15 11:54:43.000000000 +0200 +++ gcc/tree-object-size.c 2011-07-01 10:23:53.361527213 +0200 @@ -1,5 +1,5 @@ /* __builtin_object_size (ptr, object_size_type) computation - Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 + Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Jakub Jelinek <ja...@redhat.com> @@ -464,6 +464,7 @@ pass_through_call (const_gimple call) case BUILT_IN_STRNCPY_CHK: case BUILT_IN_STRCAT_CHK: case BUILT_IN_STRNCAT_CHK: + case BUILT_IN_ASSUME_ALIGNED: if (gimple_call_num_args (call) >= 1) return gimple_call_arg (call, 0); break; Jakub