Hi Richard: thanks you comment :)
I send new patch for move -fno-builtin to common.opt and check it in lto-lang.c (lto_post_options). https://gcc.gnu.org/ml/gcc-patches/2014-08/msg02555.html https://gcc.gnu.org/ml/gcc-patches/2014-08/msg02556.html On Thu, Aug 28, 2014 at 5:29 PM, Richard Biener <rguent...@suse.de> wrote: > On Thu, 28 Aug 2014, Kito Cheng wrote: > >> Hi Richard: >> >> I think preserve -fno-builtin is better than >> -fno-tree-loop-distribute-patterns too, >> >> However if we preserve -fno-builtin, the coming problem is should we >> preserve all -fbuiltin-* and do the check logic[1] in common code in >> gcc? > > No, just -fno-builtin. > >> btw, in our internal gcc 4.9.x tree is move -fno-builtin to common >> group (CL_COMMON) (preserve in lto since it's in CL_COMMON) and check >> it in tree-loop-distribution.c for temporary workaround . >> >> [1] gcc/c-family/c-common.c:disable_builtin_function >> >> On Thu, Aug 28, 2014 at 4:45 PM, Richard Biener >> <richard.guent...@gmail.com> wrote: >> > On Wed, Aug 27, 2014 at 4:42 PM, Kito Cheng <kito.ch...@gmail.com> wrote: >> >> Hi all: >> >> >> >> This patch basically is extension for r210100[1], stream out >> >> non-explicit -fno-tree-loop-distribute-patterns since compile with >> >> `-flto -O3 -fno-builtin` still may gen builtin function call during >> >> LTO phase. >> >> >> >> LTO bootstrapped and tested on x86_64-unknown-linux-gnu. >> > >> > Hmm, but that will for two units, one compiled with -O2 and one >> > compiled with -O3, produce -O3 -fno-tree-loop-distribute-patterns. >> > The previous patch restricted this to -ffreestanding / -fno-builtin. >> > >> > I think it makes more sense to preserve -fno-builtin, that is, >> > add 'LTO' to the list of FEs supporting 'fbuiltin' (the non-joined version) >> > and stream '-fno-builtin' if set, doing similar option post-processing >> > in the LTO frontend as I added to the C family frontends. >> > >> > Richard. >> > >> >> 2014-09-27 Kito Cheng <k...@0xlab.org> >> >> >> >> * lto-opts.c (lto_write_options): Output non-explicit >> >> -fno-tree-loop-distribute-patterns. >> >> * lto-wrapper.c (merge_and_complain): Merge >> >> -fno-tree-loop-distribute-patterns conservatively. >> >> (run_gcc): Pass through -fno-tree-loop-distribute-patterns. >> >> >> >> >> >> [1] https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=210100 >> >> > > -- > Richard Biener <rguent...@suse.de> > SUSE / SUSE Labs > SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 > GF: Jeff Hawn, Jennifer Guild, Felix Imend"orffer