Re: expand_omp_parallel typo?

2006-10-18 Thread Diego Novillo
Marcin Dalecki wrote on 10/18/06 00:27: bsi_insert_after (&si, t, TSI_SAME_STMT); Shouldn't this bee bsi_insert_after (&si, t, BSI_SAME_STMT); instead? Yes. We lucked out because both symbols have the same numeric value. Patch pre-approved as obvious. PS: Please do not use existin

Re: stability of libgomp and libssp

2006-10-19 Thread Diego Novillo
Eric Christopher wrote on 10/19/06 17:33: I was wondering if anyone planned on changing abi or if we can depend on all changes not breaking the abi of these libraries? There is nothing planned in that area, but I wouldn't want to guarantee ABI stability. Mostly as a result of bug fixing. Sin

Re: Question about LTO dwarf reader vs. artificial variables and formal arguments

2006-10-21 Thread Diego Novillo
Ian Lance Taylor wrote on 10/21/06 14:59: That is, we are not going to write out DWARF. We can't, because DWARF is not designed to represent all the details which the compiler needs to represent. What we are going to write out is a superset of DWARF. And in fact, if it helps, I think that we s

Re: fdump-tree explanation

2006-10-26 Thread Diego Novillo
Dino Puller wrote on 10/26/06 10:11: How many times gcc simplify expressions like: x/x, 0*x, 1*y, a+0, x*x/x and so on You are probably looking at folding then. An initial idea might be to put some code in fold-const.c:fold that compares the input tree expression with the output, if they are

Re: memory benchmark of tuples branch

2006-10-27 Thread Diego Novillo
Aldy Hernandez wrote on 10/26/06 10:40: As we have hoped, every single function exhibits memory savings. Yay. Nice! I don't know if this merits merging into mainline, or if it's preferable to keep plodding along and convert the rest of the tuples. What do you guys think? Either way, I hav

Re: memory benchmark of tuples branch

2006-10-27 Thread Diego Novillo
Aldy Hernandez wrote on 10/27/06 09:35: How does this sound to y'all? Sounds good to me. I would add an additional memory savings check between 4 and 5.

Re: fdump-tree explanation

2006-10-27 Thread Diego Novillo
Dino Puller wrote on 10/27/06 11:25: The idea is a bit complex. Anyway the fold function has no one only return so i can't compare input tree with output one, and it's called from a lot of others functions of others files. > Of course you can. fold() does not modify the input tree anymore. Ju

Re: memory benchmark of tuples branch

2006-10-27 Thread Diego Novillo
Mark Mitchell wrote on 10/27/06 12:25: Aldy Hernandez wrote: Does the tuples branch include the CALL_EXPR reworking from the LTO branch? No. Though, that is a similar global-touch-everything project, so hopefully whatever consensus develops from tuples will carry over. I feel the same abou

Re: compiling very large functions.

2006-11-06 Thread Diego Novillo
Kenneth Zadeck wrote on 11/04/06 15:17: 1) defining the set of optimizations that need to be skipped. 2) defining the set of functions that trigger the special processing. This seems too simplistic. Number of variables/blocks/statements is a factor, but they may interact in ways that are dif

Re: compiling very large functions.

2006-11-06 Thread Diego Novillo
Kenneth Zadeck wrote on 11/06/06 12:54: I am not saying that my original proposal was the best of all possible worlds, but solving hacking things on a pass by pass or pr by pr basis is not really solving the problem. I don't think it's a hackish approach. We have policy setting at the high le

Re: compiling very large functions.

2006-11-06 Thread Diego Novillo
Brooks Moses wrote on 11/06/06 17:41: Is there a need for any fine-grained control on this knob, though, or would it be sufficient to add an -O4 option that's equivalent to -O3 but with no optimization throttling? We need to distinguish two orthogonal issues here: effort and enabled transfor

Re: compiling very large functions.

2006-11-07 Thread Diego Novillo
Jan Hubicka wrote on 11/07/06 05:07: -O3 enables inlining, unswitching and GCSE after reload. How those change semantics of the program? Bah, I was convinced we were switching on -ffast-math at -O3. Never mind.

Re: Control Flow Graph

2006-11-15 Thread Diego Novillo
more than one function too gracefully, but that should be easy to change. #!/bin/sh # # (C) 2005 Free Software Foundation # Contributed by Diego Novillo <[EMAIL PROTECTED]>. # # This script is Free Software, and it can be copied, distributed and # modified as defined in the GNU General

Re: Control Flow Graph

2006-11-15 Thread Diego Novillo
albino aiello wrote on 11/15/06 10:14: Thanks, but i want to use the .cfg file to construct directly a tree_cfg in C language using the TREE SSA libraries of gcc. There is no such thing as a tree ssa library. If you are adding a pass to GCC, then you already have the CFG at your disposal. I

Re: how to load a cfg from a file by tree-ssa

2006-11-24 Thread Diego Novillo
Rob Quill wrote on 11/23/06 12:41: I haven't looked into this yet, but as I think I may need to be able to do something similar, is it possible to parse the cfg file that is given out, and build a C structure like that? Parsing a CFG dump is trivial. See the script I posted in http://gcc.gnu.o

Re: machine-dependent Passes on GIMPLE/SSA Tree's?

2006-11-27 Thread Diego Novillo
Markus Franke wrote on 11/27/06 12:50: Are there also some other optimisation passes working on the GIMPLE/SSA representation which make use of any machine-dependent features? Yes. Passes like vectorization and loop optimizations will use so called 'target hooks' which allow the high-level pa

Re: writing a new pass: association with an option string

2006-12-04 Thread Diego Novillo
Andrea Callia D'Iddio wrote on 12/04/06 03:48: Dear all, I wrote a new pass for gcc. Actually the pass is always executed, but I'd like to execute it only if I specify an option from shell (ex. gcc --mypass pippo.c). How can I do? Create a new flag in common.opt and read its value in the gate fu

Re: [PATCH]: Require MPFR 2.2.1

2006-12-04 Thread Diego Novillo
Richard Guenther wrote on 12/04/06 11:23: On 12/3/06, Kaveh R. GHAZI <[EMAIL PROTECTED]> wrote: I'd like to give everyone enough time to update their personal installations and regression testers before installing this. Does one week sound okay? If there are no objections, that's what I'd

Re: Announce: MPFR 2.2.1 is released

2006-12-05 Thread Diego Novillo
Kaveh R. GHAZI wrote on 12/04/06 21:32: That idea got nixed, but I think it's time to revisit it. Paolo has worked out the kinks in the configury and we should apply his patch and import the gmp/mpfr sources, IMHO. Yes, I vote to include gmp/mpfr in the tree. If gmp/mpfr is still a fluid tar

Re: How to save a va_list object into a buffer and restore it from there?

2006-12-06 Thread Diego Novillo
Hoehenleitner, Thomas wrote on 12/06/06 07:08: after unsuccessful search in the doc, the web and this mailing list I decided to launch this question here: Offtopic in this forum. Please use [EMAIL PROTECTED] or comp.lang.c. This list is for GCC *development*.

Re: Gimple Type System

2006-12-06 Thread Diego Novillo
Richard Warburton wrote on 12/06/06 07:59: I would be most grateful of an answer to these questions, since I find the implementation of the gimple type system to be a little puzzling. That's because there is *no* GIMPLE type system. GIMPLE latches on to the type system of the input language,

Re: Gimple Type System

2006-12-06 Thread Diego Novillo
Richard Warburton wrote on 12/06/06 09:44: Thanks for this information. I presume from you response that there is a plan to address this issues, is this something that will be happening in the 'near-term', by that I mean within the next 6-9 months? Well, we will need something like this for the

Re: Help with traversing block statements in pragma handler

2006-12-15 Thread Diego Novillo
Ferad Zyulkyarov wrote on 12/15/06 05:02: 9: FOR_EACH_BB_FN (bb, this_cfun) 10: for (bsi = bsi_start(bb); !bsi_end_p(bsi); bsi_next(&bsi)) 11: { 12: tree stmt = bsi_stmt(bsi); 13: debug_tree(stmt); 14: /* Do something */ 15: } 16: } /* End of void hand

Re: Help with traversing block statements in pragma handler

2006-12-15 Thread Diego Novillo
Ferad Zyulkyarov wrote on 12/15/06 08:46: And something more, what is the difference between c_register_pragma and cpp_register_deferred_pragma functions? Unfortunately, I couldn't fined a descriptive information about these two functions. You need to look in ../libcpp/directives.c. Deferred p

Re: SSA_NAMES: should there be an unused, un-free limbo?

2006-12-21 Thread Diego Novillo
Robert Kennedy wrote on 12/21/06 11:37: The situation is that some SSA_NAMEs are disused (removed from the code) without being released onto the free list by release_ssa_name(). Yes, it happens if a name is put into the set of names to be updated by update_ssa. After update_ssa, it should

Re: SSA_NAMES: should there be an unused, un-free limbo?

2006-12-21 Thread Diego Novillo
Daniel Berlin wrote on 12/21/06 12:21: for (i = 0; i < num_ssa_names; i++) { tree name = ssa_name (i); if (name && !SSA_NAME_IN_FREELIST (name) DFS (name) > I see that you are not checking for IS_EMPTY_STMT. Does DFS need to access things like bb_for_stmt? In any case, that is not im

Re: SSA_NAMES: should there be an unused, un-free limbo?

2006-12-21 Thread Diego Novillo
Robert Kennedy wrote on 12/21/06 13:58: Right now we can have SSA_NAMEs in the list which are no longer used, and we have no way to tell whether they are used or not. Thus the only way to see all valid SSA_NAMEs is to walk the code. To wit: are there iteration macros somewhere that will help m

Re: SSA_NAMES: should there be an unused, un-free limbo?

2006-12-21 Thread Diego Novillo
Jeffrey Law wrote on 12/21/06 12:48: True. But remember, the stated purpose of the SSA_NAME recycling code was _not_ to track every SSA_NAME that went "dead" and recycle it, but instead to get the majority of them (and to ultimately save memory by recycling them). Orphan SSA_NAME were always ex

Re: SSA_NAMES: should there be an unused, un-free limbo?

2006-12-21 Thread Diego Novillo
Ian Lance Taylor wrote on 12/21/06 13:08: If that is acceptable, then there is no issue here. If that is not acceptable, then we need to fix the code to correctly mark SSA_NAMEs which are no longer used. Whether we recycle the memory in the unused SSA_NAMEs is a separate (and less interesting)

Re: SSA_NAMES: should there be an unused, un-free limbo?

2006-12-21 Thread Diego Novillo
Robert Kennedy wrote on 12/21/06 15:01: Something I forgot to add in my previous message. Notice that it is not altogether rare to find cases where we have more SSA names than statements. Are you walking the SSA names because you assume it's always shorter than walking the statements? No. I

Re: SSA_NAMES: should there be an unused, un-free limbo?

2006-12-22 Thread Diego Novillo
Jeffrey Law wrote on 12/22/06 01:09: On Thu, 2006-12-21 at 14:05 -0500, Diego Novillo wrote: In any case, that is not important. I agree that every SSA name in the SSA table needs to have a DEF_STMT that is either (a) an empty statement, or, (b) a valid statement still present in the IL

[mem-ssa] Updated documentation

2006-12-22 Thread Diego Novillo
I've updated the document describing Memory SSA. The section on mixing static and dynamic partitioning is still being implemented, so it's a bit sparse on details and things will probably shift somewhat before I'm done. http://gcc.gnu.org/wiki/mem-ssa Feedback welcome. Thanks.

Re: changing "configure" to default to "gcc -g -O2 -fwrapv ..."

2007-01-02 Thread Diego Novillo
Mark Mitchell wrote on 01/01/07 14:46: What a thread this has turned out to be. Indeed. In general, I'm not too thrilled with the idea of disabling transformations for the sake of non-conforming code. However, I would not mind a -fconforming flag similar to -fstrict-aliasing. I haven't ye

Re: Do we want non-bootstrapping "make" back?

2007-01-05 Thread Diego Novillo
Daniel Jacobowitz wrote on 12/30/06 02:08: Once upon a time, the --disable-bootstrap configure option wasn't necessary. "make" built gcc, and "make bootstrap" bootstrapped it. Is this behavior useful? Should we have it back again? That'd be great. I miss the old behaviour.

[RFC] Our release cycles are getting longer

2007-01-23 Thread Diego Novillo
So, I was doing some archeology on past releases and we seem to be getting into longer release cycles. With 4.2 we have already crossed the 1 year barrier. For 4.3 we have already added quite a bit of infrastructure that is all good in paper but still needs some amount of TLC. There was s

Re: [mem-ssa] Updated documentation

2007-01-24 Thread Diego Novillo
Ira Rosen wrote on 01/02/07 03:44: In the example of dynamic partitioning below (Figure 6), I don't understand why MEM7 is not killed in line 13 and is killed in line 20 later. As far as I understand, in line 13 'c' is in the alias set, and it's currdef is MEM7, so it must be killed by the store

Re: Which optimization levels affect gimple?

2007-01-24 Thread Diego Novillo
Paulo J. Matos wrote on 01/24/07 12:44: check what kind of gimple code you get with -fdump-tree-gimple and -O0 and -O3 have different results, -fdump-tree-gimple is the first dump *before* any optimizations occur. To see the effect of all the GIMPLE optimizations you should use -fdump-tree-opt

Re: [RFC] Our release cycles are getting longer

2007-01-25 Thread Diego Novillo
Mark Mitchell wrote on 01/25/07 00:09: First, I haven't had as much time to put in as RM lately as in past, so I haven't been nagging people as much. > Sure, but this is a trend that started with 3.1 and it's gotten progressively worse. Granted, we are now dealing with a much bigger project

Re: gcc compile time support for assumptions

2007-01-25 Thread Diego Novillo
Ian Lance Taylor wrote on 01/18/07 10:51: Well, internally, we do have ASSERT_EXPR. It would probably take a little work to permit the frontends to generate it, but the optimizers should understand it. By default, they do not. When I initially implemented VRP, I was adding ASSERT_EXPRs right

Re: Which optimization levels affect gimple?

2007-01-26 Thread Diego Novillo
Paulo J. Matos wrote on 01/26/07 06:52: Is the output of -fdump-tree-optimized a subset of GIMPLE? Yes. The output is an incomplete textual representation of the GIMPLE form of the program.

Re: Which optimization levels affect gimple?

2007-01-26 Thread Diego Novillo
Richard Guenther wrote on 01/26/07 07:28: It's after doing TER, so the statements are no longer valid GIMPLE statements. Silly me. Richard's right. You want the output of -fdump-tree-uncprop. That's the last GIMPLE dump (if my memory doesn't fail me again).

Re: Can C and C++ object files be linked into an executable?

2007-01-27 Thread Diego Novillo
Ray Hurst wrote on 01/27/07 16:48: I think this was the answer I was looking for. By the way, was this the correct place to post it? No. That was a language question. gcc-help or comp.std.c++ would have been a better forum. This deals with the development of GCC, not its use.

Re: Which optimization levels affect gimple?

2007-01-28 Thread Diego Novillo
Paulo J. Matos wrote on 01/28/07 18:03: On 1/24/07, Diego Novillo <[EMAIL PROTECTED]> wrote: Paulo J. Matos wrote on 01/24/07 12:44: check what kind of gimple code you get with -fdump-tree-gimple and -O0 and -O3 have different results, -fdump-tree-gimple is the first dump *befor

Re: Which optimization levels affect gimple?

2007-01-28 Thread Diego Novillo
Paulo J. Matos wrote on 01/28/07 18:08: On 1/26/07, Diego Novillo <[EMAIL PROTECTED]> wrote: Richard Guenther wrote on 01/26/07 07:28: It's after doing TER, so the statements are no longer valid GIMPLE statements. Silly me. Richard's right. You want the output of -fd

Re: 2007 GCC Developers Summit

2007-01-29 Thread Diego Novillo
Ben Elliston wrote on 01/28/07 17:45: One idea I've always pondered is to have brief (perhaps 1-2 hr) tutorials, given by people in their area of expertise, as a means for other developers to come up to speed on a topic that interests them. Is this something that appeals to others? Sounds good

Re: Which optimization levels affect gimple?

2007-01-29 Thread Diego Novillo
Paulo J. Matos wrote on 01/29/07 06:35: On 1/29/07, Diego Novillo <[EMAIL PROTECTED]> wrote: -fdump-tree-all gives you all the dumps by the high-level optimizers. -fdump-all-all gives you all the dumps by both GIMPLE and RTL optimizers. Is this -fdump-all-all version specific? Doesn&

Re: After GIMPLE...

2007-01-31 Thread Diego Novillo
Paulo J. Matos wrote on 01/30/07 10:11: Well, I spent the morning looking at the code and since what I need is only the flow of gcc up until I have the GIMPLE tree, I could add a pass after the pass which generates the gimple tree, in that pass I do what I need with the gimple tree and then call

Re: After GIMPLE...

2007-01-31 Thread Diego Novillo
Paulo J. Matos wrote on 01/31/07 11:26: So, ideally, I would like just the gcc part until the first part of the middleend where you have a 'no optimizations', language independent AST of the source file. OK, so you probably want to inject your pass right before pass_build_ssa (in init_optimiza

Re: After GIMPLE...

2007-02-01 Thread Diego Novillo
Paulo J. Matos wrote on 02/01/07 04:37: What can I do then to stop gcc to further process things? After informing the user there's no more reason on my site to continue. Stop gracefully or just stop? The latter is easy. The former involves writing code to skip all passes after a certain poin

Re: After GIMPLE...

2007-02-06 Thread Diego Novillo
Paulo J. Matos wrote on 02/06/07 14:19: Why before pass_build_ssa? (version 4.1.1) It depends on the properties your pass requires. If you ask for PROP_cfg and PROP_gimple_any then you should schedule it after the CFG has been built, but if you need PROP_ssa, then you must be after pass_bui

Re: which opt. flags go where? - references

2007-02-07 Thread Diego Novillo
Kenneth Hoste wrote on 02/07/07 08:56: [1] Almagor et al., Finding effective compilation sequences (LCES'04) [2] Cooper et al., Optimizing for Reduced Code Space using Genetic Algorithms (LCTES'99) [3] Almagor et al., Compilation Order Matters: Exploring the Structure of the Space of Compila

Re: Performance regression on the 4.3 branch?

2007-02-14 Thread Diego Novillo
H. J. Lu wrote on 02/14/07 09:22: Is this the saem as http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30735 No, it isn't.

Re: Finalizer after pass?

2007-02-28 Thread Diego Novillo
Paulo J. Matos wrote on 02/28/07 11:07: Is there a way to install a finalizing function? (to be called after all functions in the pass have been processed) Or to know if the current function being processed is the last one? (maybe if I know the number of times my pass will be called!) Perhaps i

Re: Finalizer after pass?

2007-03-01 Thread Diego Novillo
Paulo J. Matos wrote on 03/01/07 10:41: My IPA pass seems to be run only for -On, n>=1, is there a way to make it ran even for -O0? No, we only run IPA passes if flag_unit_at_a_time is set. That only is set when optimizing. At -O0, we simply emit functions individually.

Re: Accessing function code from CFG

2007-03-02 Thread Diego Novillo
Paulo J. Matos wrote on 03/02/07 10:12: In an IPA pass, for each CFG node, I have a tree decl member from which I can access the return type, name of the function, argument names and its types, but I can't seem to find a way to get the function code. I would guess it would be a basic block list

Re: Massive SPEC failures on trunk

2007-03-03 Thread Diego Novillo
Grigory Zagorodnev wrote on 03/03/07 02:27: > There are three checkins, candidates for the root of regression: > http://gcc.gnu.org/viewcvs?view=rev&revision=122487 > http://gcc.gnu.org/viewcvs?view=rev&revision=122484 > http://gcc.gnu.org/viewcvs?view=rev&revision=122479 > SPEC

Re: Improvements of the haifa scheduler

2007-03-05 Thread Diego Novillo
Maxim Kuvyrkov wrote on 03/05/07 02:14: >o Fix passes that invalidate tree-ssa alias export. Yes, this should be good and shouldn't need a lot of work. >o { Fast but unsafe Gupta's aliasing patch, Unsafe tree-ssa alias > export } in scheduler's data speculation. "unsafe" alias export?

Re: Signed overflow patches OK for 4.2?

2007-03-05 Thread Diego Novillo
Eric Botcazou wrote on 03/05/07 15:59: >> Then it should also be disabled by default also in 4.1.3 and should >> have been disabled in 4.1.2 which was only released last month so >> there is no reason why it has to be disabled in 4.2.0 if everyone is >> using 4.1 anyways. > > VRP has become more a

Re: Signed overflow patches OK for 4.2?

2007-03-05 Thread Diego Novillo
Ian Lance Taylor wrote on 03/05/07 18:23: > I gather you are saying here that it is OK with you to backport > -fstrict-overflow/-Wstrict-overflow to 4.2. Yes.

Re: Massive SPEC failures on trunk

2007-03-06 Thread Diego Novillo
Ian Lance Taylor wrote on 03/06/07 09:49: > "Vladimir Sysoev" <[EMAIL PROTECTED]> writes: > >> Bug has been already reported >> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31037 > > I don't think this one could have anything to do with my VRP changes, > but I'll try to take a look later today. >

Re: Accessing function code from CFG

2007-03-07 Thread Diego Novillo
Paulo J. Matos wrote on 03/07/07 10:36: > Is this normal? It seems there are no basic blocks set for the > functions. Probably my pass is being run before the bbs are created? Looks like it. Set a breakpoint in build_tree_cfg and your function. If gdb stops in your function first, you found the

Re: Accessing function code from CFG

2007-03-07 Thread Diego Novillo
Paulo J. Matos wrote on 03/07/07 11:43: > What am I missing? You are debugging the wrong binary. I'd suggest you browse through http://gcc.gnu.org/wiki/DebuggingGCC You need to debug one of cc1/cc1plus/jc1

Re: Libiberty functions

2007-03-08 Thread Diego Novillo
Dave Korn wrote on 03/08/07 07:30: > (Also, bear in mind that if you want your new pass to work correctly with > pre-compiled headers, you really ought to be using Gcc's garbage-collected > memory management facilities. See > http://gcc.gnu.org/onlinedocs/gccint/Type-Information.html#Type-Infor

Re: Import GCC 4.2.0 PRs

2007-03-13 Thread Diego Novillo
Richard Guenther wrote on 03/13/07 05:57: > Yes, this is a similar issue as PR30840 on the mainline, the CCP propagator > goes > up the lattice in some cases. This is something Diego promised me to look at > ;) > But we might be able to paper over this issue in 4.2 ... I'll take a look later t

Re: Query regarding struct variables in GIMPLE

2007-03-13 Thread Diego Novillo
Karthikeyan M wrote on 03/13/07 21:32: > appears as x.j = 10 inside the GIMPLE dump of the function body . Is > there some place from where I can get it in the following( or any > other simpler ) form No, we don't unnecessarily take addresses of variables. Structure references are left intact.

Re: can't find VCG viewer

2007-03-15 Thread Diego Novillo
05 Free Software Foundation # Contributed by Diego Novillo <[EMAIL PROTECTED]>. # # This script is Free Software, and it can be copied, distributed and # modified as defined in the GNU General Public License. A copy of # its license can be downloaded from http://www.gnu.org/copyleft/gpl.html i

ANNOUNCE: Gelato ICE GCC track, San Jose, CA, April 16-18, 2007

2007-03-15 Thread Diego Novillo
ing Work, Zdenek Dvorak, SuSE - Interprocedural Optimization Framework, Jan Hubicka, SuSE - Update on Superblock Work, Bob Kidd, University of Illinois - GCC and Osprey Update, Shin-Ming Liu, HP - Compiling Debian Using GCC 4.2 and Osprey, Martin Michlmayr, Debian - Update on Alias Analysis Wor

Re: Query regarding struct variables in GIMPLE

2007-03-15 Thread Diego Novillo
Karthikeyan M wrote on 03/15/07 15:06: > Thanks. > Can you point me to documentation / code where I can get more > information about these artificial tags ? gcc/tree-ssa-alias.c:create_structure_vars() The section on Structural alias analysis in the internals documentation should also help.

Re: Google SoC Project Proposal: Better Uninitialized Warnings

2007-03-19 Thread Diego Novillo
Manuel López-Ibáñez wrote on 03/17/07 14:28: > This is the project proposal that I am planning to submit to Google > Summer of Code 2007. It is based on previous work of Jeffrey Laws, > Diego Novillo and others. I hope someone will find it interesting and Yes, I can act as a men

Re: We're out of tree codes; now what?

2007-03-19 Thread Diego Novillo
Steven Bosscher wrote on 03/19/07 10:14: > IMHO this is still the better solution than the subcodes idea. Agreed. If the performance hit is not too large, getting a wider tree code is much simpler to maintain.

Re: Google SoC Project Proposal: Better Uninitialized Warnings

2007-03-19 Thread Diego Novillo
Manuel López-Ibáñez wrote on 03/19/07 14:45: > Is building this early SSA form something that can be tackled by a > newbie developer with almost zero middle-end knowledge within the time > frame of the Summer of Code? Yes, it should not be too hard. See tree_lowering_passes. You may also want t

Re: Creating parameters for functions calls

2007-03-28 Thread Diego Novillo
Antoine Eiche wrote on 03/27/07 13:28: > Thanks for any help in finishing this pass See how omp-low.c builds calls to the child parallel functions (create_omp_child_function).

Re: GCC 4.2.0 Status Report (2007-03-22)

2007-03-29 Thread Diego Novillo
Mark Mitchell wrote on 03/22/07 22:10: > Diego, Roger, Jason, would you please let me know if you can work on the > issues above? I'm going to try to test Jim's patch for PR 31273 tonight. I'm looking at 29585 today.

Re: GCC 4.2.0 Status Report (2007-03-22)

2007-03-30 Thread Diego Novillo
Mark Mitchell wrote on 03/22/07 22:10: > PR 29585 (Novillo): ICE-on-valid This one seems to be a bug in the C++ FE, compounded by alias analysis papering over the issue. We are failing to mark DECLs in vtbl initializers as addressable. This causes the failure during aliasing because it is added

Re: GCC 4.2.0 Status Report (2007-03-22)

2007-03-30 Thread Diego Novillo
Jason Merrill wrote on 03/30/07 11:45: > Looks fine to me. Many places in the front end use build_address rather > than build1 (ADDR_EXPR) to avoid this issue. Yeah, I found other cases in Java and in c-*.c. In one case, we are building the address of a LABEL_DECL for a computed goto (finish_l

Re: GCC 4.2.0 Status Report (2007-03-22)

2007-03-30 Thread Diego Novillo
ages. I'll test Ada later on, but I need input from all the FE folks. Thanks. 2007-03-30 Diego Novillo <[EMAIL PROTECTED]> * tree.c (build1_stat): When building ADDR_EXPR of a DECL, mark it addressable. * tree-ssa-alias.c (add_may_alias): Assert that ALIAS may be aliased. *

Re: GCC 4.2.0 Status Report (2007-03-22)

2007-03-30 Thread Diego Novillo
Diego Novillo wrote on 03/30/07 13:21: > This patch bootstraps all default languages. I'll test Ada later on, > but I need input from all the FE folks. Sigh. I forgot to include Mark's suggestion in the patch. With this patch, calling build_address in dfs_accumulate_vtbl_inits

Re: GCC 4.2.0 Status Report (2007-03-22)

2007-03-30 Thread Diego Novillo
Richard Kenner wrote on 03/30/07 13:45: > One concern I have in marking a DECL addressable that early on is that > it may stay "stuck" even if the ADDR_EXPR is later eliminated. This can > be common in inlined situations, I thought. The aliaser is fairly aggressive at removing TREE_ADDRESSABLE f

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
Richard Guenther wrote on 04/10/07 08:01: > It looks decent, but I also would go one step further with location > information and > PHI node "canonicalization". What would be the "step further" for PHI nodes? We haven't really left anything to spare inside GS_PHI. For insn locators, the idea is

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
Andrew Pinski wrote on 04/10/07 01:43: > Yes clobbers for asm are strings and don't really need to be full > trees. This should help out more. though it does make it harder to > implement. Hmm, could be. The problem is that __asm__ are so infrequent that I'm not sure it's worth the additional

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
J.C. Pizarro wrote on 04/10/07 01:24: > 1. Are there fields for flags, annotations, .. for special situations? Yes, some instructions have no sub-codes and will use the subcodes field for flags. Annotations and such will be discouraged as much as possible. If an attribute is very frequently use

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
J.C. Pizarro wrote on 04/10/07 02:08: > However, they've appeared the "conditional moves" to don't jump > and consecuently to reduce the penalization of the conditional jump. We already have conditional moves. Notice that subcodes for GS_ASSIGN have the same meaning as they do today. GS_ASSIGN:

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
Steven Bosscher wrote on 04/10/07 02:43: > On 4/10/07, Diego Novillo <[EMAIL PROTECTED]> wrote: >> Thoughts/comments on the proposal? > > This looks a lot like the RTL insn! > > For locus, you can use just an "int" instead of a word if you use the > same r

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
J.C. Pizarro wrote on 04/10/07 08:17: > Is a need to build several tables in HTML of the codes (with subcodes). > Each table has an explanation. It's like a roadmap. Hmm, what?

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
J.C. Pizarro wrote on 04/10/07 10:24: > By example, worth weigths, use's frecuencies, statistical data, ... of GIMPLE. > To debug the GIMPLE too. That's kept separately. Pointer maps, hash tables... > How you debug the failed GIMPLE? Lots of debug_*() functions available. You also use -fdump-

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
Richard Guenther wrote on 04/10/07 10:45: > On 4/10/07, Diego Novillo <[EMAIL PROTECTED]> wrote: >> Steven Bosscher wrote on 04/10/07 02:43: >>> I don't really like the idea for promoting subcodes to first-level >>> codes, like you do for GS_COND NE and EQ.

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
Richard Guenther wrote on 04/10/07 11:02: > Well, we now have a tcc_comparison for example - is the gimple statement code > something like that? Or will the grouping of gimple statement codes > to code classes > persist? If we were able to encode the class directly in the gimple > statement we >

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
Ian Lance Taylor wrote on 04/10/07 13:53: > Don't you need four operands for a conditional move? Is that what you > meant? Ah, yes. The two comparison operands and the two assignment values.

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
Ian Lance Taylor wrote on 04/10/07 13:53: > I seem to recall that at one point somebody worked on a gensimplify > program or something like that. Would it make sense to revive that > approach, and use it to generate simplifiers for trees, GIMPLE, and > RTL, to avoid triplification of these basic

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
Ian Lance Taylor wrote on 04/10/07 14:13: > Diego Novillo <[EMAIL PROTECTED]> writes: > >> Following up on the recent discussion about GIMPLE tuples >> (http://gcc.gnu.org/ml/gcc/2007-03/msg01126.html), we have summarized >> our main ideas and implementation pro

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
Daniel Berlin wrote on 04/10/07 15:18: > There is no need for the addresses_taken bitmap, it's a waste of space. Awesome. I was going to check, but I forgot. I did check the stmt_makes_clobbering_call and that one is also write-only. > Neither of these really needs it, and i have a patch to re

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
Dave Korn wrote on 04/10/07 15:39: > Reverse-traversing an array really isn't all that painful or slow! Instructions are not laid out in an array. Insertion and removal is done constantly. It would be very expensive to use arrays to represent basic blocks. Insertions and deletions are all to

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
Andrew Pinski wrote on 04/10/07 16:04: > On 4/10/07, Andrew Pinski <[EMAIL PROTECTED]> wrote: >> Here is the quick patch (thanks to the work done for gimple tuple) >> which does this, removes the unneeded type from phi nodes. I have not >> tested it except for a quick test on some small testcases

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
Richard Henderson wrote on 04/10/07 20:30: > Perhaps I misunderstood what Diego was proposing, but I > would have thought the subcode would continue to be the > tree PLUS_EXPR, and not a GS_PLUS something. Yes. > With that, build_foldN does essentially what we want, > without having to regenera

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
Ian Lance Taylor wrote on 04/10/07 20:49: > I'm having a hard time seeing it. fold_build2 calls fold_binary; I > agree that if we can handle fold_binary, we can handle fold_build2. > But fold_binary takes trees as parameters. How are you thinking of > calling it? the gimple version of z = x + y

Re: RFC: GIMPLE tuples. Design and implementation proposal

2007-04-10 Thread Diego Novillo
Richard Henderson wrote on 04/10/07 21:19: > On Tue, Apr 10, 2007 at 08:48:27PM -0400, Diego Novillo wrote: >> Sure, but things will be different if/when the operands stop being 'tree'. > > We'll burn that bridge when we come to it. Works for me.

New wiki page on testing compile times and memory usage

2007-04-12 Thread Diego Novillo
I've added a collection of scripts that I have gathered over time to test compile time and memory usage when making changes to the compiler. http://gcc.gnu.org/wiki/PerformanceTesting If you have other scripts or tests that could be used for this, please add them to this page. Thanks.

GIMPLE tuples document uploaded to wiki

2007-04-13 Thread Diego Novillo
I have added the design document and links to most of the discussions we've had so far. Aldy updated the document to reflect the latest thread. http://gcc.gnu.org/wiki/tuples

Re: GIMPLE tuples document uploaded to wiki

2007-04-14 Thread Diego Novillo
Jan Hubicka wrote on 04/14/07 16:14: > Looks great, still I think "locus" and "block" could be both merged into > single integer, like RTL land has INSN_LOCATOR. That's the idea. But it's simpler to do this for now. The insn locator is easily done at anytime during the implementation. > Also s

Re: GIMPLE tuples document uploaded to wiki

2007-04-14 Thread Diego Novillo
Jan Hubicka wrote on 04/14/07 21:14: > I just wondered if your document is documenting the final shape or what > should be done during hte first transition. If the second, probably 2 > words should be accounted for location as source_locues is currently a > structure. The document is describing

  1   2   3   4   5   6   7   8   9   10   >