Re: [PATCH,i386] fma,fma4 and xop flags

2012-08-08 Thread Richard Guenther
On Wed, Aug 8, 2012 at 1:31 PM, wrote: > Hello, > > Bdver2 cpu supports both fma and fma4 instructions. > Previous to patch, option "-mno-xop" removes "-mfma4". > Similarly, option "-mno-fma4" removes "-mxop". Eh? Why's that? I think we should disentangle -mxop and -mfma4 instead. Otherwise,

[PATCH][4/n] Allow anonymous SSA names

2012-08-08 Thread Richard Guenther
,max_decl_uid + num_ssa_names] for decls in its bitmap. Eventually this pass will get rewritten by Micha anyway who has pending patches to make va_arg survive until after inlining. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. 2012-08-08 Richard Guenther * tree-call

[PATCH] Add virual_operand_p predicate

2012-08-08 Thread Richard Guenther
... Bootstrap & regtest pending on x86_64-unknown-linux-gnu. Richard. 2012-08-08 Richard Guenther * tree-ssa-operands.h (virtual_operand_p): Declare. * tree-ssa-operands.c (virtual_operand_p): New predicate. * gimple.c (is_gimple_reg): Use virtual_opera

Re: Commit: RL78: Include tree-pass.h

2012-08-08 Thread Richard Guenther
On Wed, Aug 8, 2012 at 3:35 PM, Ian Lance Taylor wrote: > On Wed, Aug 8, 2012 at 1:45 AM, Richard Guenther > wrote: >> On Wed, Aug 8, 2012 at 10:28 AM, Nick Clifton wrote: >>> Hi DJ, >>> >>> I am applying the following patch to the gcc mainline as

Re: Commit: RL78: Include tree-pass.h

2012-08-08 Thread Richard Guenther
On Wed, Aug 8, 2012 at 4:06 PM, Ian Lance Taylor wrote: > On Wed, Aug 8, 2012 at 7:03 AM, Richard Guenther > wrote: > >> I don't think we really want that (machine dependent passes). It seems >> we cannot get away with it (so we have mdreorg). Allowing (some) f

Re: [PATCH] Strength reduction part 3 of 4: candidates with unknown strides

2012-08-09 Thread Richard Guenther
On Wed, 8 Aug 2012, H.J. Lu wrote: > On Wed, Aug 1, 2012 at 10:36 AM, William J. Schmidt > wrote: > > Greetings, > > > > Thanks for the review of part 2! Here's another chunk of the SLSR code > > (I feel I owe you a few beers at this point). This performs analysis > > and replacement on groups

Re: Commit: RL78: Include tree-pass.h

2012-08-09 Thread Richard Guenther
On Wed, Aug 8, 2012 at 5:29 PM, Richard Henderson wrote: > On 08/08/2012 07:19 AM, Ian Lance Taylor wrote: >>> > I was suggesting to for example register a 2nd mdreorg-like pass and >>> > add a 2nd target hook. regstack should get the same treatment. >> If the mechanism is a proliferation of mdre

Re: [cxx-conversion] Make double_int a class with methods and operators. (issue6443093)

2012-08-09 Thread Richard Guenther
On Thu, Aug 9, 2012 at 12:17 AM, Lawrence Crowl wrote: > On 8/7/12, Mike Stump wrote: >> On Aug 7, 2012, at 11:38 AM, Lawrence Crowl wrote: >> > Hm. There seems to be significant opinion that there should not be any >> > implicit conversions. I am okay with operations as above, but would like >

Re: [cxx-conversion] Make double_int a class with methods and operators. (issue6443093)

2012-08-09 Thread Richard Guenther
On Thu, Aug 9, 2012 at 12:25 AM, Lawrence Crowl wrote: > On 8/8/12, Richard Guenther wrote: >> On Aug 7, 2012 Lawrence Crowl wrote: >> > We should probably think about naming conventions for mutating >> > operations, as I expect we will want them eventually. >&

Re: [PATCH,i386] fma,fma4 and xop flags

2012-08-09 Thread Richard Guenther
looks reasonable then. I'll defer to x86 maintainers for approval though. Thanks, Richard. > Regards > Ganesh > > -Original Message- > From: Richard Guenther [mailto:richard.guent...@gmail.com] > Sent: Wednesday, August 08, 2012 5:12 PM > To: Gopalasubramanian, Gan

Re: [cxx-conversion] Support garbage-collected C++ templates

2012-08-09 Thread Richard Guenther
On Wed, Aug 8, 2012 at 11:27 PM, Diego Novillo wrote: > On 12-08-08 17:25 , Gabriel Dos Reis wrote: > >> Aha, so it is an ordering issue, e.g. declarations being generated >> after they have been seen used in an instantiation. >> >> We might want to consider including the header file (that contai

[PATCH][5/n] Allow anonymous SSA names

2012-08-09 Thread Richard Guenther
Another set of small changes. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2012-08-09 Richard Guenther * tree.h (SSA_VAR_P): Simplify. * tree-ssanames.c (make_ssa_name_fn): Strengthen assert. * fold-const.c (fold_comparison): Check for

Re: [cxx-conversion] Support garbage-collected C++ templates

2012-08-09 Thread Richard Guenther
On Thu, Aug 9, 2012 at 2:44 PM, Diego Novillo wrote: > On Thu, Aug 9, 2012 at 5:03 AM, Richard Guenther > wrote: > >> But now with doing it in stages you end up with (this) first stage >> that complicates >> gengtype to support a very small subset of C++ types (namely

[PATCH] Fix PR54027

2012-08-09 Thread Richard Guenther
This fixes PR54027, VRP treating overflow in signed left-shifts undefined. Bootstrap and regtest pending on x86_64-unknown-linux-gnu. Richard. 2012-08-09 Richard Guenther PR tree-optimization/54027 * tree-vrp.c (extract_range_from_binary_expr_1): Merge RSHIFT_EXPR

Re: [PATCH] Set current_function_decl in {push,pop}_cfun and push_struct_function

2012-08-09 Thread Richard Guenther
On Thu, Aug 9, 2012 at 4:26 PM, Martin Jambor wrote: > Hi, > > I've always found it silly that in order to change the current > function one has to call push_cfun and pop_cfun which conveniently set > and restore the value of cfun and in addition to that also set > current_function_decl and usuall

Re: [PATCH][7/6] Allow anonymous SSA names

2012-08-10 Thread Richard Guenther
On Thu, 9 Aug 2012, Diego Novillo wrote: > On 12-08-09 09:20 , Richard Guenther wrote: > > > if (interm_type) > >{ > > /* Create a type conversion HALF_TYPE->INTERM_TYPE. */ > > ! tmp = create_tmp_reg (interm_type,

Re: [PATCH][7/6] Allow anonymous SSA names

2012-08-10 Thread Richard Guenther
On Fri, 10 Aug 2012, Jan Hubicka wrote: > > > > This converts most users of create_tmp_{var,reg} to use anonymous > > SSA names. To give you one more reason to look at 6/6 ;) > > > > Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. > > Very cool. Thanks for the hard work. Did yo

Re: [PATCH] Fix PR54211

2012-08-10 Thread Richard Guenther
mp; POINTER_TYPE_P (TREE_TYPE (c->base_expr))); > + && POINTER_TYPE_P (c->cand_type)); > > /* If all candidates have already been replaced under other >interpretations, nothing remains to be done. */ > > > -- Richard Guenther SUSE / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 GF: Jeff Hawn, Jennifer Guild, Felix Imend

Re: [patch] Fix a couple of VEC_reserve uses, speed up update_ssa a bit

2012-08-10 Thread Richard Guenther
On Fri, Aug 10, 2012 at 12:20 AM, Steven Bosscher wrote: > On Fri, Aug 10, 2012 at 12:15 AM, Richard Henderson wrote: >> On 08/09/2012 03:06 PM, Steven Bosscher wrote: >>> + unsigned old_len = name_to_id ? VEC_length (unsigned, name_to_id) : >>> 0; >>> + VEC_reserve (unsigned, heap, na

[PATCH] Fix anonymous decl dumping

2012-08-10 Thread Richard Guenther
Bootstrap & regtest in progress. Richard. 2012-08-10 Richard Guenther * tree-cfg.c (dump_function_to_file): Make sure to dump anonymous SSA names when there are no local decls. Index: gcc/tree-cfg.c === ---

[PATCH] Fix PR54219

2012-08-10 Thread Richard Guenther
This fixes an error I introduced when making the VECTOR_CST representation changes. Bootstrap and regtest pending on x86_64-unknown-linux-gnu. Richard. 2012-08-10 Richard Guenther PR middle-end/54219 * fold-const.c (fold_ternary_loc): Do not reverse the mask when

[PATCH][RFC] Add -Og

2012-08-10 Thread Richard Guenther
2012-08-10 Richard Guenther PR other/53316 * common.opt (optimize_debug): New variable. (Og): New optimization level. * doc/invoke.texi (Og): Document. * opts.c (maybe_default_option): Add debug parameter. (maybe_default_options)

[PATCH] Fix PR54109

2012-08-10 Thread Richard Guenther
and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2012-08-10 Richard Guenther PR tree-optimization/54109 * tree-ssa-forwprop.c (forward_propagate_addr_into_variable_array_index): Remove. (forward_propagate_addr_expr_1): Adjust. * gcc.dg

Re: Unbreak lto plugin

2012-08-11 Thread Richard Guenther
On Sat, Aug 11, 2012 at 5:51 PM, Jan Hubicka wrote: > Hi, > my prevoius LTO cleanup run into problem with plugin enabled builds; > lto-plugin is stupid enought to confused symtab_nodes section with symtab > because it ignores the suffixes. Err, I suppose we should fix the plugin as well. It like

Re: PR 54193: raw gimple dump of vec_perm_expr

2012-08-12 Thread Richard Guenther
On Sat, Aug 11, 2012 at 10:37 PM, Marc Glisse wrote: > Hello, > > I'll have to retest this patch tomorrow (although I don't expect the > modified code is ever called), for some reason the testsuite took twice as > long as usual to run and showed some weird stuff tonight. > > There doesn't seem to

Re: [patch] Reduce memory overhead for large functions

2012-08-13 Thread Richard Guenther
On Sun, Aug 12, 2012 at 11:49 PM, Steven Bosscher wrote: > Hello, > > This patch tried to use non-clearing memory allocation where possible. > This is especially important for very large functions, when arrays of > size in the order of n_basic_blocks or num_ssa_names are allocated to > hold sparse

[PATCH] Fix PR54200

2012-08-13 Thread Richard Guenther
also gcc.target/i386/pad-10.c FAILs, because appearantly whatever is responsible for not issueing padding nops is confused by the no longer occuring coalescing at out-of-SSA time. Thus clearly a pre-existing bug and simply a weak testcase. Applied. Richard. 2012-08-13 Richard Guenther

Re: Merge C++ conversion into trunk (0/6 - Overview)

2012-08-13 Thread Richard Guenther
On Sun, Aug 12, 2012 at 10:04 PM, Diego Novillo wrote: > I will be sending 6 patches that implement all the changes we > have been making on the cxx-conversion branch. As described in > http://gcc.gnu.org/ml/gcc/2012-08/msg00015.html, these patches > change the default bootstrap process so that s

Re: Merge C++ conversion into trunk (5/6 - double_int rewrite)

2012-08-13 Thread Richard Guenther
On Sun, Aug 12, 2012 at 11:30 PM, Marc Glisse wrote: > On Sun, 12 Aug 2012, Diego Novillo wrote: > >> This implements the double_int rewrite. >> >> See http://gcc.gnu.org/ml/gcc-patches/2012-08/msg00711.html for >> details. >> >> Diego. > > > I am taking it as a chance to ask a couple questions ab

Re: combine permutations in gimple

2012-08-13 Thread Richard Guenther
On Sat, Aug 11, 2012 at 2:25 PM, Marc Glisse wrote: > On Fri, 10 Aug 2012, Marc Glisse wrote: > >> this patch detects permutations of permutations and merges them. It also >> canonicalizes permutations a bit more. >> >> There are several issues with this patch: >> >> 1) I am not sure we always wan

Re: [PATCH] Fix some undefined behavior spots in gcc sources (PR c/53968)

2012-08-13 Thread Richard Guenther
On Mon, Aug 13, 2012 at 2:01 PM, Jakub Jelinek wrote: > Hi! > > John Regehr discovered a couple of spots in GCC sources that invoke > undefined behavior during bootstrap/regtest, the following patch fixes most > of them. I couldn't reproduce the diagnostic.c failure and would like to > leave the

[PATCH] Remove basic_block->loop_depth

2012-08-13 Thread Richard Guenther
Accessing loop_depth (bb->loop_father) isn't very expensive. The following removes the duplicate info in basic-blocks which is not properly kept up-to-date at the moment. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. 2012-08-13 Richard Guenther

[PATCH] Fix loop dumping ICEs

2012-08-13 Thread Richard Guenther
Bootstrapped on x86_64-unknown-linux-gnu, committed. Richard. 2012-08-13 Richard Guenther * tree-cfg.c (print_loop): Avoid ICEing for loops marked for removal and loops with multiple latches. Index: gcc/tree-cfg.c

Re: combine permutations in gimple

2012-08-13 Thread Richard Guenther
On Mon, Aug 13, 2012 at 3:03 PM, Marc Glisse wrote: > On Mon, 13 Aug 2012, Richard Guenther wrote: > >> On Sat, Aug 11, 2012 at 2:25 PM, Marc Glisse wrote: >>> >>> On Fri, 10 Aug 2012, Marc Glisse wrote: >>> >>>> 1) I am not sure we always want

Re: combine permutations in gimple

2012-08-13 Thread Richard Guenther
On Mon, Aug 13, 2012 at 3:12 PM, Ramana Radhakrishnan wrote: >> >> I guess people will complain soon enough if this causes horrible performance >> regressions in vectorized code. > > Not having looked at your patch in great detail,. surely what we don't > want is a situation where 2 constant permu

Re: combine permutations in gimple

2012-08-13 Thread Richard Guenther
On Mon, Aug 13, 2012 at 4:12 PM, Ramana Radhakrishnan wrote: > On 13 August 2012 14:54, Jakub Jelinek wrote: >> On Mon, Aug 13, 2012 at 03:45:00PM +0200, Marc Glisse wrote: >>> On Mon, 13 Aug 2012, Jakub Jelinek wrote: >>> >>> >On Mon, Aug 13, 2012 at 0

Re: Merge C++ conversion into trunk (5/6 - double_int rewrite)

2012-08-14 Thread Richard Guenther
On Mon, 13 Aug 2012, Lawrence Crowl wrote: > On 8/13/12, Richard Guenther wrote: > > Increment/decrement operations did not exist, please do not add > > them at this point. > > Note that I have also added +=, -= and *= operations. Having them > has three advant

Re: [PATCH][RFC] Fixing instability of -fschedule-insns for x86

2012-08-14 Thread Richard Guenther
On Mon, Aug 13, 2012 at 9:39 PM, Igor Zamyatin wrote: > Hi all! > > Patch aims to fix instability introduced by first scheduler on x86. In > particular it targets following list: > > [1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46843 > [2] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46829 > [3]

[PATCH] Add update-ssa verification code

2012-08-14 Thread Richard Guenther
This adds verification code that we do not try to rewrite a symbol into SSA form that is already partly in SSA form. That would lead to silent wrong-code generation. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2012-08-14 Richard Guenther * tree

Re: [patch] Reduce memory overhead for large functions

2012-08-14 Thread Richard Guenther
On Mon, Aug 13, 2012 at 10:49 AM, Richard Guenther wrote: > On Sun, Aug 12, 2012 at 11:49 PM, Steven Bosscher > wrote: >> Hello, >> >> This patch tried to use non-clearing memory allocation where possible. >> This is especially important for very large functions,

[PATCH] Speed up PRE insertion

2012-08-14 Thread Richard Guenther
pending on x86_64-unknown-linux-gnu. Richard. 2012-08-14 Richard Guenther * tree-ssa-pre.c (do_regular_insertion): Use a VEC indexed by pred edge index for avail. (do_partial_partial_insertion): Likewise. (insert_into_preds_of_block): Adjust. Index: gcc/tree

Re: [patch] Use gcc_checking_assert in dominance.c

2012-08-14 Thread Richard Guenther
On Tue, Aug 14, 2012 at 12:03 PM, Steven Bosscher wrote: > Hello, > > Checking overhead in dominance.c gives measurable compile time > increases on a set of cc1-i files. Most of the checking should be done > only with non-release checks enabled. > > Bootstrapped&tested on powerpc64-unknown-linux-g

Re: [patch] Verify loop fathers

2012-08-14 Thread Richard Guenther
On Tue, Aug 14, 2012 at 12:07 PM, Steven Bosscher wrote: > Hello, > > Verifying loop fathers now passes on powerpc64-unknown-linux-gnu. > > Also speed up fix_loop_structure by requiring DOM_OK so that fast DOM > queries are available. > > Bootstrapped&tested on powerpc64-unknown-linux-gnu. OK for

Re: [PATCH] Remove basic_block->loop_depth

2012-08-14 Thread Richard Guenther
On Tue, 14 Aug 2012, Ulrich Weigand wrote: > Richard Guenther wrote: > > > Accessing loop_depth (bb->loop_father) isn't very expensive. The > > following removes the duplicate info in basic-blocks which is not > > properly kept up-to-date at the moment. >

Re: [PATCH] Remove basic_block->loop_depth

2012-08-14 Thread Richard Guenther
On Tue, 14 Aug 2012, Steven Bosscher wrote: > On Tue, Aug 14, 2012 at 12:48 PM, Richard Guenther wrote: > > If SPU md reorg would like to look at loop structures it should > > compute them. Simply call flow_loops_find, which hopefully works > > in CFG RTL mode (whic

Re: [PATCH] Add update-ssa verification code

2012-08-14 Thread Richard Guenther
On Tue, 14 Aug 2012, Richard Guenther wrote: > > This adds verification code that we do not try to rewrite a symbol > into SSA form that is already partly in SSA form. That would lead > to silent wrong-code generation. > > Bootstrapped and tested on x86_64-unknown-linux-gnu

[PATCH] Create anonymous SSA names for force_gimple_operand

2012-08-14 Thread Richard Guenther
trunk. Richard. 2012-08-14 Richard Guenther * gimplify.c (create_tmp_from_val): Mark temporary with DECL_GIMPLE_REG_P here ... (internal_get_tmp_var): ... instead of here. If we go into SSA create an SSA name instead of a VAR_DECL. (gimplify_modify_expr

[PATCH][build] Fix PR54138, make --without-cloog work

2012-08-14 Thread Richard Guenther
. 2012-08-14 Richard Guenther PR bootstrap/54138 * configure.ac: Re-organize ISL / CLOOG checks to allow disabling with either --without-isl or --without-cloog. * configure: Regenerated. * config/cloog.m4: Adjust. * config/isl.m4: Adjust. Index

Re: [PATCH][RFC] Fixing instability of -fschedule-insns for x86

2012-08-14 Thread Richard Guenther
On Tue, Aug 14, 2012 at 2:02 PM, Uros Bizjak wrote: > On Tue, Aug 14, 2012 at 1:51 PM, Yuri Rumyantsev wrote: > >> 2. Passing function arguments in HW registers. >> The main problem here is that backward copy propagation phase (aka >> combine instructions) can propagate HW argument registers to >

Re: [PATCH][RFC] Fixing instability of -fschedule-insns for x86

2012-08-14 Thread Richard Guenther
On Tue, Aug 14, 2012 at 2:45 PM, Jakub Jelinek wrote: > On Tue, Aug 14, 2012 at 02:40:42PM +0200, Richard Guenther wrote: >> On Tue, Aug 14, 2012 at 2:02 PM, Uros Bizjak wrote: >> > On Tue, Aug 14, 2012 at 1:51 PM, Yuri Rumyantsev >> > wrote: >> > >&

[PATCH][RFC] Fix PR54201, share constant pool entries for CONST_VECTORs

2012-08-14 Thread Richard Guenther
share constant parts (beware of endian and odd alignment issues) by means of simply inserting more entries into the hashtable. Not sure if offsetted .LC references are valid as result of force_const_mem though (well, we could try to share the part at offset zero). Thanks, Richard. 2012-08-14 Ri

Re: [PATCH][RFC] Fix PR54201, share constant pool entries for CONST_VECTORs

2012-08-14 Thread Richard Guenther
On Tue, 14 Aug 2012, Richard Guenther wrote: > > This implements constant pool entry sharing for CONST_VECTORs with the > same bit-pattern by canonicalizing them to the same-sized mode with > the least number of elements. Ideally we would be able to hash and > compar

Re: [patch] timevar TLC

2012-08-14 Thread Richard Guenther
On Tue, Aug 14, 2012 at 10:45 PM, Diego Novillo wrote: > On 12-08-14 16:39 , Steven Bosscher wrote: > >> I seriously doubt that ;-) >> >> Anyway, it's not so simple, this 80-len(everything else). I was >> looking for a solution like that but it can't be done: there is no >> "everything else". It d

Re: [PATCH] Fix PR54240

2012-08-15 Thread Richard Guenther
ated for it. */ > - if (!optab_handler (cmov_optab, TYPE_MODE (TREE_TYPE (arg1 > + if (optab_handler (movcc_optab, TYPE_MODE (TREE_TYPE (arg1))) > + == CODE_FOR_nothing) > continue; > >/* Both statements must be assignments whose RHS is a COMPONENT_REF. > */ > > > -- Richard Guenther SUSE / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 GF: Jeff Hawn, Jennifer Guild, Felix Imend

Re: [PATCH] Fix PR54245

2012-08-15 Thread Richard Guenther
of an initializer > + of the form "short int T = _1 * 5;" followed by a cast to > + int, which could overflow incorrectly. Had we recorded _2 or > + (int)_1 as the stride, this wouldn't happen. However, doing > + this breaks other opportunities, so

Re: Merge C++ conversion into trunk (5/6 - double_int rewrite)

2012-08-15 Thread Richard Guenther
On Tue, Aug 14, 2012 at 10:04 AM, Richard Guenther wrote: > On Mon, 13 Aug 2012, Lawrence Crowl wrote: > >> On 8/13/12, Richard Guenther wrote: >> > Increment/decrement operations did not exist, please do not add >> > them at this point. >> >> Note that

Re: Merge C++ conversion into trunk (5/6 - double_int rewrite)

2012-08-15 Thread Richard Guenther
On Wed, Aug 15, 2012 at 12:31 PM, Jakub Jelinek wrote: > On Wed, Aug 15, 2012 at 12:28:58PM +0200, Richard Guenther wrote: >> the function names make no sense - they should be talking about >> host-wide-ints, because that is what they are about. Thus, >> >>

Re: Merge C++ conversion into trunk (5/6 - double_int rewrite)

2012-08-15 Thread Richard Guenther
On Wed, 15 Aug 2012, Richard Guenther wrote: > On Wed, Aug 15, 2012 at 12:31 PM, Jakub Jelinek wrote: > > On Wed, Aug 15, 2012 at 12:28:58PM +0200, Richard Guenther wrote: > >> the function names make no sense - they should be talking about > >> host-wide-ints, be

Re: combine permutations in gimple

2012-08-15 Thread Richard Guenther
On Wed, Aug 15, 2012 at 1:22 PM, Marc Glisse wrote: > On Mon, 13 Aug 2012, Marc Glisse wrote: > >> I'll give it a few more days for the conversation to settle, so I know >> what I should do between: >> - the barely modified patch you accepted, >> - the check asked by Jakub, >> - the restriction to

Re: Merge C++ conversion into trunk (0/6 - Overview)

2012-08-15 Thread Richard Guenther
On Sun, 12 Aug 2012, Diego Novillo wrote: > I will be sending 6 patches that implement all the changes we > have been making on the cxx-conversion branch. As described in > http://gcc.gnu.org/ml/gcc/2012-08/msg00015.html, these patches > change the default bootstrap process so that stage 1 alway

Re: combine permutations in gimple

2012-08-15 Thread Richard Guenther
On Wed, Aug 15, 2012 at 1:56 PM, Ramana Radhakrishnan wrote: > [It looks like I missed hitting the send button on this response] > >> >> Seems to be one instruction shorter at least ;-) Yes, there can be much >> worse regressions than that because of the patch (like 40 instructions >> instead of 4

Re: [rfc] Fix SPU build (Re: [PATCH] Remove basic_block->loop_depth)

2012-08-15 Thread Richard Guenther
On Wed, 15 Aug 2012, Ulrich Weigand wrote: > Richard Guenther wrote: > > On Tue, 14 Aug 2012, Ulrich Weigand wrote: > > > Looks like this broke SPU build, since spu_machine_dependent_reorg > > > accesses ->loop_depth. According to comments in the code, this >

Re: combine permutations in gimple

2012-08-15 Thread Richard Guenther
On Wed, Aug 15, 2012 at 2:07 PM, Jakub Jelinek wrote: > On Wed, Aug 15, 2012 at 01:46:05PM +0200, Richard Guenther wrote: >> Well, we're waiting for someone to break the tie ... I'd go with the original >> patch, improving the backends where necessary. > > E.g. i?8

Re: Merge C++ conversion into trunk (0/6 - Overview)

2012-08-15 Thread Richard Guenther
On Wed, 15 Aug 2012, Diego Novillo wrote: > On 12-08-15 07:59 , Richard Guenther wrote: > > > (gdb) call debug_tree (*expr_p) > > > > constant 9> > > (gdb) call debug_tree (0x767fa5e8) > > Cannot resolve function debug_tree to any overloaded instance

Re: combine permutations in gimple

2012-08-15 Thread Richard Guenther
On Wed, Aug 15, 2012 at 2:29 PM, Jakub Jelinek wrote: > On Wed, Aug 15, 2012 at 02:15:03PM +0200, Richard Guenther wrote: >> Ok. That would still leave us with the issue Ramana brought up - the >> target hook returning true unconditionally if a generic permute is >> im

Re: combine permutations in gimple

2012-08-15 Thread Richard Guenther
On Wed, Aug 15, 2012 at 2:53 PM, Jakub Jelinek wrote: > On Wed, Aug 15, 2012 at 02:36:54PM +0200, Richard Guenther wrote: >> On Wed, Aug 15, 2012 at 2:29 PM, Jakub Jelinek wrote: >> > On Wed, Aug 15, 2012 at 02:15:03PM +0200, Richard Guenther wrote: >> >> Ok. That

Re: Merge C++ conversion into trunk (4/6 - hash table rewrite)

2012-08-15 Thread Richard Guenther
On Wed, 15 Aug 2012, Richard Guenther wrote: > On Sun, 12 Aug 2012, Diego Novillo wrote: > > > This implements a new C++ hash table. > > > > See http://gcc.gnu.org/ml/gcc-patches/2012-08/msg00711.html for > > details. > > > > Diego. > > Now

Re: Merge C++ conversion into trunk (4/6 - hash table rewrite)

2012-08-15 Thread Richard Guenther
On Wed, 15 Aug 2012, Michael Matz wrote: > Hi, > > On Wed, 15 Aug 2012, Richard Guenther wrote: > > > Like the following, only the coverage.c use is converted. I've never > > seen template function arguments anywhere and having to repeat them all > > over t

Re: Merge C++ conversion into trunk (4/6 - hash table rewrite)

2012-08-16 Thread Richard Guenther
On Wed, 15 Aug 2012, Lawrence Crowl wrote: > On 8/15/12, Richard Henderson wrote: > > On 2012-08-15 07:29, Richard Guenther wrote: > >> + typedef typename Element::Element_t Element_t; > > > > Can we use something less ugly than Element_t? > > Such as >

Re: [PATCH] Set current_function_decl in {push,pop}_cfun and push_struct_function

2012-08-16 Thread Richard Guenther
On Wed, Aug 15, 2012 at 5:21 PM, Martin Jambor wrote: > Hi, > > On Fri, Aug 10, 2012 at 04:57:41PM +0200, Eric Botcazou wrote: >> > - ada/gcc-interface/utils.c:rest_of_subprog_body_compilation calls >> > dump_function which in turns calls dump_function_to_file which calls >> > push_cfun. But

Re: [patch] PR54146 - rewrite rewrite_into_loop_closed_ssa

2012-08-16 Thread Richard Guenther
On Wed, Aug 15, 2012 at 6:26 PM, Steven Bosscher wrote: > Hello, > > This patch rewrites the rewriting part of > rewrite_into_loop_closed_ssa. This function took ~300s on the > simplified test case for PR54146, walking around the many thousands of > loops in the >400,000 basic blocks in the CFG, i

Re: [patch] speed up ifcvt:cond_move_convert_if_block

2012-08-16 Thread Richard Guenther
On Thu, Aug 16, 2012 at 1:11 AM, Steven Bosscher wrote: > On Mon, Aug 6, 2012 at 1:27 PM, Paolo Bonzini wrote: >>> 2. sparseset has the same problem of memory clearing (for valgrind, >>> see sparseset_alloc). >> >> ... only the sparse array needs this clearing, but currently we do it >> for both.

Re: PATCH: Replace target MEMBER_TYPE_FORCES_BLK macro with a target hook

2012-08-16 Thread Richard Guenther
On Thu, Aug 16, 2012 at 1:50 AM, H.J. Lu wrote: > Hi, > > This patch replaces MEMBER_TYPE_FORCES_BLK with a target hook. I > also pass the type to the target hook in addition to field, which will > be used by i386 backend for > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20020 > > This patch do

Re: [bootstrap] Tentative fix for PR 54281

2012-08-16 Thread Richard Guenther
> Diego. > > > 2012-08-16 Diego Novillo > Richard Guenther > > PR bootstrap/54281 > * double-int.h: Move including of gmp.h ... > * system.h: ... here. > * realmpfr.h: Do not include gmp.h. > * tree-ssa-loop-niter.c: Do not incl

[PATCH] Fix memleaks obvious from PR54146

2012-08-16 Thread Richard Guenther
This fixes some memleaks which look obvious when looking at -fmem-report of PR54146. Most important the tree-ssa-loop-im.c leak. Bootstrap and regtest ongoing on x86_64-unknown-linux-gnu. Richard. 2012-08-16 Richard Guenther PR middle-end/54146 * tree-ssa-loop-niter.c

[PATCH] Decrease integer-share-limit

2012-08-16 Thread Richard Guenther
(size 2048 for signed ints, 1020 bytes on 32bit hosts if I counted correctly). I'm queueing this for a bootstrap & regtest run. Richard. 2012-08-16 Richard Guenther * params.def (integer-share-limit): Decrease from 256 to 251, add rationale. Index: gcc/p

[PATCH] Free redirect_callers vector in tree-sra.c

2012-08-16 Thread Richard Guenther
I noticed we leak the redirect_callers vector in SRA and also noticed we compute it and then immediately re-compute cgraph edges which looks weird to me. Thus the following patch which frees the vector and makes its lifetime more obvious. Queued for testing. Richard. 2012-08-16 Richard

Re: [PATCH] Decrease integer-share-limit

2012-08-16 Thread Richard Guenther
On Thu, 16 Aug 2012, Paolo Carlini wrote: > Hi, > > On 08/16/2012 03:39 PM, Richard Guenther wrote: > > This decreases the integer-share-limit to make sure the TREE_VEC we > > allocate for the small cached integers has a reasonable size for > > our GC memory allocato

Re: Merge C++ conversion into trunk (4/6 - hash table rewrite)

2012-08-16 Thread Richard Guenther
On Thu, 16 Aug 2012, Paolo Carlini wrote: > Hi, > > I have another "out of curiosity"-type question ;) > > On 08/16/2012 11:19 AM, Richard Guenther wrote: > > > > ! > > ! template > > ! inline int > > ! pointer_hash::equal (const T *exi

Re: [PATCH] Free redirect_callers vector in tree-sra.c

2012-08-16 Thread Richard Guenther
On Thu, 16 Aug 2012, Richard Guenther wrote: > > I noticed we leak the redirect_callers vector in SRA and also noticed > we compute it and then immediately re-compute cgraph edges which > looks weird to me. > > Thus the following patch which frees the vector and makes i

Re: [bootstrap] Tentative fix for PR 54281

2012-08-17 Thread Richard Guenther
On Thu, 16 Aug 2012, Ian Lance Taylor wrote: > On Thu, Aug 16, 2012 at 12:12 PM, Diego Novillo wrote: > > > > This is the patch I'm currently testing. I need someone with a very old > > toolchain (4.1 or earlier) to also give this a try (the original problem > > does not occur in g++ more recent

[PATCH] More leak plugs for PR54146

2012-08-17 Thread Richard Guenther
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2012-08-16 Richard Guenther * tree-sra.c (modify_function): Free redirect_callers vector. * ipa-split.c (split_function): Free args_to_pass vector. * tree-vect-data-refs.c

Re: [PATCH] Decrease integer-share-limit

2012-08-17 Thread Richard Guenther
On Thu, 16 Aug 2012, Jakub Jelinek wrote: > On Thu, Aug 16, 2012 at 04:44:03PM +0200, Richard Guenther wrote: > > On Thu, 16 Aug 2012, Paolo Carlini wrote: > > > On 08/16/2012 03:39 PM, Richard Guenther wrote: > > > > This decreases the integer-share-limi

Re: PATCH: Replace target MEMBER_TYPE_FORCES_BLK macro with a target hook

2012-08-17 Thread Richard Guenther
On Thu, Aug 16, 2012 at 4:40 PM, H.J. Lu wrote: > On Thu, Aug 16, 2012 at 3:09 AM, Richard Guenther > wrote: >> On Thu, Aug 16, 2012 at 1:50 AM, H.J. Lu wrote: >>> Hi, >>> >>> This patch replaces MEMBER_TYPE_FORCES_BLK with a target hook. I >>> a

Re: [PATCH] More leak plugs for PR54146

2012-08-17 Thread Richard Guenther
On Fri, 17 Aug 2012, Jakub Jelinek wrote: > On Fri, Aug 17, 2012 at 09:46:35AM +0200, Richard Guenther wrote: > > --- gcc/tree-vect-slp.c (revision 190447) > > +++ gcc/tree-vect-slp.c (working copy) > > @@ -1858,8 +1862,11 @@ new_bb_vec_info (basic_block

Re: [patch] more bitmap obstacks

2012-08-17 Thread Richard Guenther
On Fri, Aug 17, 2012 at 9:03 AM, Steven Bosscher wrote: > Hello, > > This reduces peak memory usage for the small test case of PR54146 by > 2GB. 24hrs ago peak memory was 9.4 GB in top, but with Richi's patches > from yesterday and with this one, peak memory is now "only" 5.2GB. > About 40% of tha

[PATCH] Annotate GC bitmaps

2012-08-17 Thread Richard Guenther
This marks GTY bitmaps properly for most efficient marking. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2012-08-17 Richard Guenther * bitmap.h (struct bitmap_element_def): GTY annotate next/prev. (struct bitmap_head_def): GTY skip current

[PATCH][C++] Save memory and reallocations in name-lookup

2012-08-17 Thread Richard Guenther
chard. 2012-08-17 Richard Guenther cp/ * name-lookup.c (store_binding_p): New predicate, split out from ... (store_binding): ... here. Always store binding and require target vector with enough space. (store_bindings): Collect to store bindings and re

[PATCH][C++] Get rid of TREE_CHAIN use for TREE_VEC (NON_DEFAULT_TEMPLATE_ARGS_COUNT)

2012-08-17 Thread Richard Guenther
TREE_VEC size is one!). Let's hope removing TREE_TYPE from TREE_VEC is as "easy" ;) Re-bootstrap and regtest running on x86_64-unknown-linux-gnu. Ok for the C++ parts? Thanks, Richard. 2012-08-17 Richard Guenther * tree.h (struct tree_base): Put address_spa

Re: [patch][RFC] 160-bits bitmap_element

2012-08-17 Thread Richard Guenther
On Fri, Aug 17, 2012 at 1:46 PM, Steven Bosscher wrote: > Hello, > > On a 64-bits host we leave 32 bits of each bitmap_element unused. And > actually, on a 32-bits host we do that too for GGC-allocated bitmaps > (due to alignment). > > With this patch, we use those 32 bits by making BITMAP_WORD an

Re: [PATCH][C++] Save memory and reallocations in name-lookup

2012-08-17 Thread Richard Guenther
On Fri, 17 Aug 2012, Gabriel Dos Reis wrote: > On Fri, Aug 17, 2012 at 6:17 AM, Richard Guenther wrote: > > > > This reduces the number of re-allocations and the amount of memory > > wasted by store_binding. Previously, on a cut-down testcase from > > PR54146

Re: [patch][RFC] 160-bits bitmap_element

2012-08-17 Thread Richard Guenther
On Fri, Aug 17, 2012 at 2:04 PM, Steven Bosscher wrote: > On Fri, Aug 17, 2012 at 1:54 PM, Richard Guenther > wrote: >> Well, another effect of reducing the size of BITMAP_WORD is that >> operations are not performed in a mode optimally using CPU regs >> (did y

Re: [patch][RFC] 160-bits bitmap_element

2012-08-17 Thread Richard Guenther
On Fri, Aug 17, 2012 at 2:12 PM, Richard Guenther wrote: > On Fri, Aug 17, 2012 at 2:04 PM, Steven Bosscher > wrote: >> On Fri, Aug 17, 2012 at 1:54 PM, Richard Guenther >> wrote: >>> Well, another effect of reducing the size of BITMAP_WORD is that >>> op

Re: [PATCH][C++] Get rid of TREE_CHAIN use for TREE_VEC (NON_DEFAULT_TEMPLATE_ARGS_COUNT)

2012-08-18 Thread Richard Guenther
On Fri, Aug 17, 2012 at 9:11 PM, Gabriel Dos Reis wrote: > On Fri, Aug 17, 2012 at 1:03 PM, Mike Stump wrote: >> On Aug 17, 2012, at 6:58 AM, Paolo Carlini wrote: >>> On 08/17/2012 01:26 PM, Richard Guenther wrote: >>>> This gets rid of this field, pushing it

Re: CXX conversion: min g++ version pre-requisite?

2012-08-18 Thread Richard Guenther
On Sat, Aug 18, 2012 at 3:36 AM, Gary Funck wrote: > > Paul Hargrove noted the following build failure on > an older x86-32 Linux (Redhat 8.0) system. > > g++ -c -g -O2 -DIN_GCC -fno-exceptions -fno-rtti -W -Wall > -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -fno-common > -DHAVE_CO

Re: [PATCH] Add valgrind support to alloc-pool.c

2012-08-18 Thread Richard Guenther
On Sat, Aug 18, 2012 at 6:17 AM, Andrew Pinski wrote: > Hi, > I implemented this patch almost 6 years ago when the df branch was > being worked on. It adds valgrind support to alloc-pool.c to catch > cases of using memory after free the memory. > > OK? Bootstrapped and tested on x86_64-linux-

Re: [patch] more bitmap obstacks

2012-08-18 Thread Richard Guenther
On Sat, Aug 18, 2012 at 12:28 PM, Steven Bosscher wrote: > On Sat, Aug 18, 2012 at 12:21 PM, Tobias Burnus wrote: >> I filled a small bug report at >> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54313 > > Yup, thanks. > > * dse.c (dse_step7): Don't free kill_on_calls bitmap, it is > freed

Re: [graphds.h] Allocate graph from obstack

2012-08-19 Thread Richard Guenther
On Sat, Aug 18, 2012 at 8:10 PM, Dimitrios Apostolou wrote: > Initially I had one obstack per struct graph, which was better than using > XNEW for every edge, but still obstack_init() called from new_graph() was > too frequent. > > So in this iteration of the patch the obstack is static global, in

Re: [PATCH][C++] Save memory and reallocations in name-lookup

2012-08-20 Thread Richard Guenther
On Sat, 18 Aug 2012, Dimitrios Apostolou wrote: > Hi, > > On Fri, 17 Aug 2012, Jakub Jelinek wrote: > > On Fri, Aug 17, 2012 at 06:41:37AM -0500, Gabriel Dos Reis wrote: > > > I am however concerned with: > > > > > > > static void > > > > store_bindings (tree names, VEC(cxx_saved_binding,gc)

[PATCH] Fix PR54326

2012-08-20 Thread Richard Guenther
The following should fix PR54326 (3.4.6 at least compiles genoutput.c without warnings after this). Bootstrap running on x86_64-unknown-linux-gnu. Richard. 2012-08-20 Richard Guenther PR bootstrap/54326 * genoutput.c (note_constraint): Properly use CONST_CAST. Index: gcc

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