Re: [Patch,AVR]: Fix PR 50358

2011-09-13 Thread Denis Chertykov
2011/9/12 Georg-Johann Lay a...@gjlay.de: This patch introduces patterns for multiply-add and multiply-sub. On the enhanced core, these operations can be performed with the product in R0; there is no need to MOVW it out of that register.  The code is smaller and faster and has lower

Re: Initial shrink-wrapping patch

2011-09-13 Thread Richard Sandiford
Bernd Schmidt bernds_...@t-online.de writes: +/* Return true if INSN requires the stack frame to be set up. + PROLOGUE_USED contains the hard registers used in the function + prologue. */ +static bool +requires_stack_frame_p (rtx insn, HARD_REG_SET prologue_used) +{ [...] + if

Re: [2/4] SMS: Use ids to represent ps_insns

2011-09-13 Thread Richard Sandiford
Ayal Zaks ayal.z...@gmail.com writes: So instead of navigating directly from ps_insn-ddg_node-node_sched_params, we now use indices and lookup pointees in ddg_node and node_sched_params arrays. A bit of a nuisance, but it's ok with me. Well, IMO, ps_insn-ddg_node-node_sched_params is the same

Re: [PLUGIN] Fix PLUGIN_FINISH_TYPE

2011-09-13 Thread Romain Geissler
Hi 2011/9/12 Dodji Seketeli do...@seketeli.org: Romain Geissler romain.geiss...@gmail.com a écrit: When i recontributed the PLUGIN_FINISH_DECL patch from the original Brian Hackett, i didn't exactly checked what may or may not trigger this new event. I know for example that declaring a

Re: Initial shrink-wrapping patch

2011-09-13 Thread Bernd Schmidt
On 09/13/11 10:35, Richard Sandiford wrote: Also, it turns out I need to pretend that trap_if requires the prologue due to the testcase you also ran across, so a for_each_rtx walk is required anyway. Why does TRAP_IF inherently need a prologue though? The CFA information should be correct

Re: Initial shrink-wrapping patch

2011-09-13 Thread Richard Sandiford
Bernd Schmidt bernds_...@t-online.de writes: On 09/13/11 10:35, Richard Sandiford wrote: Also, it turns out I need to pretend that trap_if requires the prologue due to the testcase you also ran across, so a for_each_rtx walk is required anyway. Why does TRAP_IF inherently need a prologue

Re: Initial shrink-wrapping patch

2011-09-13 Thread Bernd Schmidt
On 09/13/11 13:37, Richard Sandiford wrote: Bernd Schmidt bernds_...@t-online.de writes: On 09/13/11 10:35, Richard Sandiford wrote: Also, it turns out I need to pretend that trap_if requires the prologue due to the testcase you also ran across, so a for_each_rtx walk is required anyway.

Re: Initial shrink-wrapping patch

2011-09-13 Thread Richard Sandiford
Bernd Schmidt ber...@codesourcery.com writes: On 09/13/11 13:37, Richard Sandiford wrote: Bernd Schmidt bernds_...@t-online.de writes: On 09/13/11 10:35, Richard Sandiford wrote: Also, it turns out I need to pretend that trap_if requires the prologue due to the testcase you also ran across,

Missing SCALAR_INT_MODE_P checks in simplify_subreg

2011-09-13 Thread Richard Sandiford
While working on an ARM backend patch, I tripped over a case in which a subreg of a vector zero-extension was wrongly being optimised to zero. This comes from the following code in simplify_subreg: /* Optimize SUBREG truncations of zero and sign extended values. */ if ((GET_CODE (op) ==

Re: [2/4] SMS: Use ids to represent ps_insns

2011-09-13 Thread Ayal Zaks
2011/9/13 Richard Sandiford richard.sandif...@linaro.org Ayal Zaks ayal.z...@gmail.com writes: So instead of navigating directly from ps_insn-ddg_node-node_sched_params, we now use indices and lookup pointees in ddg_node and node_sched_params arrays. A bit of a nuisance, but it's ok with

Prevent inliner from removing aliases of used comdats

2011-09-13 Thread Jan Hubicka
Hi, can_remove_node_now_p has two thikos in it that makes it to remove aliases of comdats that eventually may lead to unresolved symbols. Fixed thus. Bootstrapped/regtested x86_64-linux, comitted. Honza Index: ChangeLog === ---

Force aliases to be output when cgraph decides so

2011-09-13 Thread Jan Hubicka
Hi, this patch solves second problem seen on libreoffice build. Here cgraph decides to output alias, but because assemble_alias still contains the old alias pair path, it ends up adding the alias pair that is later discarded and alias not output. This will be cleaned up once I turn weakrefs to

Re: reorg.c: fix a linker error if HAVE_return is not defined

2011-09-13 Thread Richard Sandiford
Giuseppe Scrivano gscriv...@gnu.org writes: 2011-09-13 Giuseppe Scrivano gscriv...@gnu.org * reorg.c: Always define make_return_insns. Thanks, applied. Richard

Re: [C++-11] User defined literals

2011-09-13 Thread Jason Merrill
On 09/13/2011 10:35 AM, Ed Smith-Rowland wrote: I need to build a TEMPLATE_ID_EXPR whenever I encounter 1234_suffix. I need to construct a call operator _suffix'1','2','3','4'(); Is make_char_string_pack (const char* str) in cp/parser.c right? The TREE_TYPE of a NONTYPE_ARGUMENT_PACK is not a

Re: Initial shrink-wrapping patch

2011-09-13 Thread Bernd Schmidt
On 09/13/11 15:05, Richard Sandiford wrote: It just feels like checking for trap_if or turning off cross-jumping are working around problems in the representation of shrink-wrapped functions. There should be something in the IL to say that those two blocks cannot be merged for CFI reasons.

Re: Vector shuffling

2011-09-13 Thread Joseph S. Myers
On Fri, 9 Sep 2011, Artem Shinkarov wrote: Hi, sorry for the delay, I had a lot of other stuff to do. In the attachment there is a new patch that fixes all the issues pointed by Joseph and almost all the issues pointed by Richard. The issues that are not fixed are explained further. The C

[PATCH] sel-sched: fix merging of LHS reg availability (PR 50340)

2011-09-13 Thread Alexander Monakov
Hello, This patches fixes an ICE on an assert that performs a sanity check on target_available field of expr_t, which is tri-state: LHS register is available (1), not available (0) or unknown (-1). The problem is, when merging expr data of separable exprs with differing LHSes, we can't claim we

[ARM] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building arm-linux-gnueabi, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/arm/arm.md: Use match_test rather than eq/ne symbol_ref

[BFIN] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building bfin-elf, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/bfin/bfin.md: Use match_test rather than eq/ne symbol_ref

[H8300] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building h8300-elf, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/h8300/h8300.md: Use match_test rather than eq/ne symbol_ref

Re: Prevent inliner from removing aliases of used comdats

2011-09-13 Thread Graham Stott
Jan, Any testcase do can add? Graham

[IA64] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building ia64-linux-gnu, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/ia64/itanium2.md: Use match_test rather than eq/ne symbol_ref

[IQ2000] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building iq2000-elf, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/iq2000/iq2000.md: Use match_test rather than eq/ne symbol_ref

[M32R] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building m32r-elf, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/m32r/m32r.md: Use match_test rather than eq/ne symbol_ref

Re: [H8300] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 09/13/11 11:50, Richard Sandiford wrote: As per the subject. Tested by making sure that there were no new warnings building h8300-elf, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install?

[M68K] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building m68k-linux-gnu, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/m68k/m68k.md: Use match_test rather than eq/ne symbol_ref

[MEP] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building mep-elf, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/mep/mep.md: Use match_test rather than eq/ne symbol_ref

[MICROBLAZE] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building microblaze-elf, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/microblaze/microblaze.md: Use match_test rather than eq/ne

[MN10300] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building mn10300-elf, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/mn10300/mn10300.md: Use match_test rather than eq/ne

[HPPA] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building hppa64-hp-hpux11.23, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/pa/pa.md: Use match_test rather than eq/ne symbol_ref

Re: [M68K] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 09/13/11 11:56, Richard Sandiford wrote: As per the subject. Tested by making sure that there were no new warnings building m68k-linux-gnu, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install?

Re: [MN10300] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 09/13/11 11:59, Richard Sandiford wrote: As per the subject. Tested by making sure that there were no new warnings building mn10300-elf, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install?

[PPC] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building powerpc-linux-gnu, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/rs6000/rs6000.md: Use match_test rather than eq/ne symbol_ref

[S390] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building s390-linux-gnu, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/s390/s390.md: Use match_test rather than eq/ne symbol_ref

Re: [ARM] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Earnshaw (home)
On 13 Sep 2011, at 18:48, Richard Sandiford rdsandif...@googlemail.com wrote: As per the subject. Tested by making sure that there were no new warnings building arm-linux-gnueabi, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard

Re: [HPPA] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 09/13/11 12:01, Richard Sandiford wrote: As per the subject. Tested by making sure that there were no new warnings building hppa64-hp-hpux11.23, and that there were no changes in the assembly output for the C and C++ testsuite. OK to

[SH] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building sh-linux-gnu, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/sh/sh.md: Use match_test rather than eq/ne symbol_ref

[V850] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Richard Sandiford
As per the subject. Tested by making sure that there were no new warnings building v850-elf, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Richard gcc/ * config/v850/v850.md: Use match_test rather than eq/ne symbol_ref

Re: [V850] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 09/13/11 12:07, Richard Sandiford wrote: As per the subject. Tested by making sure that there were no new warnings building v850-elf, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install?

Go patch committed: Fix inherited hidden methods, part 2

2011-09-13 Thread Ian Lance Taylor
Similar to the last patch, this fixes inherited hidden methods with arguments of hidden types. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian diff -r 4905b2cc2083 go/expressions.cc --- a/go/expressions.cc Tue Sep 13 10:18:45 2011 -0700 +++

Re: [HPPA] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread John David Anglin
On 9/13/2011 2:04 PM, Jeff Law wrote: Though I wonder if we could kill TARGET_PORTABLE_RUNTIME which would simplify some of this stuff. I guess the pa-linux folks probably use this stuff:( I don't think it is used much if at all. There were a couple of parisc portables (tadpole?) that had

Re: [SPARC] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread David Miller
From: Richard Sandiford rdsandif...@googlemail.com Date: Tue, 13 Sep 2011 19:06:20 +0100 As per the subject. Tested by making sure that there were no new warnings building sparc-linux-gnu, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install?

[pph] Add pph_writer_enabled_p (issue5003044)

2011-09-13 Thread Diego Novillo
A small tweak to clarify what we mean when the code reads 'if (pph_out_file)'. For the next patch I'm writing, I'm using this, so I'm flushing it first. Tested on x86_64. Applied. Diego. c-family/ChangeLog.pph * c-opts.c (pph_reader_enabled_p): Rename from query_have_pph_map.

Re: [PATCH] check_cfg assert fix

2011-09-13 Thread Maxim Kuvyrkov
On 9/09/2011, at 6:54 AM, Bernd Schmidt wrote: On 09/06/11 23:56, Maxim Kuvyrkov wrote: I agree. I would rather remove the entirety of haifa-sched.c: check_cfg(); scheduler is not the right place for checking consistency of CFG. Check_cfg() was useful for debugging scheduler patches, but

Re: [BFIN] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Bernd Schmidt
On 09/13/11 19:49, Richard Sandiford wrote: As per the subject. Tested by making sure that there were no new warnings building bfin-elf, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? Sure! Bernd

Add new script for validating test results (issue5023041)

2011-09-13 Thread Diego Novillo
This script is the result of the discussion I started last week about having the ability to ignore testsuite failures (http://gcc.gnu.org/ml/gcc/2011-09/msg00044.html). The script is contrib/testsuite-management/validate_failures.py. It is meant to be executed from the top build directory. When

Re: PING: [ARM] Model automodified addresses in the Cortex A8 and A9 schedulers -- NEON

2011-09-13 Thread Ramana Radhakrishnan
On 9 September 2011 13:56, Richard Sandiford richard.sandif...@linaro.org wrote: Ping for this patch: This is the NEON part of the patch to handle address register writeback in the Cortex A8 and A9 schedulers. Although I can find no documentation to say exactly how this is handled by the

Go patch committed: Always dereference receiver in value method

2011-09-13 Thread Ian Lance Taylor
The Go frontend was carefully checking for a nil receiver in a value method, and setting the value to zero in that case. This is wrong: a nil receiver passed to a value method should crash. This patch fixes this, by simply removing the unnecessary generated code. Bootstrapped and ran Go

[0/4] Modulo scheduling with haifa-sched for C6X

2011-09-13 Thread Bernd Schmidt
C6X has some rather nifty hardware support for modulo scheduling. Consider the following loop: .L13: ldh .d1t1 *++A5[1], A7 || add .s1 -1, A0, A0 ldh .d2t1 *B5++[1], A8 nop 1 [A0]b .s1 .L13

[1/4] Modulo scheduling support for haifa-sched

2011-09-13 Thread Bernd Schmidt
This makes haifa-sched capable of acting like a modulo-scheduler in cooperation with a caller (expected to be in a port's md_reorg). As explained in [0/4], most of the necessary code is already there in form of the delay slot support that was added for C6X. The main new entry point is

[2/4] Make schedule_ebb callable from elsewhere

2011-09-13 Thread Bernd Schmidt
This is just some code rearrangement to make it possible for c6x.c to call schedule_ebbs_init, schedule_ebb and schedule_ebbs_finish. Bernd * sched-ebb.c (schedule_ebb): No longer static. Remove declaration. New arg modulo_scheduling. All callers changed. Move note handling

[3/4] Fix debug_insn problem in hw-doloop

2011-09-13 Thread Bernd Schmidt
This fixes an oversight that led to a compare-debug failure in the testsuite with the other changes applied. We really don't care if a DEBUG_INSN uses the iteration register or not. Will commit soon as obvious. Bernd * hw-doloop.c (scan_loop): Compute register usage only for non-debug

[4/4] C6X pieces for modulo scheduling with haifa-sched

2011-09-13 Thread Bernd Schmidt
This is the final piece that makes use of the new haifa-sched functionality in c6x.c. It also makes use of the hw-doloop code which I adapted from Blackfin a while ago. After finding a candidate loop, the hwloop_optimize function unrolls it to a suitable degree, then tries successive values for

Re: [2/4] Make schedule_ebb callable from elsewhere

2011-09-13 Thread Steven Bosscher
On Wed, Sep 14, 2011 at 12:01 AM, Bernd Schmidt ber...@codesourcery.com wrote: This is just some code rearrangement to make it possible for c6x.c to call schedule_ebbs_init, schedule_ebb and schedule_ebbs_finish. +/* The one entry point in this file. */ + +void +schedule_ebbs (void) +{

[PATCH] [Annotalysis] Fix internal compiler errors in thread safety analysis.

2011-09-13 Thread Delesley Hutchins
This patch fixes two bugs which cause an internal compiler error in annotalysis. The first change fixes a failure when a variable is typecast from an unknown (forward-defined) type. The second change fixes a case in which an assert was triggered, because subexpressions were not canonicalized

Re: [PRs 34547/50375] Fixes to NULL with MOLD= check

2011-09-13 Thread Steve Kargl
On Wed, Sep 14, 2011 at 12:12:36AM +0200, Tobias Burnus wrote: NULL requires a MOLD argument if the mold cannot be determined from the context: a) print *, null() - was ICEing b) call foo(null()) - [implicit interface] was accepted but no dummy is available to get the type c) call

[PATCH] Fix PR50183

2011-09-13 Thread William J. Schmidt
Greetings, The code to build scops (static control parts) for graphite first rewrites loops into canonical loop-closed SSA form. PR50183 identifies a scenario where the results do not fulfill all required invariants of this form. In particular, a value defined inside a loop and used outside

Re: [PPC] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread David Edelsohn
On Tue, Sep 13, 2011 at 2:02 PM, Richard Sandiford rdsandif...@googlemail.com wrote: As per the subject.  Tested by making sure that there were no new warnings building powerpc-linux-gnu, and that there were no changes in the assembly output for the C and C++ testsuite.  OK to install?

Re: [RFC] Split -mrecip

2011-09-13 Thread Michael Meissner
On Sat, Sep 03, 2011 at 02:44:07PM +0200, Uros Bizjak wrote: On Wed, Aug 31, 2011 at 6:16 PM, Michael Matz m...@suse.de wrote: I'd like to have tighter control over the individual situations that -mrecip handles, and I think the user might appreciate this too.  Hence I've introduced four

Re: [RFC] Split -mrecip

2011-09-13 Thread Michael Meissner
On Sat, Sep 03, 2011 at 11:11:37PM +0200, Uros Bizjak wrote: On Sat, Sep 3, 2011 at 5:42 PM, Michael Matz m...@suse.de wrote: I've decided to not use four new bits from target_flags, and instead created a new mask (recip_mask).  Four bits would have fit in target bits right now,  but

Re: [SH] Use match_test rather than eq/ne symbol_ref

2011-09-13 Thread Kaz Kojima
Richard Sandiford rdsandif...@googlemail.com wrote: As per the subject. Tested by making sure that there were no new warnings building sh-linux-gnu, and that there were no changes in the assembly output for the C and C++ testsuite. OK to install? OK. Thanks! Regards, kaz

[PATCH, testsuite, ARM] Change to expected failure for g++.dg/abi/local1.C on ARM target

2011-09-13 Thread Jiangning Liu
Here comes a patch to change the case g++.dg/abi/local1.C to be expected failure for ARM target. In C++ ABI for the ARM architecture, it says, This runs contrary to §2.9.1 of [GC++ABI] which states: It is intended that two type_info pointers point to equivalent

Re: [C++-11] User defined literals

2011-09-13 Thread Jason Merrill
Since we're starting to come up on the end of stage 1, I'll go ahead and review the current patch even though it isn't finished yet. Thanks for all your work on this, it definitely seems to be coming together. On 09/13/2011 10:35 AM, Ed Smith-Rowland wrote: +#define CPP_N_USERDEF 0x100