Re: A question on ACX_BUGURL

2007-03-25 Thread Paolo Bonzini
> + no) BUGURL=""; just BUGURL= (no useless trailing semicolon). > + case ${BUGURL} in Please quote this as "$BUGURL". > +REPORT_BUGS_TO="<$BUGURL>" > +REPORT_BUGS_TEXI="@uref{`echo $BUGURL | sed 's/@/@@/g'`}" Please do this instead: [EMAIL PROTECTED] "$BUGURL" | sed 's/@/@@/

Re: A question on ACX_BUGURL

2007-03-26 Thread Paolo Bonzini
Andreas Schwab wrote: > Paolo Bonzini <[EMAIL PROTECTED]> writes: > >>> + no) BUGURL=""; >> just BUGURL= (no useless trailing semicolon). >> >>> + case ${BUGURL} in >> Please quote this as "$BUGURL". > > That would

Re: A question on ACX_BUGURL

2007-03-26 Thread Paolo Bonzini
H. J. Lu wrote: > On Mon, Mar 26, 2007 at 09:13:30AM +0200, Paolo Bonzini wrote: >> Please do this instead: >> >> [EMAIL PROTECTED] "$BUGURL" | sed 's/@/@@/g'`} >> > > Will it work with spaces in $BUGURL? Yes, it will. You need quoting in

Re: how to obtain SSA form

2007-03-27 Thread Paolo Bonzini
Andrea Callia D'Iddio wrote: > I looked for "into" and "ssa" in passes.c, but I've not found > anything. "into" does not give much indeed. But ssa should point you to pass_build_ssa and pass_del_ssa, which should reveal a lot. > Also I tried with options -fdump-tree-ssa and -O1 but, when > my pa

Re: nested backticks in Makefile

2007-03-27 Thread Paolo Bonzini
Dave Korn wrote: > On 27 March 2007 18:25, Andreas Schwab wrote: > >> "Dave Korn" <[EMAIL PROTECTED]> writes: >> >>> Or how about using ':=' to force immediate evaluation? >> That won't help, since backquotes are only expanded by the shell, not by >> make. > > Doh. Yes, we'd need immediate e

Re: nested backticks in Makefile

2007-03-28 Thread Paolo Bonzini
DJ Delorie wrote: > Ok, I suppose, as long as the backticks still get expanded. They do, ~ bonzinip$ echo "`echo abc`" abc Paolo

Re: Questions/Comments regarding my SoC application

2007-04-03 Thread Paolo Bonzini
Dennis Weyland wrote: > Hi! > > I've applied for Google's Summer of Code 2007 with GCC as mentor > organization. I want to make GCC working faster on the algorithmic > level. I left out the detailed aims of the project, since i want to > discuss them with gcc developers/mentors first. Do you have

Re: VAX backend status

2007-04-05 Thread Paolo Bonzini
I've noticed a few things in doing the above. GCC 4.x doesn't seems to do CSE on addresses. Because the VAX binutils doesn't support non-local symbols with a non-zero addend in the GOT, PIC will do a define_expand so that (const (plus (symbol_ref) (const_int))) will be split into separate inst

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Paolo Bonzini
I don't really like the idea for promoting subcodes to first-level codes, like you do for GS_COND NE and EQ. Looks complicated and confusing to me. What is the benefit of this? Fully agreed with Steven (also on the locators bit). Paolo

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-11 Thread Paolo Bonzini
If you go this way (and require special GC/debugger support) you could as well xor next/prev too and save another field. Adding a xor is basically free and much cheaper than any cache miss from larger data structures. The only thing that wouldn't work is that when you have a pointer to an arbi

how to regenerate automake files

2007-04-12 Thread Paolo Bonzini
I just found out that just running "automake" is not enough if you have installed Autoconf 2.59 as "autoconf-2.59", and a newer Autoconf as just "autoconf". You have to do AUTOM4TE=autom4te-2.59 automake (possibly something like "AUTOM4TE=autom4te-2.59 automake-1.9"). I thought that shari

Re: [MIPS] MADD issue

2007-04-13 Thread Paolo Bonzini
(define_insn "adddi3_internal_1" [(set (match_operand:DI 0 "register_operand" "=d,&d") (plus:DI (match_operand:DI 1 "register_operand" "0,d") (match_operand:DI 2 "register_operand" "d,d"))) (clobber (match_operand:SI 3 "register_operand" "=d,d"))] "!TARGET_64BIT &

Re: [MIPS] MADD issue

2007-04-13 Thread Paolo Bonzini
This should be a post-reload (i.e. predicated on reload_completed) split, I think. Actually, with the relatively recent lower-subreg work, it is desirable to split this sort of instruction before reload. That is, do an unconditional split. Right. Combine cannot cope with the resulting 4-in

Re: Questions/Comments regarding my SoC application

2007-04-16 Thread Paolo Bonzini
Hi! Initially I meant to optimize GCC, that includes runtime and memory usage, of course. Sure. I meant that we have testcases that are good to test your work on. Profile GCC running them and fix the hotspots: this may show quadratic algorithms, and the like. For example, see the patch

Re: GCC 4.2.0 Status Report (2007-04-15)

2007-04-16 Thread Paolo Bonzini
30786 is ICE-on-invalid. 30805 is ICE-on-unspecified. I don't like ICEs but these don't seem like release-blockers to me. Anyway I attached prototype patches for these. I don't have resources to test them for three weeks, so if anybody can beat me to it... Paolo

Re: REG_NO_CONFLICT vs lower-subreg

2007-04-16 Thread Paolo Bonzini
I suppose we could add a target macro to let individual ports turn off REG_NO_CONFLICT generation? Any other ideas? A pass to reorder insns so that live ranges are shortened and register pressure is relieved. Could be something like for each bb for each insn for each active insn

Re: REG_NO_CONFLICT vs lower-subreg

2007-04-16 Thread Paolo Bonzini
Ian Lance Taylor wrote: Paolo Bonzini <[EMAIL PROTECTED]> writes: I suppose we could add a target macro to let individual ports turn off REG_NO_CONFLICT generation? Any other ideas? A pass to reorder insns so that live ranges are shortened and register pressure is relieved. I thi

Re: GCC 4.1 Projects

2005-02-28 Thread Paolo Bonzini
s difficult for people putting in things during Stage 1, or compound the problem of having an unstable mainline. I think that's not a useful criteria for scheduling decisions. Let me be more concrete. Paolo Bonzini posted a patch to move in-srcdir builds to a host subdirectory. This is

Re: GCC 4.1 Projects

2005-02-28 Thread Paolo Bonzini
s difficult for people putting in things during Stage 1, or compound the problem of having an unstable mainline. I think that's not a useful criteria for scheduling decisions. Let me be more concrete. Paolo Bonzini posted a patch to move in-srcdir builds to a host subdirectory. This is

Re: request for timings - makedepend

2005-03-07 Thread Paolo Bonzini
and report (a) the numbers reported by the "time" command, (b) what sort of machine this is and how old, and (c) whether or not you would be willing to trade that much additional delay in an edit-compile-debug cycle for not having to write dependencies manually anymore. Linux P4 3.4 GHz: real0

Re: [BUG mm] "fixed" i386 memcpy inlining buggy

2005-04-06 Thread Paolo Bonzini
The only thing that would avoid this is to either tell the compiler to never put esi/edi in memory (which I think is not possibly across different versions of gcc) or to always generate a single asm section for all the different cases. Use __asm__ ("%esi") and __asm__ ("%edi"). It is not guarante

Re: Input and print statements for Front End?

2005-04-07 Thread Paolo Bonzini
I can't seem to find any info regarding an input or print statement, so i can read integers(my language only deals with integers) from the stdio and return integer results to stdio. You need to map these to printf/scanf calls. Paolo

Re: GCC 4.0 RC1 Available

2005-04-12 Thread Paolo Bonzini
)? Mark, if you decide to fix it in 4.0, I think it is better that you do it yourself also because of the time zone difference (I'll be out of home this evening, which is morning/afternoon for you). Paolo 2005-04-12 Paolo Bonzini <[EMAIL PROTECTED]> * configure: Regenerate. conf

Re: My opinions on tree-level and RTL-level optimization

2005-04-18 Thread Paolo Bonzini
I think Roger simply mis-spoke because in his original message, he said what you said: the important issue is having the alias information available in RTL. Much (but not all: eg., SUBREG info) of that information is best imported down from the tree level. Well, paradoxical subregs are just a mess

Re: GCC 4.0 RC1 Available

2005-04-18 Thread Paolo Bonzini
Kaveh R. Ghazi wrote: When this patch went into 4.0, Paolo didn't regenerate the top level configure, although the ChangeLog claims he did: http://gcc.gnu.org/ml/gcc-cvs/2005-04/msg00842.html You're right. I was being conservative and typed the "cvs ci" filenames manually, but in this case the

Re: GCC 4.0 RC1 Available

2005-04-19 Thread Paolo Bonzini
Would you care to take care of that? (I am travelling, and don't have much time online.) If so, I'd be very appreciative. Done. I'll apply to mainline soon. Paolo

Re: volatile semantics

2005-05-03 Thread Paolo Bonzini
Ok, so, the question is, should gcc produce code that infinitely loops, or should it be obligated to actually fetch from memory? Hint, 3.3 fetched. IANA(Language)L, but I think it should definitely fetch from memory. Paolo

Re: GCC 4.1 Status Report (2005-05-04)

2005-05-05 Thread Paolo Bonzini
Steven Bosscher wrote: On Thursday 05 May 2005 07:40, Mark Mitchell wrote: # CFG Transparent Inlining, Profile-Guided Inlining (1.3) This one was submitted on April 29, but nobody has reviewed it. When this goes in, I'll submit the conversion of rest_of_compilation to use the pass manager (I don'

Re: GCC 4.1: Buildable on GHz machines only?

2005-05-06 Thread Paolo Bonzini
We could allow different amounts of aggregation other than 0% or 100%; that might help some builds. Per-directory could be useful to the guys using the static library, too. But what Per is talking about is how .o files are built. This change would probably not be very difficult fwiw; we already ha

Re: GCC 4.1: Buildable on GHz machines only?

2005-05-06 Thread Paolo Bonzini
We could allow different amounts of aggregation other than 0% or 100%; that might help some builds. Per-directory could be useful to the guys using the static library, too. But what Per is talking about is how .o files are built. This change would probably not be very difficult fwiw; we already ha

Re: check_ext_dependent_givs

2005-05-06 Thread Paolo Bonzini
Canqun Yang wrote: Hi, all, Is there anyone familiar with the check routine check_ext_dependent_givs defined loop.c, and give me an example explaining why it is needed. You should not look at loop.c to modify it, because it will hopefully disappear before 4.1. But basically, that function looks

Bug in multifile operation?

2005-05-06 Thread Paolo Bonzini
Per Bothner wrote: Paolo Bonzini wrote: >> But what Per is talking about is how .o files are built. This change would probably not be very difficult fwiw; we already have done this in a place or two where we've needed BC ABI support. As long as libtool supports it, it should

Re: GCSE considers read only memory clobbered by function calls.

2005-05-09 Thread Paolo Bonzini
It appears that GCSE considers "read only memory" as call clobbered, which is not the case in CSE. I have took the test for read-only memory from CSE and add it to GCSE where we compute the transparency. My wild guess is that this was not possible when MEM_READONLY_P was RTX_UNCHANGING_P, and now

Re: Borland software patent restricting GNU compiler development

2005-05-11 Thread Paolo Bonzini
The Borland patent is a patent for standard exception handling http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL &p=1&u=/netahtml/srchnum.htm&r=1&f=G&l=50&s1=5,628,016.WKU.&OS=PN/5,628, 016&RS=PN/5,628,016 http://snipurl.com/et1w Paolo

Re: Exporting structure layout

2005-05-11 Thread Paolo Bonzini
Additional members are permitted, and the fields can be order. In order to create a portable Ada interface, I have to write a short C program which uses sizeof and offsetof to extract the structure layout. In theory, it is possible to create compile-time-only tests suitable for cross-compilation

Re: check_ext_dependent_givs

2005-05-12 Thread Paolo Bonzini
I modified the code in check_ext_dependent_givs to let the BIVs always successfully pass the check, then test the example you have given to me, but the result is the same as before. It depends on whether the old loop optimizer will actually decide that it is worthwhile to use the induction var

Re: GCC 4.1: Buildable on GHz machines only?

2005-05-16 Thread Paolo Bonzini
> Also there are so many interdependencies between packages that we have to build a pile of libraries and support stuff that is never used on the target just so we can get a package that we do need to configure/build(like sed and perl). Please give me as much information as possible on sed. AFAIK,

Re: Why the V4QImode vector operations are expanded into many SImode at "oplower" pass?

2005-05-18 Thread Paolo Bonzini
> Now I'm implementing the V4QI SIMD add operation. Maybe there is no register that can store a V4QI. Paolo

Re: Bootstrap Times Improvements?

2005-05-19 Thread Paolo Bonzini
Ranjit Mathew wrote: Hi, Between Tuesday and Wednesday (Indian time), something(s) went into mainline that is showing me a dramatic decrease in bootstrap times - a c,c++,java bootstrap on i686-pc-linux-gnu now takes 51m for me compared to 65-66m earlier, which is around 20% of savings over the co

Re: libgcc_s.so.1 exception handling behaviour depending on glibc version

2005-05-19 Thread Paolo Bonzini
> "DLL hell" is a Windows term, not a Unix/BSD/GNU/Linux term, for a reason. Unix would have "SO woes". Paolo

Re: [rfc] mainline slush

2005-05-20 Thread Paolo Bonzini
Yes, he checked in my change, and didn't copy me on the email... Also, something ate my gcc-patches email. :-( No, I checked it in before seeing your other message with the proposed fix. My apologies for not giving credit. (Indeed the fix is a bit different, I replaced \0 with the portable &

Re: [rfc] mainline slush

2005-05-20 Thread Paolo Bonzini
Yes, he checked in my change, and didn't copy me on the email... Also, something ate my gcc-patches email. :-( No, I checked it in before seeing your other message with the proposed fix. My apologies for not giving credit. (Indeed the fix is a bit different, I replaced \0 with the portable &

Re: Compiling GCC with g++: a report

2005-05-24 Thread Paolo Bonzini
> This scenario, at least theoretically, becomes a non-issue if we make top-level bootstrap the only option before we start using C++ features in GCC, but that hasn't happened yet. It will happen soon after the end of the slush. The last preliminary patch has already been posted, then all one

Re: 4.0 regression: missing debug info for global variables in C with -O2

2005-05-31 Thread Paolo Bonzini
> Yes; in fact 'main' is even superfluous. Just compile > > int var; > > with -S -O2 -g on gcc 3.4 and 4.0 and look at the resulting > assembler file, the difference is quite obvious ... Maybe this is responsible for part of PR21828? Paolo

Re: 4.0 regression: missing debug info for global variables in C

2005-05-31 Thread Paolo Bonzini
Maybe this is responsible for part of PR21828? I'd say this *is* PR21828: note that the variables whose type is unknown are global variables in C code compiled with -O2 ... Oh, of course. I was confusing with the first part: Run till exit from #0 mangle_macro_name ([snip]) at ../..

Re: RFC: Strategy for cc0 -> CCmode conversion for the AVR target.

2005-06-04 Thread Paolo Bonzini
The condition-code re-use issue is the point, where, IMO, the link to the subreg-lowering 2.) shows up. After, e.g., breaking down a HI mode "sub" operation into two QI mode "sub" and "sub-with-carry"s at expand, I consider it to be extremely difficult to make the mid-end smart enough to identif

Re: Making GCC faster

2005-06-07 Thread Paolo Bonzini
There has been a lot of work recently on making GCC output faster code. But GCC isn't very fast. On my slow 750MHz Linux box (which the PIII in it is now R.I.P), it took a whole night to compile 3.4.3. Sometimes I wonder if Sam Lauber is a Markov generator... Please read the release notes fo

Re: Expanding an ADDSI3 into 2 x ADDHI3 does not work

2005-06-15 Thread Paolo Bonzini
If I use: (define_expand "addsi" addsi3 "{ emit_insn (gen_addhi3 (custom_subword(operands[0], 0, SImode), custom_subword(operands[1], 0, SImode), custom_sub

Re: basic VRP min/max range overflow question

2005-06-17 Thread Paolo Bonzini
Paul Schlie wrote: Upon a potential integer overflow of either it's min or max range, shouldn't the result be set to [min:type-min-value, max:type-max-value], without the necessity of any further designations? No. [10, INT_MAX] + [ 1, 1 ] == [ 11, INT_MAX ] because of the famous signed int ov

Re: basic VRP min/max range overflow question

2005-06-17 Thread Paolo Bonzini
[#1] The signed C integer types int, long, long long and the corresponding unsigned types are compatible with LIA-1. If an implementation adds support for the LIA-1 exceptional values integer_overflow and undefined, then those types are LIA-1 co

Re: basic VRP min/max range overflow question

2005-06-17 Thread Paolo Bonzini
Paul Schlie wrote: They need not wrap around. People that are actually on the C standards committee have told you this multiple times. Yes, and may clearly produce erroneous results if the value ranges are not consistent with the factual behavior of an implementation, i.e.: Are you li

CFT: toplevel bootstrap (stage 2 project)

2005-06-22 Thread Paolo Bonzini
So we are ready! Please try this and let me know of any rough spots. I'll be on holiday from Friday 24th to July 4th, with no connectivity, but I will read my e-mail when I come back. To recap, toplevel bootstrap has several aims, including: 1) simplifying the binary compatibility problems wh

Re: toplevel bootstrap (stage 2 project)

2005-06-23 Thread Paolo Bonzini
What does "./configure --enable-botstrap; make bootstrap" do? The same as plain make. bootstrap is the default target when --enable-bootstrap is given, and its behavior resembles a "bubblestrap" (see later) in the old system. This removes the wart where "make" following a "make bootstrap

Re: CFT: toplevel bootstrap (stage 2 project)

2005-07-05 Thread Paolo Bonzini
How difficult do you think this will be with the new toplevel bootstrap? Make gcjx depend on libstdc++-v3, and add "bootstrap=true" to both in Makefile.def. In cp/Make-lang.in, set boot_language=yes. It should just work. Paolo

HEADS-UP: tree-optimize.c and passes.c heavily modified

2005-07-05 Thread Paolo Bonzini
The patch I am committing that makes the RTL passes be sequenced with the pass manager, will also move init_tree_optimization_passes to passes.c from tree-optimize.c. It is advisable that, before doing the next merge to mainline on a tree that touches tree-optimize.c, you do a diff between you

Re: RFA: -mfpmath=sse -fpic vs double constants

2005-07-08 Thread Paolo Bonzini
(this is Linux, the same happens on Darwin). This is not really a good idea, as movsd of a double-precision 1.0 is faster. I wonder whether fixing compress_float_constant is better. It seems similar to the old hack in expr.c: expanding a/b to a*(1/b), and hope that it is transformed back to

Re: Some notes on the Wiki

2005-07-11 Thread Paolo Bonzini
In fact, i had someone recently send me a *104 page PDF file* on how RTL really works organized in a way that most developers would probably find better. If the guy has copyright assignment on file, I can volunteer to convert this. Is the PDF made from latex? If so I have some scripts to aid.

Re: Some notes on the Wiki

2005-07-11 Thread Paolo Bonzini
> It was reviewed the very same day it was submitted: > > http://gcc.gnu.org/ml/gcc-patches/2004-06/msg00313.html > http://gcc.gnu.org/ml/gcc-patches/2004-06/msg00321.html where you said: > (and possibly to your tutorial as a separate page if > it still seems desirable to have it as a coh

Re: Some notes on the Wiki

2005-07-11 Thread Paolo Bonzini
> It was reviewed the very same day it was submitted: > > http://gcc.gnu.org/ml/gcc-patches/2004-06/msg00313.html > http://gcc.gnu.org/ml/gcc-patches/2004-06/msg00321.html where you said: > (and possibly to your tutorial as a separate page if > it still seems desirable to have it as a coh

Re: volatile semantics

2005-07-18 Thread Paolo Bonzini
- The assignment reference to x is valid as it's not specified as const, therefore must be performed, unless: You simply got the purpose of optimization and, to some extent, high-level languages wrong. This thread shows that if people are reasonable (on both sides) a solution will be found.

Re: PING [4.1 regression, patch] build i686-pc-mingw32

2005-07-20 Thread Paolo Bonzini
Heck, it can even search $PATH for us. That sounds like a good idea to me. Please assign the bug to me. I am not receiving Bugzilla mail for some reason, I guess I'll have to subscribe to gcc-bugs and use procmail. Paolo

Re: [BUG] gcc-3.4.5-20050531 (i386): __FUNCTION__ as a part of the printf's format argument

2005-07-25 Thread Paolo Bonzini
Ok, but such a code used to be compiled succesively with gcc for years. Then, some change _in_ gcc has occured. That is why I've posted to here. Yes, it was deprecated in 3.1 (released three years ago) and removed in 3.3 (released two years ago). Paolo

Re: PING [4.1 regression, patch] build i686-pc-mingw32

2005-07-26 Thread Paolo Bonzini
Paolo, could you go back and think about the bootstrapping problem from MinGW's perspective? I had considered cygwin, that had some problems because of the executable-file extension. I had also thought of using batch files via config.build, but got stuck because Windows. does not have as f

Re: rfa (x86): 387<=>sse moves

2005-07-26 Thread Paolo Bonzini
think the difficulty is that for Try the attached patch. It gave a 3% speedup on -mfpmath=sse for tramp3d. Richard Henderson asked for SPEC testing, then it may go in. Paolo 2005-07-14 Paolo Bonzini <[EMAIL PROTECTED]> * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD

Re: [patch] Fix i386-mingw32 build failure

2005-08-09 Thread Paolo Bonzini
The consensus also seemed to be that it was just an aspect of a larger problem that no good solution had been proposed to solve yet. I am working on a fix that is the same as FX's, but does not pollute the makefile with host triplets. I am not a maintainer, but this was my primary objection t

Re: [patch] Fix i386-mingw32 build failure

2005-08-09 Thread Paolo Bonzini
d, 19 insertions(+), 12 deletions(-) vs. 1 files changed, 25 insertions(+), 10 deletions(-) :ADDPATCH build: I have only tested it on Linux, can you give it a try? Ok if FX's testing succeeds? Paolo 2005-08-09 Paolo Bonzini <[EMAIL PROTECTED]> * config.build (build_have_sh_s

[GCC 4.2 Project] Replacements for CSE path following

2005-08-09 Thread Paolo Bonzini
, instead, can use simplify-rtx.c much more effectively than CSE. The patch currently has performance regressions in mesa and in crafty, but overall slightly improves SPEC with a saving of 2-3% in bootstrap and compilation time. Personnel * Paolo Bonzini Delivery Date Stage 1 I

Re: Question about merging two instructions.

2005-08-22 Thread Paolo Bonzini
This approach seems reasonable. The current structure of the code in simplify_replace_rtx is intended to handle RTL expressions rather than patterns, so normally it would be passed just SET_SRC (pat), instead of the whole set. Which is why, OTOH, I would be *extremely* cautious doing such a

Re: [patch] Fix behavior of TER on unrolled loops

2005-08-22 Thread Paolo Bonzini
Maybe everyone else manages to get good code without something like TER. That's because we lack other things that people have, like a sane instruction selection and expression reordering pass: other compilers probably have something akin to TER as part of instruction selection. Like many ot

Re: Question about merging two instructions.

2005-08-22 Thread Paolo Bonzini
1. Can you please give me an example of something bad that can happen to the LHS. Maybe I'm missing something here. In this case nothing, but if NEW were a subreg, it can change a lot. 3. Isn't it reasonable to expect that every instance on old_rtx will be replaced by new_rtx even if it can

PR/23303 (not using leal on ix86)

2005-08-22 Thread Paolo Bonzini
It looks like Jan's patch at http://gcc.gnu.org/ml/gcc-patches/2005-07/msg02021.html is causing a code size regression in i686. I'll consider a 32-bit target, and this testcase char ** VTallocbuf(char **allbuf, unsigned long savelines) { return &allbuf[savelines]; } For i686 we p

Re: Redundant limit check for switch

2005-08-22 Thread Paolo Bonzini
void Switch4(int x) { switch (x & 7) { } } >> .globl _Switch4 .def _Switch4; .scl 2; .type 32; .endef _Switch4: pushl %ebp movl %esp, %ebp movl 8(%ebp), %eax andl $7, %eax cmpl $7, %eax ja L12 jmp *L11(,%eax,4) cmpl+ja are redundant in both cases. Do you think it is possible for gcc t

Re: Question about merging two instructions.

2005-08-22 Thread Paolo Bonzini
Do I always need to recognize the result? validate_change and apply_change_group will take care of that. If the answer is yes, than I suppose that if something bad happens, the recognition will fail. No, the problem is when recognition passes, and you have a SUBREG on the LHS that will

Re: Question about merging two instructions.

2005-08-22 Thread Paolo Bonzini
Note that I don't want to replace any *def* and uses may appear in the LHS. Ok, I see. But you have to cope with *def*s appearing in the LHS: you don't want to replace them, yet your modified simplify_replace_rtx will! My plan was to use: replace_regs () to replace every use of (reg r) w

[RFA] Nonfunctioning split in rs6000 back-end

2005-08-22 Thread Paolo Bonzini
While researching who is really using flow's computed LOG_LINKS, I found a define_split in the rs6000 back-end that uses them through find_single_use. It turns out the only users are combine, this split, and a function in regmove. The split dates back to revision 1.5 of old-gcc. ;; If we are

Re: Warning Behavior

2005-08-22 Thread Paolo Bonzini
Ivan Novick wrote: Hello, How come the following code would not be considered a Warning? Surely there is no possible way this would be intentional? if (x<4); x++; When you consider macro expansion, it could: #if SIZEOF_LONG == 4 #define WARN_FOR_BIG_VALUES \ printf ("hey, x is too

Re: Question about an rtx expression.

2005-08-23 Thread Paolo Bonzini
Leehod Baruch wrote: Hello, Is it true that in a SET, a search for a _use_ of a register in the LHS should be done only inside a memory address? Also within the second and third arguments of a ZERO_EXTRACT. And its first argument may be a MEM, in which case you should look into it. Look at

Re: [RFA] Nonfunctioning split in rs6000 back-end

2005-08-23 Thread Paolo Bonzini
David Edelsohn wrote: Paolo Bonzini writes: Paolo> I'm testing a patch that does this replacement, and I can post it Paolo> tomorrow morning. It has triggered only a dozen times so far (half in Paolo> libgcc, half in the compiler), but it may be worth keeping it

Re: gcc newbie and open projects

2005-08-24 Thread Paolo Bonzini
Is this still an open project? and if so can anyone give me more information on what is needed? Yes, it is. Basically, insn-recog.c is a huge decision tree. genrecog.c builds it and outputs it as C code. It uses variables like "x0, x1, x2, ..., xn" which would become the virtual machine's

Re: Wiki Broken?

2005-08-24 Thread Paolo Bonzini
Niko Matsakis wrote: Attempting to edit the Wiki or otherwise login seems to generate an error. This may be because I don't have an account. Error text below. Probably, because I can edit with "PaoloBonzini" but not with "Paolo". Using "WikiWord" literally is a workaround. Paolo

Re: Problem with peephole to peephole2 conversion

2005-08-25 Thread Paolo Bonzini
Ashwin wrote: The problem in front of me is something like this.. op0 = 1 op1 = op0 leftshift op2 This will be optimized to op1 = 1 leftshift op2 (by the peephole2 pass to the rtl pattern corresponding to this and hence the requirement that op0 should be dead after insn2) However if the pat

Re: Problem with peephole to peephole2 conversion

2005-08-25 Thread Paolo Bonzini
operands[0] == operands[1] || peep2_regno_dead_p (2, operands[0]) Exactly.. this is the same thing as calling dead_or_set_p(insn, operands[0]). i am sorry, since we are using peephole2, the variable "insn" points to the first insn in the template and not the last. so the call should be

Re: 4.2 Project: "@file" support

2005-08-25 Thread Paolo Bonzini
Marcin Dalecki wrote: On 2005-08-25, at 09:14, Christoph Hellwig wrote: That's what I meant with my comment btw. It's a horrible idea to put in all the junk to support inferior OSes into gcc and all other other programs, and with cygwin and djgpp there are already two nice enviroments for tha

Re: Problem with peephole to peephole2 conversion

2005-08-25 Thread Paolo Bonzini
Ashwin Kolhe wrote: On 8/25/05, Paolo Bonzini <[EMAIL PROTECTED]> wrote: I consider this to be less readable than the peep2 way to do it, especially if your peephole2 had three or four instructions. And peep2_regno_dead_p uses an array (a circular buffer) so it's more efficie

Re: Redundant limit check for switch

2005-08-28 Thread Paolo Bonzini
Why can't this information be used to optimize comparisons? My patch caused GCC to infer that x & 7 > 7 is false. But I couldn't think of a quick way to use this to optimize away the check, because then GCC crashed. Does it work only for consecutive ands? Or is it just an early constant

Re: question about pass management

2005-08-31 Thread Paolo Bonzini
if I modify the type of my_funct to take 3 args (int, int, float), then the type checker ( which runs before my pass for "main" ) bombs out saying that the call to "my_funct" has lesser than required parameters. Where should I be running this pass? The way it looks is that i need the pass manage

Re: Regarding bug 22480, vectorisation of shifts

2005-09-01 Thread Paolo Bonzini
Uros Bizjak wrote (privately, but I forwarded to GCC in order to get help): Hello Paolo! I was looking at PR middle-end/22480 if there is something to fix at the i386 backend. However, there is no documentation at all regarding vec_shl_ and vec_shr_ builtins. Heh, I'm quite at a loss regar

Re: Question about simplify_rtx ()

2005-09-06 Thread Paolo Bonzini
You showed me that it might be dangerous to replace rtx on the LHS of a SET using simplify_replace_rtx (). simplify_rtx () seems safer, is there a good reason why it doesn't work with INSNs and SETs? Because it works with expressions. :-) Will a generalized function called simplify_insn () th

Re: GCC 4.0.2 Status Report

2005-09-07 Thread Paolo Bonzini
There's no special freeze for the 4.0 branch at this point; we'll leave it in regression-fixes only mode. The branch will freeze when I create the first release candidate. Some of your C++ fixes have been quite invasive. Maybe it's too much haste to spin the rc before the bugs can be detec

Re: Gcc 4.1 has been failing SPEC CPU 2000 on 64bit platforms

2005-09-19 Thread Paolo Bonzini
Andrew Pinski wrote: On Sep 19, 2005, at 12:46 AM, H. J. Lu wrote: http://people.redhat.com/dnovillo/spec2000/ shows that gcc 4.1 has been failing vortex in SPEC CPU 2000 on Linux/EM64T and Linux/PPC64 at least since Aug. 7, 2005. The current gcc 4.1 also failed vortex on Linux/ia64. Is that

Re: GCC 4.0.2 RC2

2005-09-19 Thread Paolo Bonzini
Etienne Lorrain wrote: Hello, You really do not want to get a correction for: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23631 before release? I checked again with 4.0.2 20050917, and nothing has changed since: http://gcc.gnu.org/ml/gcc/2005-09/msg00251.html Etienne, does the patch

Re: GCC 4.0.2 RC2

2005-09-19 Thread Paolo Bonzini
I applied the patch by hand (not working with CVS) and it does _not_ solve the problem. In this case, I am sorry but the probability of a fix before the release is close to zero. Paolo

Re: RFA: pervasive SSE codegen inefficiency

2005-09-20 Thread Paolo Bonzini
So basically, pick a problem you see, and fix it. The RTL infrastructure is exceptionally good at doing some things, and exceptionally bad at doing some others. Sometimes, take into account the coding style and it is good and bad at the same time. :-( CSE, flow, etc. come to mind. All

Re: Problem with gcc 4.0.1

2005-09-21 Thread Paolo Bonzini
Ernest L. Williams Jr. wrote: Hi, The following code fragment is now causing problems under gcc 4.0.1 Everything is perfect under "gcc version 3.4.3" Any recommended work-arounds? = code fragment== #ifndef __LOC_PV_FACTORY_H__ #define __LOC_PV_

Re: [RFC] propagating loop dependences from trees to RTL (for SMS)

2005-09-22 Thread Paolo Bonzini
1. Introduce a new BB bit flag and set it for the header BB of a loop that has no data dependencies. This approach already works, but only if the old loop optimizer (pass_loop_optimize) is disabled (otherwise the bit doesn't survive). Which will happen in 4.2. One potential problem is that t

g++.dg not having one .exp per directory

2005-09-25 Thread Paolo Bonzini
I have noticed that g++.dg does not have one .exp file per directory, and I could not figure out how to run, say, a single test case in the g++.dg/tree-ssa directory. I have modified g++.dg/dg.exp to do so, by using "glob" rather than "find", and then I could copy dg.exp to all the directories

Re: g++.dg not having one .exp per directory

2005-09-26 Thread Paolo Bonzini
make RUNTESTFLAGS="dg.exp=nothrow-1.C" check-g++ This one I know of. dg.exp=eh\*.C is another one. I was missing the *back* slash. I guess it is actually make RUNTESTFLAGS='dg.exp=eh\\*.C' to get the correct escaping when RUNTESTFLAGS is expanded? Thanks, Paolo

Re: fwprop patch testing

2005-09-26 Thread Paolo Bonzini
The only big regression for fwprop on PPC is bzip2. I've distilled it to this small testcase: int f(int *); int verbosity; int *arr; int last; void g () { int i; if (last < 4000) { if (verbosity >= 4) f(&verbosity); for (i = 0; i <= last; i++) ar

Re: Fishy build system: make_exports.pl called on darwin?

2005-10-02 Thread Paolo Bonzini
I see more trolling than bug reporting here. This macros get's set according to acinclude.m4 in libstdc++ for builds which utilize the glibc. Heck? What's the purpose here? Fortunately there is no such thing as the glibc on this system at all. Looking at the m4 macro I can't quite see how

Re: problems with writing a new pass

2005-10-03 Thread Paolo Bonzini
> In file included from /usr/include/stdio.h:831, > from ../../gcc/gcc/tsystem.h:90, > from ../../gcc/gcc/crtstuff.c:62: > /usr/include/bits/stdio.h: In function 'vprintf': > /usr/include/bits/stdio.h:37: internal compiler error: Segmentation fault You are getting a

<    1   2   3   4   5   6   7   8   9   10   >