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
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
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
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
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
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.
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
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
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
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
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
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.
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
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
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
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
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
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
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
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*.
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,
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
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
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
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
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
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
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
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)
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
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
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.
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
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.
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
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
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
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
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
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.
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).
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.
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
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
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
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&
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
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
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
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
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
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.
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
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.
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
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
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?
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
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.
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.
>
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
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
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
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
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.
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
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
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.
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
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.
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
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).
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.
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
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
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.
*
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
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
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
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
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
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:
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
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?
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-
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.
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
>
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.
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
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
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
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
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
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
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
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.
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.
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
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
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 - 100 of 1389 matches
Mail list logo