On 2014.11.17 at 15:52 +0100, Jan-Benedict Glaw wrote: > On Thu, 2014-11-06 15:24:59 +0300, Ilya Enkovich <enkovich....@gmail.com> > wrote: > > Hi, > > > > This patch adds support of instrumented builtin calls in expand. > > Calls are mostly expanded as calls. But some of them reuse existing > > string function calls expand functions (memcpy expand was slightly > > refactored for that). > > > > This is the last enabling patch in this series. Remaining two > > patches are performance ones. > > > > 2014-11-06 Ilya Enkovich <ilya.enkov...@intel.com> > > > > * builtins.c (expand_builtin_memcpy_args): New. > > (expand_builtin_memcpy): Call expand_builtin_memcpy_args. > > (expand_builtin_memcpy_with_bounds): New. > > (expand_builtin_mempcpy_with_bounds): New. > > (expand_builtin_mempcpy_args): Add orig_exp arg. Support > > BUILT_IN_CHKP_MEMCPY_NOBND_NOCHK > > (expand_builtin_memset_with_bounds): New. > > (expand_builtin_memset_args): Support BUILT_IN_CHKP_MEMSET_NOBND_NOCHK. > > (expand_builtin_with_bounds): New. > > * builtins.h (expand_builtin_with_bounds): New. > > * expr.c (expand_expr_real_1): Support instrumented builtin calls. > > It seems this part of the patch series causes some build breakage > right now, see eg. build > http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=376804 : > > g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions > -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing > -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual > -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings > -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc > -I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include > -I/home/jbglaw/repos/gcc/gcc/../libcpp/include > -I/home/jbglaw/repos/gcc/gcc/../libdecnumber > -I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber > -I/home/jbglaw/repos/gcc/gcc/../libbacktrace -o builtins.o -MT builtins.o > -MMD -MP -MF ./.deps/builtins.TPo /home/jbglaw/repos/gcc/gcc/builtins.c > /home/jbglaw/repos/gcc/gcc/builtins.c: In function ‘rtx_def* > expand_builtin_memcpy_with_bounds(tree, rtx)’: > /home/jbglaw/repos/gcc/gcc/builtins.c:3300:25: error: ‘BNDmode’ was not > declared in this scope > rtx bnd = force_reg (BNDmode, > ^ > /home/jbglaw/repos/gcc/gcc/builtins.c: In function ‘rtx_def* > expand_builtin_mempcpy_with_bounds(tree, rtx, machine_mode)’: > /home/jbglaw/repos/gcc/gcc/builtins.c:3357:25: error: ‘BNDmode’ was not > declared in this scope > rtx bnd = force_reg (BNDmode, > ^ > /home/jbglaw/repos/gcc/gcc/builtins.c: In function ‘rtx_def* > expand_builtin_memset_with_bounds(tree, rtx, machine_mode)’: > /home/jbglaw/repos/gcc/gcc/builtins.c:3763:25: error: ‘BNDmode’ was not > declared in this scope > rtx bnd = force_reg (BNDmode, > ^ > make[1]: *** [builtins.o] Error 1 > make[1]: Leaving directory `/home/jbglaw/build/mips-linux/build-gcc/gcc'
Also happens on ppc64 and probably on all the other non x86 architectures. -- Markus