Re: decl_constant_value_for_broken_optimization

2008-02-27 Thread Paolo Bonzini
In the current compiler, it seems very likely that every call to decl_constant_value_for_broken_optimization can simply be removed. The constant propagation passes should implement the optimization. What about format checking for constant arrays? :-( That's the testcase that Joseph wrote for

Re: optimizing predictable branches on x86

2008-02-27 Thread Kenny Simpson
> At least on x86 it should also be a good idea to know which way > the branch is going to go, because it doesn't have explicit branch > hints, you really want to be able to optimize the cold branch > predictor case if converting from cmov to conditional branches. x86 as of Pentium 4 does have bra

Bootstrap failure on powerpc64-linux

2008-02-27 Thread Revital1 Eres
Hello, I get the following bootstrap failure on powerpc64-linux, trunk r132684 configure with: --with-cpu=default32 --enable-checking --enable-bootstrap Revital libtool: compile: /home/revitale/mainline_branch/build/./gcc/xgcc -B/home/revitale/mainline_branch/build/./gcc/ -B/home/revitale/ma

Re: Bootstrap failure on powerpc64-linux

2008-02-27 Thread Dominique Dhumieres
This is PR373, see http://gcc.gnu.org/ml/gcc-patches/2008-02/msg01134.html for a fix. Dominique

ARM gcc generates incorrect code?

2008-02-27 Thread Krzysztof Halasa
Hi, not sure where the bug is - gcc 4.2.4pre (CVS), binutils 2.17, cross compiler X86_64 -> ARM BE. -O2 -fno-strict-aliasing -fno-common -fno-stack-protector -marm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=apcs-gnu -mno-thumb-interwork -march=armv5te -mtune=xscale -mcpu=xscale -msoft

Re: Draft SH uClinux FDPIC ABI

2008-02-27 Thread Kaz Kojima
"Joseph S. Myers" <[EMAIL PROTECTED]> wrote: > Here is a draft FDPIC ABI for SH uClinux, based on the FR-V FDPIC ABI. > Please send any comments; CodeSourcery will be implementing the final ABI > version in GCC and Binutils. Wow, great news! One minor point I'm curious is the choice of the phy

RE: ARM gcc generates incorrect code?

2008-02-27 Thread Dave Korn
On 27 February 2008 11:48, Krzysztof Halasa wrote: > Hi, > > not sure where the bug is - gcc 4.2.4pre (CVS), binutils 2.17, > cross compiler X86_64 -> ARM BE. That asm looks a bit odd to me (but I haven't had much coffee today so I could be reading it wrong):- > #define get_user(x,p)

Re: optimizing predictable branches on x86

2008-02-27 Thread Jan Hubicka
> > At least on x86 it should also be a good idea to know which way > > the branch is going to go, because it doesn't have explicit branch > > hints, you really want to be able to optimize the cold branch > > predictor case if converting from cmov to conditional branches. > > x86 as of Pentium 4 d

plugin includes for MELT

2008-02-27 Thread Basile STARYNKEVITCH
Hello All, {sent to the gcc@ mailing list and Bcc- to GlobalGCC partners} This email is related to the plugin includes question http://gcc.gnu.org/ml/gcc/2008-02/msg00373.html http://gcc.gnu.org/ml/gcc/2008-02/msg00376.html within (in particular) the MELT branch http://gcc.gnu.org/ml/gcc/2008

Re: ARM gcc generates incorrect code?

2008-02-27 Thread Krzysztof Halasa
"Dave Korn" <[EMAIL PROTECTED]> writes: >> #define get_user(x,p) >> \ >> ({ \ >> register const u8 __user *__p asm("r0") = (p); \ >> register

RE: ARM gcc generates incorrect code?

2008-02-27 Thread Dave Korn
On 27 February 2008 13:07, Krzysztof Halasa wrote: > "Dave Korn" writes: > >>> #define get_user(x,p) \ >>> ({ \ >>> register const u8 __user *__p asm("r0") = (p); \ >>> register unsigned long __r2 as

Re: ARM gcc generates incorrect code?

2008-02-27 Thread Daniel Jacobowitz
On Wed, Feb 27, 2008 at 12:40:37PM -, Dave Korn wrote: > ^ '&' means output operand (zero) > is early-clobber, so cannot share > a register with any input operand. > > : "0" (__p)

Re: optimizing predictable branches (Was: ... on x86)

2008-02-27 Thread Jan Hubicka
> This is also interesting for the ARC700 processor. > > There is also an issue if the flag for the conditionalized instruction is > set in the immediately preceding instruction, and the result of the > conditionalized instruction is required in the immediately following > instruction, and if usin

Re: Draft SH uClinux FDPIC ABI

2008-02-27 Thread Joseph S. Myers
On Wed, 27 Feb 2008, Kaz Kojima wrote: > "Joseph S. Myers" <[EMAIL PROTECTED]> wrote: > > Here is a draft FDPIC ABI for SH uClinux, based on the FR-V FDPIC ABI. > > Please send any comments; CodeSourcery will be implementing the final ABI > > version in GCC and Binutils. > > Wow, great news! >

Re: decl_constant_value_for_broken_optimization

2008-02-27 Thread Ian Lance Taylor
Paolo Bonzini <[EMAIL PROTECTED]> writes: > > In the current compiler, it seems very likely that every call to > > decl_constant_value_for_broken_optimization can simply be removed. > > The constant propagation passes should implement the optimization. > > What about format checking for constant

RE: plugin includes for MELT

2008-02-27 Thread Dave Korn
On 27 February 2008 12:57, Basile STARYNKEVITCH wrote: > My MELT branch [originally I called it basilys] is (currently is not but > should) generate C code during the cc1 execution > The point is that every MELT generated C file is a plugin to the > middle-end hence depends upon all the middle-e

Re: plugin includes for MELT

2008-02-27 Thread Basile STARYNKEVITCH
Hello All, A big thanks to Dave Korn, who wrote: On 27 February 2008 12:57, Basile STARYNKEVITCH wrote: Practically, every MELT generated file has exactly one include directive: #include "run-basilys.h" the gcc/run-basilys.h is in the MELT branch and of course include many other files eg

SSA alias representation

2008-02-27 Thread Fran Baena
> Symbols with their address taken are only renamed when they appear as > virtual operands. So, if you have: > > p_3 = (i_5 > 10) ? &a : &b > a = 4 > > notice that 'a' is never renamed in the LHS of the assignment. It's > renamed as a virtual operand: > > p_3 = (i_5 > 10) ? &a : &

Re: plugin includes for MELT

2008-02-27 Thread Brian Dessent
Basile STARYNKEVITCH wrote: > I'm trying to understand how other "plugin" related effort deals with > this. In an ideal world, you create a plugin API/ABI that is decoupled from any of the internals of the main program and which has its own headers and interface. Plugin authors simply code to th

RE: plugin includes for MELT

2008-02-27 Thread Dave Korn
On 27 February 2008 18:26, Basile STARYNKEVITCH wrote: > I'm trying to understand how other "plugin" related effort deals with > this. Perhaps nobody really cares, but I tend to believe that any plugin > effort should install the right *.h files outside of the source or build > directories, for pl

Re: plugin includes for MELT

2008-02-27 Thread Basile STARYNKEVITCH
Hello All, Dave Korn wrote: On 27 February 2008 18:26, Basile STARYNKEVITCH wrote: So, since you are planning to compile the plugin during cc1 execution anyway, why not just say that - plugins are distributed as source Yes, exactly. And to be more precise, all MELT plugin C code is gener

Re: plugin includes for MELT

2008-02-27 Thread Basile STARYNKEVITCH
Hello All, Basile STARYNKEVITCH wrote: I think it should be (in gcc/Makefile.in parlance) $(DESTDIR)$(libexecsubdir)/melt-private-include/ and I should have some Makefile.in trick to copy the relevant *.h there perhaps thru a install-melt-includes target The one detail I don't understand

gcc-4.2-20080227 is now available

2008-02-27 Thread gccadmin
Snapshot gcc-4.2-20080227 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/4.2-20080227/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 4.2 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/branches

Re: [PATCH] linux/fs.h - Convert debug functions declared inline __attribute__((format (printf,x,y) to statement expression macros

2008-02-27 Thread David Rientjes
On Tue, 26 Feb 2008, Joe Perches wrote: > > Joe, what version of gcc are you using? > > $ gcc --version > gcc (GCC) 4.2.2 20071128 (prerelease) (4.2.2-3.1mdv2008.0) > > It's definitely odd. > The .o size changes are inconsistent. > Some get bigger, some get smaller. > > The versioning ones I un

birthpoints in rtl.

2008-02-27 Thread Kenneth Zadeck
I want to start a discussion about some possible changes to the RTL level of GCC. This discussion is motivated by some of the issues raised in bug 26854. We have addressed many of the issues in this bug, but the remaining issue is cost, in both time and space, for the UD and DU chains built by se

bootstrap failure on i686

2008-02-27 Thread Benjamin Kosnik
last 24 hrs I get this: make[2]: Entering directory `/mnt/share/bld/gcc' make[3]: Entering directory `/mnt/share/bld/gcc' rm -f stage_current make[3]: Leaving directory `/mnt/share/bld/gcc' Comparing stages 2 and 3 warning: ./cc1-checksum.o differs warning: ./cc1plus-checksum.o differs Bootstrap

Re: [PATCH] linux/fs.h - Convert debug functions declared inline __attribute__((format (printf,x,y) to statement expression macros

2008-02-27 Thread Jan Hubicka
> > -static inline void __attribute__((format(printf, 1, 2))) > -__simple_attr_check_format(const char *fmt, ...) It would be nice to have a testcase, but I guess it is because GCC can't inline variadic functions. The function gets identified as const and removed as unused by DCE, but this happ

Excess registers pushed - regs_ever_live not right way?

2008-02-27 Thread Andrew Hutchinson
Register saves by prolog (pushes) are typically made with reference to "df_regs_ever_live_p()" or "regs_ever_live. "|| If my understanding is correct, these calls reflect register USEs and not register DEFs. So if register is used in a function, but not otherwise changed, it will get pushed

Re: Excess registers pushed - regs_ever_live not right way?

2008-02-27 Thread Seongbae Park (박성배, 朴成培)
On Wed, Feb 27, 2008 at 5:16 PM, Andrew Hutchinson <[EMAIL PROTECTED]> wrote: > Register saves by prolog (pushes) are typically made with reference to > "df_regs_ever_live_p()" or "regs_ever_live. "|| > > If my understanding is correct, these calls reflect register USEs and > not register DEFs

Re: Excess registers pushed - regs_ever_live not right way?

2008-02-27 Thread Andrew Hutchinson
Register contains parameter that is passed to function. This register is not part of call used set. If this type of register were modified by function, then it would be saved by function. If this register is not modified by function, it should not be saved. This is true even if function is

Re: Excess registers pushed - regs_ever_live not right way?

2008-02-27 Thread Seongbae Park (박성배, 朴成培)
You can use DF_REG_DEF_COUNT() - if this is indeed a parameter register, there should be only one def (artificial def) or no def at all. Or if you want to see all defs for the reg, follow DF_REG_DEF_CHAIN(). Seongbae On Wed, Feb 27, 2008 at 6:03 PM, Andrew Hutchinson <[EMAIL PROTECTED]> wrote: >

Re: Excess registers pushed - regs_ever_live not right way?

2008-02-27 Thread Ian Lance Taylor
Andrew Hutchinson <[EMAIL PROTECTED]> writes: > Register contains parameter that is passed to function. This register > is not part of call used set. It's very odd to pass parameters in a register which the callee may not modify. What target is this? Ian

Re: Excess registers pushed - regs_ever_live not right way?

2008-02-27 Thread Andrew Hutchinson
Thanks I will check this. DF Dump in RTL file does not list Artificial defs - which is what I think I need. However, I do note that all potential parameter registers (including those unused) - are listed as invalidated by call. - which means 1 (or more) defs. So like you suggest I just need to fi

Re: birthpoints in rtl.

2008-02-27 Thread Alexandre Oliva
On Feb 27, 2008, Kenneth Zadeck <[EMAIL PROTECTED]> wrote: > The appeal for birthpoints is that unlike the abortive attempt in > the past to add SSA to RTL, adding a noop moves does not really mess > up anything. IIRC, when people tried to do RTL SSA, the problem was with match_dups in IN/OUT ope

Re: Rant about ChangeLog entries and commit messages - better to do something than just complain

2008-02-27 Thread Alexandre Oliva
On Feb 23, 2008, Andi Kleen <[EMAIL PROTECTED]> wrote: > On Sat, Feb 23, 2008 at 10:53:53AM -0500, Daniel Jacobowitz wrote: >> On Sat, Feb 23, 2008 at 08:52:41PM +1100, Tim Josling wrote: >> > I wrote a little proof-of-concept script to take the mailing list >> > archives and the ChangeLog files a

how to use testsuite to check vectorization capabilities

2008-02-27 Thread Jaishri
Hello all, I am studying vectorization in GCC. I want to run the test cases given in gcc/gcc/testsuite/gcc.dg/vect Any pointer will be of great help for me. Thanks in advance Jaishri

Re: Draft SH uClinux FDPIC ABI

2008-02-27 Thread Alexandre Oliva
On Feb 26, 2008, "Joseph S. Myers" <[EMAIL PROTECTED]> wrote: > Here is a draft FDPIC ABI for SH uClinux, based on the FR-V FDPIC ABI. > Please send any comments; CodeSourcery will be implementing the final ABI > version in GCC and Binutils. Cool! Great news! > In the picture above, function

Re: how to use testsuite to check vectorization capabilities

2008-02-27 Thread Tehila Meyzels
I think: make check-gcc RUNTESTFLAGS="vect.exp" is what you're looking for. Tehila. [EMAIL PROTECTED] wrote on 28/02/2008 08:32:21: > Hello all, > I am studying vectorization in GCC. > I want to run the test cases given in gcc/gcc/testsuite/gcc.dg/vect > Any pointer will be of great help for me.