Re: [patch RFA middle-end] Fix PR target/41993

2012-11-06 Thread Eric Botcazou
> 2012-11-05 Uros Bizjak > Kaz Kojima > > PR target/41993 > * mode-switching.c (create_pre_exit): Set return_copy to > last_insn when copy_start is a pseudo reg. OK, thanks. The number of special cases dealt with in the function is on the verge of making it bare

Re: [Patch, Fortran, OOP] PR 54917: [4.7/4.8 Regression] TRANSFER on polymorphic variable causes ICE

2012-11-06 Thread Tobias Burnus
Janus Weil wrote: the attached patch implements support for polymorphic arguments to TRANSFER. For details and discussion see the PR. Btw, as part of the PR is a regression in 4.7 and trunk, I would like to backport the target-memory.c part and the first test case to the 4.7 branch. Ok? Looks

Re: [Patch] libitm: add HTM fastpath

2012-11-06 Thread Uros Bizjak
Hello! > This patch adds support for using strongly-isolated HTMs with > serial-irrevocable mode as fallback. Such HTMs can execute > uninstrumented code transactionally, and eventually aborted transactions > will cause no visible side effects. Data conflicts with > nontransactional accesses lea

Re: [patch][RFC] Filename based shared library versioning on AIX

2012-11-06 Thread Michael Haubenwallner
On 11/05/2012 07:31 PM, David Edelsohn wrote: > On Mon, Nov 5, 2012 at 1:10 PM, Michael Haubenwallner > wrote: > >> Well, as long as the old sharedlibs were not created as standalone shared >> objects (lib.so), this is similar to a normal "soname"-bump on AIX, in that >> it is still possible for

[Ada] clean ups in Makefiles

2012-11-06 Thread Arnaud Charlet
This patch cleans up makefile targets related to the generation of s-oscons.ads. We had duplicate rules between Make-generated.in and gcc-interface/Makefile.in which caused confusion recently and are now removed. The rules are now handled in Make-generated.in only, as was intended when Make-generat

Re: [patch RFA middle-end] Fix PR target/41993

2012-11-06 Thread Kaz Kojima
Eric Botcazou wrote: > OK, thanks. The number of special cases dealt with in the function is on the > verge of making it barely understandable though. Why couldn't a backward > scan > based only on: > > /* If the return register is not likely spilled, - as is >

Re: [patch RFA middle-end] Fix PR target/41993

2012-11-06 Thread Eric Botcazou
> Although I might be getting you wrong, the current code does a scan > based on those lines but builtin_return, functions with no return > value and exceptions require special treatments and made things > complex. I was referring to the ret_start/reg_end/nregs business: why is it necessary? --

Re: [patch RFA middle-end] Fix PR target/41993

2012-11-06 Thread Kaz Kojima
Eric Botcazou wrote: > I was referring to the ret_start/reg_end/nregs business: why is it necessary? I thought that they are for the return value which requires multiple hard registers. Regards, kaz

[Ada] Support both concurrent and sequential partition elaboration policies

2012-11-06 Thread Arnaud Charlet
In the restricted profile, both policies are now supported. The default one is concurrent but the sequential can be selected too. The following should now compile: pragma Profile (Ravenscar); pragma Partition_Elaboration_Policy (Concurrent); package p is task t; end; package body p is task

[Ada] Correct possible double qualification of names in formal mode

2012-11-06 Thread Arnaud Charlet
In the special mode for formal verification, the entity was not marked as having a qualified name after being passed to Qualify_Entity_Name, which lead to multiple qualification when Qualify_Entity_Name was called multiple times on the same entity. The assumptions that it is called only once on eac

[Ada] Fix error in multi-precision division used in ELIMINATED mode

2012-11-06 Thread Arnaud Charlet
The ELIMINATED overlow mode uses a multi-precision integer arithmetic package that depends on algorithm D from Knuth for multi-precision division. In very rare cases, this algorithm has a bug causing an internal overflow resulting in an incorrect result. This patch uses the fixed version of this al

[Ada] Expansion of renamings of unconstrained objects

2012-11-06 Thread Arnaud Charlet
When the subtype in an object renaming declaration is unconstrained, the compiler builds an actual subtype using the bounds of the renamed object. The actual subtype is not needed when the renamed object is a limited record. This is a useful optimization, in particular for the expansion of iterator

[Ada] Fix another error in multi-precision division used in ELIMINATED mode

2012-11-06 Thread Arnaud Charlet
The ELIMINATED overlow mode uses a multi-precision integer arithmetic package that depends on algorithm D from Knuth for multi-precision division. This algorithm was recently corrected for an overflow problem, applying a patch from 1995. This version still had a bug, which was corrected in 2005. Th

[Ada] Document vax float point representation

2012-11-06 Thread Arnaud Charlet
Comments added. Tested on x86_64-pc-linux-gnu, committed on trunk 2012-11-06 Tristan Gingold * exp_vfpt.adb: Document VAX float point layout. Index: exp_vfpt.adb === --- exp_vfpt.adb(revision 193215) +++ exp_vfpt

[Ada] Illegal calls in entry call alternatives

2012-11-06 Thread Arnaud Charlet
Entry call alternaitives in timed or conditional entry calls, as well as in asynchronous transfers of control, must be entry calls (looking through renamings) or dispatching calls to interface primitives. This patch rejects an illegal case that was not previously diagnosed, namely an indirect call

[Ada] Directly emit binary representation of Vax float

2012-11-06 Thread Arnaud Charlet
Code generation for emitting a vax float is improved: instead of calling a runtime routine, the binary representation is directly emitted. No functionnal change (and also VMS specific). Tested on x86_64-pc-linux-gnu, committed on trunk 2012-11-06 Tristan Gingold * fe.h (Get_Vax_Real_L

[Ada] Legality rules for pragma Unchecked_Union

2012-11-06 Thread Arnaud Charlet
GNAT implemented this pragma before it was part of the standard, and a left- over of this early implementation is the requirement that discriminants of an unchecked_union type all must have defaults. This is not a legality rule imposed by the Ada RM, and this patch removes it. Tested on x86_64-p

[Ada] Support target with both VAX and IEEE float

2012-11-06 Thread Arnaud Charlet
This patch allows the Ada front end to properly support static evaluation of both VAX and IEEE floating point attributes on a single target. Before we use a global setting from system.ads to determine wether a floating point type supported denormals and signed zeros, but in order to properly suppor

[Ada] Attribute Loop_Entry

2012-11-06 Thread Arnaud Charlet
This patch provides the initial implementation of attribute Loop_Entry. This attribute is indended for formal verification proofs. The syntax of the attribute is as follows: Prefix'Loop_Entry (Target_Loop_Name) The brief semantic rules for this attribute are: The prefix must denote a non-lim

Re: [Patch, Fortran, OOP] PR 54917: [4.7/4.8 Regression] TRANSFER on polymorphic variable causes ICE

2012-11-06 Thread Janus Weil
Hi, >> the attached patch implements support for polymorphic arguments to >> TRANSFER. For details and discussion see the PR. >> >> Btw, as part of the PR is a regression in 4.7 and trunk, I would like >> to backport the target-memory.c part and the first test case to the >> 4.7 branch. Ok? > > >

Re: [PATCH] Vzeroupper placement/47440

2012-11-06 Thread Kirill Yukhin
Hello, > OK for mainline SVN, please commit. Checked into GCC trunk: http://gcc.gnu.org/ml/gcc-cvs/2012-11/msg00176.html Thanks, K

Re: [SH] PR 54089 - Add support for rotcl instruction

2012-11-06 Thread Kaz Kojima
Oleg Endo wrote: > This patch adds support for SH's rotcl instruction. > While working on it, I've noticed that the DImode left shift by one insn > was not used anymore, and instead ended up as 'x + x'. This > transformation was happening before/during RTL expansion. The fix for > it was to adju

[v3] A couple of small fixes

2012-11-06 Thread Paolo Carlini
Hi, for issues I noticed while working on debug-mode for std::array: avoid the inclusion of in two places (in v3 we never include it); fix the new check added by Florian vs -fno-exceptions. Tested x86_64-linux. Thanks, Paolo. /// 2012-11-06 Paolo Carlini *

[PATCH] Use propagate_threaded_block_debug_into even in loop header copying pass (PR debug/54693)

2012-11-06 Thread Jakub Jelinek
Hi! This patch fixes -FAIL: gcc.dg/guality/pr54693-2.c -O1 line 21 i == v + 1 -FAIL: gcc.dg/guality/pr54693-2.c -O2 line 21 i == v + 1 -FAIL: gcc.dg/guality/pr54693-2.c -O3 -fomit-frame-pointer line 21 i == v + 1 -FAIL: gcc.dg/guality/pr54693-2.c -O3 -g line 21 i == v + 1 -FAIL: gcc.dg/gua

GCC 4.8.0 Status Report (2012-11-06), Stage 1 is over, Stage 3 in effect immediately

2012-11-06 Thread Jakub Jelinek
Status == The GCC trunk is now in stage3, patches submitted during stage1 may be still accepted, if they don't need significant rewrites, but please try to get them in soon. There is a lot of them outstanding, so please also help reviewing them. Otherwise only bugfixes and documentation fixe

Re: RFC: PATCH to add abi_tag attribute

2012-11-06 Thread Jakub Jelinek
On Mon, Nov 05, 2012 at 11:03:37PM -0500, Jason Merrill wrote: > As discussed at the Cauldron in Prague, this patch introduces a C++ > abi_tag attribute which can be attached to a function or class to > modify its mangled name and avoid name collisions with earlier > versions with a different ABI.

Re: [Ada] clean ups in Makefiles

2012-11-06 Thread Arnaud Charlet
The previous patch is further cleaned up by removing the osconstool target in libada/Makefile.in which was hard to maintain. Tested on x86_64-pc-linux-gnu, committed on trunk. libada/ * Makefile.in (osconstool): Removed, no longer needed. ada/

[Ada] New port: arm android

2012-11-06 Thread Arnaud Charlet
This Change adds the necessary runtime configuration to build an Ada runtime for android/arm. Tested manually on android, committed on trunk. 2012-11-06 Arnaud Charlet * gcc-interface/Makefile.in: Add runtime pairs for Android. * s-osinte-android.ads, s-osinte-android.adb: New

Re: [PATCH 1/7] s390: Constraints, predicates, and op letters for contiguous bitmasks

2012-11-06 Thread Andreas Krebbel
Hi, thanks for your patch. I've refreshed it to the latest revision and have added patterns for risbgn (risbg without clobbering CC) which has been added with zEC12. I've tested the patch on s390x with -march=z196. I think it is safe for EC12 as well. However I'll run some tests there later on.

Re: [PATCH 2/7] s390: Only use lhs zero_extract in word_mode

2012-11-06 Thread Andreas Krebbel
Hi, I had to remove the insv pattern changes from that patch. I understand that you simplified the patterns since the generic RTL expander only generates word mode zero extracts. However, we still need the SImode variant for atomic operations so we cannot remove it. The insv_z10 definition can s

RE: [PATCH Version 2][RFA]Improving register pressure directed hoist

2012-11-06 Thread Bin Cheng
> -Original Message- > From: Jeff Law [mailto:l...@redhat.com] > Sent: Tuesday, November 06, 2012 4:51 AM > To: Bin Cheng > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH Version 2][RFA]Improving register pressure directed hoist > > On 11/02/2012 02:34 AM, Bin Cheng wrote: > >> > > Al

Re: [PATCH] Make IPA-CP work on aggregates

2012-11-06 Thread Jakub Jelinek
On Tue, Nov 06, 2012 at 12:58:07AM +0100, Martin Jambor wrote: > 2012-11-05 Martin Jambor > > PR tree-optimization/53787 > * ipa-cp.c (ipcp_value_source): New field offset. ... Is this supposed to do something about Fortran array descriptors where some fields in the descriptors hav

Fix loop bounds computed by vectorizer

2012-11-06 Thread Jan Hubicka
Hi, three of remainings false positives of -Warray-bounds on -O3 bootstrap turned out to be bug in vectorizer. It sets the loop bound on prologue/epilogue to be vectorization_factor - 1. This is not correct: when vectorization_factor is 2, the epilogue/prologue never loops, so number of iteration

Re: [PATCH 3/7] s390: Use risbgz for AND.

2012-11-06 Thread Andreas Krebbel
I didn't do any changes to that one. So it is only a refresh to latest GCC head. Bootstrapped on s390x with -march=z196. No regressions. Feel free to apply. Thanks! Bye, -Andreas- gcc/config/s390/s390.md | 109 +!!! 1 file changed, 4 insertions(+)

Re: [patch RFA middle-end] Fix PR target/41993

2012-11-06 Thread Uros Bizjak
On Mon, Nov 5, 2012 at 11:58 PM, Kaz Kojima wrote: > The attached patch is to solve PR target/41993 which will affect > targets using MODE_EXIT. > Without it, we can't find all return registers for __builtin_return > in mode-switching.c:create_pre_exit. See the trail #4 by Uros in > the PR for t

[PATCH,RX] Support Bit Manipulation on Memory Operands

2012-11-06 Thread Naveen H. S
Hi, Please find attached the patch "rx_bit_insn.patch" which supports bit operations on memory operand. Please review the same and let me know if there should be any modifications in it. Tested with rx-elf. No new Regressions. ChangeLog 2012-11-06 Naveen H.S * config/rx/const

[PATCH] Less restrictive regex in const-uniq-1.c

2012-11-06 Thread David Edelsohn
The regex in const-uniq-1.c assumes ELF label format, which does not match AIX XCOFF. The following patch broadens the regex so that it also correctly matches on AIX. * const-uniq-1.c: Expand regex to match AIX XCOFF labels. Index: const-uniq-1.c =

Re: [PATCH] New configuration options to enable additional executable/startfile/shared library prefixes

2012-11-06 Thread David Edelsohn
On Mon, Nov 5, 2012 at 12:27 PM, Michael Meissner wrote: > Yes, obviously I should have included powerpc-linux as well as powerpc64-linux > in the documentation. Thanks. If it is approved, I will update the > documentation. The rs6000 parts of the patch are okay with that change. Thanks, Davi

Re: [PATCH] Make IPA-CP work on aggregates

2012-11-06 Thread Jan Hubicka
> > 2012-11-05 Martin Jambor > > PR tree-optimization/53787 > * ipa-cp.c (ipcp_value_source): New field offset. > (ipcp_agg_lattice): New type. > (ipcp_param_lattices): Likewise, move virt_call from ipcp_lattice here. > (ipcp_agg_lattice_pool): New variable. >

Re: RFC: PATCH to add abi_tag attribute

2012-11-06 Thread Jason Merrill
On 11/06/2012 06:20 AM, Jakub Jelinek wrote: On Mon, Nov 05, 2012 at 11:03:37PM -0500, Jason Merrill wrote: As discussed at the Cauldron in Prague, this patch introduces a C++ abi_tag attribute which can be attached to a function or class to modify its mangled name and avoid name collisions with

Re: [PATCH] Enable -mcpu=power8 for PowerPC

2012-11-06 Thread David Edelsohn
On Mon, Nov 5, 2012 at 11:54 PM, Peter Bergner wrote: > This patch enables new -mcpu and -mtune options for POWER8. The -mcpu=power8 > option currently is just an alias for power7. The affect of these options > will be expanded when more technical details are released by IBM. > > Bootstrapped an

Re: User directed Function Multiversioning via Function Overloading (issue5752064)

2012-11-06 Thread Jason Merrill
On 11/05/2012 09:38 PM, Sriraman Tallam wrote: + /* For multi-versioned functions, more than one match is just fine. +Call decls_match to make sure they are different because they are +versioned. */ + if (DECL_FUNCTION_VERSIONED (fn)) + { + for (match = T

Re: [PING^2] [C++ PATCH] Add overflow checking to __cxa_vec_new[23]

2012-11-06 Thread Jason Merrill
On 11/05/2012 12:52 PM, Florian Weimer wrote: +// Avoid use of none-overridable new/delete operators in shared Typo: that should be "non-overridable" Jason

Re: [PING^2] [C++ PATCH] Add overflow checking to __cxa_vec_new[23]

2012-11-06 Thread Florian Weimer
On 11/06/2012 04:55 PM, Jason Merrill wrote: On 11/05/2012 12:52 PM, Florian Weimer wrote: +// Avoid use of none-overridable new/delete operators in shared Typo: that should be "non-overridable" Jason Thanks, this patch fixes both instances. -- Florian Weimer / Red Hat Product Security Tea

Fix debug dump formatting in ipa-pure-const

2012-11-06 Thread Jan Hubicka
Hi, there are missing linebreaks in the debug info. Fixed thus. Honza Index: ChangeLog === --- ChangeLog (revision 193244) +++ ChangeLog (working copy) @@ -1,3 +1,7 @@ +2012-11-06 Jan Hubicka + + * ipa-pure-const.c (che

Re: [PATCH] Less restrictive regex in const-uniq-1.c

2012-11-06 Thread Andrew Pinski
On Tue, Nov 6, 2012 at 6:54 AM, David Edelsohn wrote: > The regex in const-uniq-1.c assumes ELF label format, which does not > match AIX XCOFF. The following patch broadens the regex so that it > also correctly matches on AIX. > > * const-uniq-1.c: Expand regex to match AIX XCOFF labels.

[PATCH, i386]: Remove SLOT_VIRTUAL from enum ix86_stack_slot

2012-11-06 Thread Uros Bizjak
Hello! Attached patch removes SLOT_VIRTUAL and introduces TARGET_INSTANTIATE_DECLS that takes care of instantiating registers in ix86_stack_locals array. The patch enables some more stack slot sharing. 2012-11-06 Uros Bizjak * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.

Re: [Patch] libitm: add HTM fastpath

2012-11-06 Thread Richard Henderson
On 2012-11-05 17:09, Torvald Riegel wrote: > commit 4f2b3c78ac7ae3fb2b639ce32ad197a12ba7d66a > Author: Torvald Riegel > Date: Tue Oct 23 00:25:50 2012 +0200 > > Add HTM fastpath and use Intel RTM for it on x86. This is ok, modulo the cpuid.h bit that Uros pointed out. r~

Re: [Patch] libitm: add HTM fastpath

2012-11-06 Thread Richard Henderson
On 2012-11-05 17:09, Torvald Riegel wrote: > + if (likely(htm_fastpath && (prop & pr_hasNoAbort))) For reference, could the NoAbort clause be relaxed with an htm check in abortTransaction, and the use of an xabort insn with an appropriate code to indicate user abort? Just wondering what the curr

Re: [RFC] Heuristics to throttle the complette unrolling

2012-11-06 Thread Jan Hubicka
> On Tue, 30 Oct 2012, Jan Hubicka wrote: > > > Hi, > > for past week or two I was playing with ways to throttle down the complette > > unrolling heuristics. I made complette unroller to use the > > tree-ssa-loop-niter > > upper bound and unroll even in non-trivial cases and this has turned out

Re: [PATCH] Less restrictive regex in const-uniq-1.c

2012-11-06 Thread Andrew Pinski
On Tue, Nov 6, 2012 at 8:07 AM, Andrew Pinski wrote: > On Tue, Nov 6, 2012 at 6:54 AM, David Edelsohn wrote: >> The regex in const-uniq-1.c assumes ELF label format, which does not >> match AIX XCOFF. The following patch broadens the regex so that it >> also correctly matches on AIX. >> >>

Re: [PATCH] Use propagate_threaded_block_debug_into even in loop header copying pass (PR debug/54693)

2012-11-06 Thread Jeff Law
On 11/06/2012 04:00 AM, Jakub Jelinek wrote: Hi! This patch fixes -FAIL: gcc.dg/guality/pr54693-2.c -O1 line 21 i == v + 1 -FAIL: gcc.dg/guality/pr54693-2.c -O2 line 21 i == v + 1 -FAIL: gcc.dg/guality/pr54693-2.c -O3 -fomit-frame-pointer line 21 i == v + 1 -FAIL: gcc.dg/guality/pr54693-2.

Re: [PATCH 02/10] Initial asan cleanups

2012-11-06 Thread Diego Novillo
On 2012-11-02 15:57 , Dodji Seketeli wrote: /* AddressSanitizer, a fast memory error detector. - Copyright (C) 2011 Free Software Foundation, Inc. + Copyright (C) 2011, 2012 Free Software Foundation, Inc. I *think* we should only mention 2012, but I don't know if code in branches counts

Re: [PATCH 01/10] Initial import of asan from the Google branch into trunk

2012-11-06 Thread Diego Novillo
On 2012-11-02 15:56 , Dodji Seketeli wrote: This patch imports the initial state of asan as it was in the Google branch. It provides basic infrastructure for asan to instrument memory accesses on the heap, at -O3. Note that it supports neither stack nor global variable protection. The rest of

Re: [PATCH 03/10] Emit GIMPLE directly instead of gimplifying GENERIC.

2012-11-06 Thread Diego Novillo
On 2012-11-02 15:57 , Dodji Seketeli wrote: * Makefile.in (GTFILES): Add $(srcdir)/asan.c. (asan.o): Update the dependencies of asan.o. * asan.c (tm.h, tree.h, tm_p.h, basic-block.h, flags.h function.h, tree-inline.h, tree-dump.h, diagnostic.h, demangle.h,

Re: [PATCH 04/10] Allow asan at -O0

2012-11-06 Thread Diego Novillo
On 2012-11-02 15:58 , Dodji Seketeli wrote: This patch defines a new asan pass gate that is activated at -O0, in addition to the pass that was initially activated at -O3 level The patch also does some comment cleanups here and there. * asan.c (build_check_stmt): Rename join_bb variable t

Re: [PATCH 05/10] Implement protection of stack variables

2012-11-06 Thread Diego Novillo
On 2012-11-02 16:00 , Dodji Seketeli wrote: This patch implements the protection of stack variables. To understand how this works, lets look at this example on x86_64 where the stack grows downward: int foo () { char a[23] = {0}; int b[2] = {0}; a[5] = 1; b[1] = 2; r

Re: [PATCH 06/10] Implement protection of global variables

2012-11-06 Thread Diego Novillo
On 2012-11-02 16:01 , Dodji Seketeli wrote: * varasm.c: Include asan.h. (assemble_noswitch_variable): Grow size by asan_red_zone_size if decl is asan protected. (place_block_symbol): Likewise. (assemble_variable): If decl is asan protected, increase

Re: [PATCH 07/10] Make build_check_stmt accept an SSA_NAME for its base

2012-11-06 Thread Diego Novillo
On 2012-11-02 16:02 , Dodji Seketeli wrote: * asan.c (build_check_stmt): Accept the memory access to be represented by an SSA_NAME. OK. Diego.

Re: [PATCH 08/10] Factorize condition insertion code out of build_check_stmt

2012-11-06 Thread Diego Novillo
On 2012-11-02 16:03 , Dodji Seketeli wrote: * asan.c (create_cond_insert_point_before_iter): Factorize out of ... (build_check_stmt): ... here. OK. Diego.

Re: [PATCH 09/10] Instrument built-in memory access function calls

2012-11-06 Thread Diego Novillo
On 2012-11-02 16:05 , Dodji Seketeli wrote: +static bool +maybe_instrument_builtin_call (gimple_stmt_iterator *iter) +{ + gimple call = gsi_stmt (*iter); + location_t loc = gimple_location (call); + + if (!is_gimple_call (call)) +return false; Nit. Why not factor this out and change th

Re: [PATCH 10/10] Import the asan runtime library into GCC tree

2012-11-06 Thread Diego Novillo
On 2012-11-02 16:10 , Dodji Seketeli wrote: * configure.ac: Add libsanitizer to target_libraries. * Makefile.def: Ditto. * configure: Regenerate. * Makefile.in: Regenerate. * libsanitizer: New directory for asan runtime. Contains an empty tsan di

Re: [PATCH] Use propagate_threaded_block_debug_into even in loop header copying pass (PR debug/54693)

2012-11-06 Thread Alexandre Oliva
On Nov 6, 2012, Jakub Jelinek wrote: > 2012-11-06 Jakub Jelinek > PR debug/54693 > * tree-flow.h (propagate_threaded_block_debug_into): New prototype. > * tree-ssa-threadedge.c (propagate_threaded_block_debug_into): No > longer static. > * tree-ssa-loop-ch.c (co

Re: [PATCH] Stream cgraph_node.ipa_transforms_to_apply

2012-11-06 Thread Martin Jambor
Hi, On Mon, Nov 05, 2012 at 12:15:50PM +0100, Jan Hubicka wrote: > > Hi, > > > > the following patch adds streaming ofcgraph_node.ipa_transforms_to_apply > > so that transformation phases of IPA passes are run in LTO too. It is > > done by simple streaming of pass.static_pass_number and then loo

Re: [AArch64] fix missing Dwarf call frame information in the epilogue

2012-11-06 Thread Yufeng Zhang
Hi, Many thanks for reviewing. Please find the updated patch. The explicit calls to gen_rtx_PLUS and GEN_INT have been replaced by plus_constant, and the call to aarch64_set_frame_expr has been replaced with add_reg_note (REG_CFA_ADJUST_CFA). I'll clean up other cases in aarch64.c in a sep

Go patch committed: The Go runtime memcmp needs to return intgo

2012-11-06 Thread Ian Lance Taylor
This patch to the Go frontend and libgo add a Go-specific memcmp routine, which returns intgo rather than int. This is a step toward using 64-bit int. The memcmp routine is only used for struct and array equality comparisons, it is not really a performance issue. Bootstrapped and ran Go testsuite

Re: User directed Function Multiversioning via Function Overloading (issue5752064)

2012-11-06 Thread Sriraman Tallam
On Tue, Nov 6, 2012 at 7:52 AM, Jason Merrill wrote: > On 11/05/2012 09:38 PM, Sriraman Tallam wrote: >> >> + /* For multi-versioned functions, more than one match is just fine. >> >> +Call decls_match to make sure they are different because they are >> +versioned. */ >> +

[v3] libstdc++/51850

2012-11-06 Thread Paolo Carlini
Hi, this is what I'm finishing testing to add a debug-mode std::array. Things work pretty well, but I'm not fiddling for now with the iterators: std::array must remain an aggregate, thus we can't have base classes, thus we can't really use the standard debug-mode infrastructure for those. Bas

Re: New badness metric for inliner

2012-11-06 Thread Jan Hubicka
> > This broke the bootstrap on sparc: > > /home/davem/src/GIT/GCC/build-sparc32-linux/./prev-gcc/g++ > -B/home/davem/src/GIT/GCC/build-sparc32\ > -linux/./prev-gcc/ -B/usr/local/sparc-unknown-linux-gnu/bin/ -nostdinc++ > -B/home/davem/src/GIT/GCC\ > /build-sparc32-linux/prev-sparc-unknown-linu

Re: [AArch64] fix missing Dwarf call frame information in the epilogue

2012-11-06 Thread Richard Henderson
On 2012-11-06 09:56, Yufeng Zhang wrote: > 2012-11-06 Yufeng Zhang > > * config/aarch64/aarch64.c (aarch64_expand_prologue): For the > load-pair with writeback instruction, replace > aarch64_set_frame_expr with add_reg_note (REG_CFA_ADJUST_CFA); > add new loc

Re: [AArch64] fix missing Dwarf call frame information in the epilogue

2012-11-06 Thread Marcus Shawcroft
On 06/11/12 18:21, Richard Henderson wrote: On 2012-11-06 09:56, Yufeng Zhang wrote: 2012-11-06 Yufeng Zhang * config/aarch64/aarch64.c (aarch64_expand_prologue): For the load-pair with writeback instruction, replace aarch64_set_frame_expr with add_reg_note (REG_C

Re: New badness metric for inliner

2012-11-06 Thread David Miller
From: Jan Hubicka Date: Tue, 6 Nov 2012 19:21:46 +0100 > The problem here is really that MAX_TIME * MAX_FREQ do not fit into 32bit > integer. Fixed thus. > > * ipa-inline.c (compute_uninlined_call_time): Return gcov_type. > (compute_inlined_call_time): Watch overflows. > (rela

Go patch committed: Size of int is now 64 bits on x86_64

2012-11-06 Thread Ian Lance Taylor
This patch to the Go compiler and library changes the size of the Go type "int" to be the same as the size of a pointer. This means that on x86_64 the size of int will be 64 bits. This matches the new behaviour of the other Go compiler, and is the intended implementation for the future Go 1.1 rel

[PATCH,AArch64] Optimise comparison where intermediate result not used

2012-11-06 Thread Ian Bolton
Hi all, When we perform an addition but only use the result for a comparison, we can save an instruction. Consider this function: int foo (int a, int b) { return ((a + b) == 0) ? 1 : 7; } Here is the original output: foo: add w0, w0, w1 cmp w0, wzr mov w1, 7

Re: New badness metric for inliner

2012-11-06 Thread David Miller
From: David Miller Date: Tue, 06 Nov 2012 13:26:53 -0500 (EST) > From: Jan Hubicka > Date: Tue, 6 Nov 2012 19:21:46 +0100 > >> The problem here is really that MAX_TIME * MAX_FREQ do not fit into 32bit >> integer. Fixed thus. >> >> * ipa-inline.c (compute_uninlined_call_time): Return gcov

[PATCH,AArch64] Use CSINC instead of CSEL to return 1

2012-11-06 Thread Ian Bolton
Where a CSEL can return the value 1 as one of the alternatives, it is usually more efficient to use a CSINC than a CSEL (and never less efficient), since the value of 1 can be derived from wzr, rather than needing to set it up in a register first. This patch enables this capability. It has been r

[PATCH, i386]: Mark AVX maskstore memory operand as read-written

2012-11-06 Thread Uros Bizjak
Hello! We don't mark memory operand 0 of AVX maskstore insn as read-written. 2012-11-06 Uros Bizjak * config/i386/sse.md (_maskstore): Mark operand 0 as read and written by the instruction. Tested on x86_64-pc-linux-gnu, committed to mainline SVN, will be backported t

Re: [C++11] PR54413 Option for turning off compiler extensions for numeric literals.

2012-11-06 Thread Jason Merrill
Why three separate flags? The flag(s) need(s) to be documented in doc/invoke.texi. @@ -721,7 +733,12 @@ case OPT_std_c__1y: case OPT_std_gnu__1y: if (!preprocessing_asm_p) - set_std_cxx1y (code == OPT_std_c__11 /* ISO */); + { + set_std_cxx1y (code == OPT_st

[PATCH, i386]: Remove superfluous clear in ix86_init_machine_status

2012-11-06 Thread Uros Bizjak
Hello! The allocator function does mention "cleared". 2012-11-06 Uros Bizjak * config/i386/i386.c (ix86_init_machine_status): Do not explicitly clear tls_descriptor_call_expanded_p again. Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline SVN, will be backported to

Re: [patch] Contribute performance comparison script.

2012-11-06 Thread Diego Novillo
On Mon, Nov 5, 2012 at 9:38 PM, Lawrence Crowl wrote: > 2012-11-05 Lawrence Crowl > > * compare_two_ftime_report_sets: New. OK. Thanks. Diego.

Re: [C++] Omit overflow check for new char[n]

2012-11-06 Thread Jason Merrill
OK. Jason

Re: New badness metric for inliner

2012-11-06 Thread David Miller
From: David Miller Date: Tue, 06 Nov 2012 13:54:01 -0500 (EST) > From: David Miller > Date: Tue, 06 Nov 2012 13:26:53 -0500 (EST) > >> From: Jan Hubicka >> Date: Tue, 6 Nov 2012 19:21:46 +0100 >> >>> The problem here is really that MAX_TIME * MAX_FREQ do not fit into 32bit >>> integer. Fixed

Re: [PATCH] PR c++/54466 - ICE with alias template which type-id is const qualified

2012-11-06 Thread Jason Merrill
OK. You could also use TYPE_MAIN_DECL instead of TYPE_STUB_DECL. Jason

Re: PR c/51294 spurious warning from -Wconversion in C and C++ in conditional expressions

2012-11-06 Thread Jason Merrill
OK. Jason

Re: [C++ PATCH] Fix cplus_decl_attributes (PR c++/54988)

2012-11-06 Thread Jason Merrill
Please add a comment. OK with that change. Jason

Re: [Dwarf Fission] Implement Fission Proposal (issue6305113)

2012-11-06 Thread Sterling Augustine
On Mon, Nov 5, 2012 at 3:18 PM, Cary Coutant wrote: >> +/* %:replace-extension spec function. Replaces the extension of the >> + first argument with the second argument. */ >> + >> +const char * >> +replace_extension_spec_func (int argc, const char **argv) >> +{ >> + char *name; >> + char *p

Re: New badness metric for inliner

2012-11-06 Thread David Miller
From: David Miller Date: Tue, 06 Nov 2012 14:16:32 -0500 (EST) > (gdb) p inline_summary (edge->caller)->time > $1205 = -1044761 This negative value is computed by inline_update_overall_summary(). I added some debugging to dump the entry->time values processed when info->time goes negative: dav

Re: New badness metric for inliner

2012-11-06 Thread David Miller
From: David Miller Date: Tue, 06 Nov 2012 14:28:19 -0500 (EST) > Or perhaps we can get away with only using gcov_t for info->time, I'll > give that a try. That gets thing further, but if the edge times add up to such large values it seems we have lots of other potential problems. With info->tim

Go patch committed: More 64-bit int preparation

2012-11-06 Thread Ian Lance Taylor
This patch to the compiler and libgo fixes a number of minor issues in preparation for converting to 64-bit int. This is mostly changing from int to intgo, with a couple of exceptions: we limit new map entries to int32, and we handle the Go type rune as the C type int32. Bootstrapped and ran Go t

Go testsuite patch committed: Update for 64-bit int

2012-11-06 Thread Ian Lance Taylor
This patch updates the Go testsuite for the 64-bit int type. This is copied from the master copy of the testsuite. Ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian Index: gcc/testsuite/go.test/test/index.go ===

Re: [C++ Patch] for c++/11750

2012-11-06 Thread Fabien ChĂȘne
Jason, could you please have a look at this (rather old) one ? Thanks. 2012/8/13 Fabien ChĂȘne : > Hi, > > Here, we were setting the LOOKUP_NONVIRTUAL flag wrongly. Actually, we > need to check if the function context is the same than the instance > type -- yes that might happen that they be differ

sched-deps patch: Fix PR54580

2012-11-06 Thread Bernd Schmidt
If we have i1: [r1 + 24] = x i2: r1 = r1 + 24; i3: y = [r1] then, if not using cselib, we do not generate a dependency between i3 and i1, since we compare memory addresses [r1] and [r1 + 24]. This is somewhat lame, but safe since i2 depends on i1 and i3 depends on i2. However, it breaks with the

Re: Go patch committed: Size of int is now 64 bits on x86_64

2012-11-06 Thread Ian Lance Taylor
On Tue, Nov 6, 2012 at 10:46 AM, Ian Lance Taylor wrote: > This patch to the Go compiler and library changes the size of the Go > type "int" to be the same as the size of a pointer. This means that on > x86_64 the size of int will be 64 bits. This matches the new behaviour > of the other Go comp

Re: New badness metric for inliner

2012-11-06 Thread Jan Hubicka
> From: David Miller > Date: Tue, 06 Nov 2012 13:54:01 -0500 (EST) > > > From: David Miller > > Date: Tue, 06 Nov 2012 13:26:53 -0500 (EST) > > > >> From: Jan Hubicka > >> Date: Tue, 6 Nov 2012 19:21:46 +0100 > >> > >>> The problem here is really that MAX_TIME * MAX_FREQ do not fit into 32bit

Re: New badness metric for inliner

2012-11-06 Thread David Miller
From: Jan Hubicka Date: Tue, 6 Nov 2012 22:01:27 +0100 > Hmm, this is obvoiusly wrong. All the caller time computation should be > capped > to MAX_TIME that should be safe from overflows. They are not capped to MAX_TIME. They are capped to MAX_TIME * INLINE_TIME_SCALE which is 10.

Re: New badness metric for inliner

2012-11-06 Thread Jan Hubicka
> From: Jan Hubicka > Date: Tue, 6 Nov 2012 22:01:27 +0100 > > > Hmm, this is obvoiusly wrong. All the caller time computation should be > > capped > > to MAX_TIME that should be safe from overflows. > > They are not capped to MAX_TIME. > > They are capped to MAX_TIME * INLINE_TIME_SCALE whic

Re: [patch, testsuite, mips] Fix gcc.dg/torture/mips-sdata-1.c

2012-11-06 Thread Steve Ellcey
On Mon, 2012-11-05 at 23:22 +, Richard Sandiford wrote: > No, same here: I don't use --with-sysroot for the newlib targets. > Do you build a unified gcc+newlib tree? If not, I don't think > the above boilerplate works; you'll have to use something else > instead. E.g. install newlib first, c

Re: sched-deps patch: Fix PR54580

2012-11-06 Thread Richard Henderson
On 2012-11-06 12:58, Bernd Schmidt wrote: > * sched-deps.c (find_inc): Add all dependencies from the inc_insn > to the mem_insn. Ok. r~

[AARCH64/Committed] Fix g++.dg/abi/aarch64_guard1.C

2012-11-06 Thread Andrew Pinski
Hi, The problem here is with section anchors turned on, we generate a BSS rather than a local common symbol and we no longer match the pattern: "_ZGVZ3foovE1x,8,8". This fixes this testcase by just adding -fno-section-anchors. Thanks, Andrew Pinski 2012-11-06 Andrew Pinski * g++.dg

Re: [PATCH] Vzeroupper placement/47440

2012-11-06 Thread H.J. Lu
On Tue, Nov 6, 2012 at 2:30 AM, Kirill Yukhin wrote: > Hello, >> OK for mainline SVN, please commit. > Checked into GCC trunk: http://gcc.gnu.org/ml/gcc-cvs/2012-11/msg00176.html > > Thanks, K This caused: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55224 -- H.J.

  1   2   >