[Bug debug/54693] VTA guality issues with loops

2012-11-06 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54693 --- Comment #18 from Jakub Jelinek jakub at gcc dot gnu.org 2012-11-07 07:50:07 UTC --- Author: jakub Date: Wed Nov 7 07:50:01 2012 New Revision: 193281 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193281 Log: PR

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

2012-11-06 Thread Eric Botcazou
2012-11-05 Uros Bizjak ubiz...@gmail.com Kaz Kojima kkoj...@gcc.gnu.org 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

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 lead to

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 michael.haubenwall...@salomon.at 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

[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

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

2012-11-06 Thread Kaz Kojima
Eric Botcazou ebotca...@adacore.com 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

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 ebotca...@adacore.com 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

[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

[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

[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.

[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 ging...@adacore.com * exp_vfpt.adb: Document VAX float point layout. Index: exp_vfpt.adb === --- exp_vfpt.adb(revision

[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 ging...@adacore.com *

[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

[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

[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

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? Looks 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 oleg.e...@t-online.de 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

[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 cstddef 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 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

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. It

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] 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 char...@adacore.com * gcc-interface/Makefile.in: Add runtime pairs for Android. * s-osinte-android.ads,

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

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: Also I don't

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 mjam...@suse.cz 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

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

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

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 kkoj...@rr.iij4u.or.jp 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

[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 navee...@kpitcummins.com

[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 meiss...@linux.vnet.ibm.com 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

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

2012-11-06 Thread Jan Hubicka
2012-11-05 Martin Jambor mjam...@suse.cz 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

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

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

2012-11-06 Thread David Edelsohn
On Mon, Nov 5, 2012 at 11:54 PM, Peter Bergner berg...@vnet.ibm.com 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.

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 =

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 Team

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 j...@suse.cz + + *

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 dje@gmail.com 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

[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 ubiz...@gmail.com * config/i386/i386.c

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 trie...@redhat.com 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 current

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 to

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 pins...@gmail.com wrote: On Tue, Nov 6, 2012 at 6:54 AM, David Edelsohn dje@gmail.com 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

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:

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

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

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;

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

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

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 ja...@redhat.com wrote: 2012-11-06 Jakub Jelinek ja...@redhat.com 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.

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 looking it

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

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

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 ja...@redhat.com 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.

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\

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 yufeng.zh...@arm.com * 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);

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 Zhangyufeng.zh...@arm.com * config/aarch64/aarch64.c (aarch64_expand_prologue): For the load-pair with writeback instruction, replace aarch64_set_frame_expr

Re: New badness metric for inliner

2012-11-06 Thread David Miller
From: Jan Hubicka hubi...@ucw.cz 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.

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

[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 da...@davemloft.net Date: Tue, 06 Nov 2012 13:26:53 -0500 (EST) From: Jan Hubicka hubi...@ucw.cz 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

[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

[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 ubiz...@gmail.com * config/i386/sse.md (avx_avx2_maskstoressemodesuffixavxsizesuffix): Mark operand 0 as read and written by the instruction. Tested on

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 ==

[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 ubiz...@gmail.com * 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

Re: [patch] Contribute performance comparison script.

2012-11-06 Thread Diego Novillo
On Mon, Nov 5, 2012 at 9:38 PM, Lawrence Crowl cr...@googlers.com wrote: 2012-11-05 Lawrence Crowl cr...@google.com * 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 da...@davemloft.net Date: Tue, 06 Nov 2012 13:54:01 -0500 (EST) From: David Miller da...@davemloft.net Date: Tue, 06 Nov 2012 13:26:53 -0500 (EST) From: Jan Hubicka hubi...@ucw.cz Date: Tue, 6 Nov 2012 19:21:46 +0100 The problem here is really that MAX_TIME * MAX_FREQ

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: New badness metric for inliner

2012-11-06 Thread David Miller
From: David Miller da...@davemloft.net 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

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

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 fabien.ch...@gmail.com: 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

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 i...@google.com 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

Re: New badness metric for inliner

2012-11-06 Thread Jan Hubicka
From: David Miller da...@davemloft.net Date: Tue, 06 Nov 2012 13:54:01 -0500 (EST) From: David Miller da...@davemloft.net Date: Tue, 06 Nov 2012 13:26:53 -0500 (EST) From: Jan Hubicka hubi...@ucw.cz Date: Tue, 6 Nov 2012 19:21:46 +0100 The problem here is really that MAX_TIME *

Re: New badness metric for inliner

2012-11-06 Thread David Miller
From: Jan Hubicka hubi...@ucw.cz 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

Re: New badness metric for inliner

2012-11-06 Thread Jan Hubicka
From: Jan Hubicka hubi...@ucw.cz 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

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,

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 apin...@cavium.com

Re: [PATCH] Vzeroupper placement/47440

2012-11-06 Thread H.J. Lu
On Tue, Nov 6, 2012 at 2:30 AM, Kirill Yukhin kirill.yuk...@gmail.com 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.

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

2012-11-06 Thread Gerald Pfeifer
On Mon, 5 Nov 2012, Sriraman Tallam wrote: I have now committed the attached patch. ...and broke bootstrap on *-unknown-freebsd* and other targets that way: /scratch2/tmp/gerald/gcc-HEAD/gcc/config/i386/i386.c:28820:1: error: 'tree_node* make_dispatcher_decl(tree)' defined but not

<    1   2   3   >