[arm-embedded] Backport mainline 171096 .. 174035

2011-09-19 Thread Joey Ye
Backport from mainline to arm-embedded branch r171096, r171251, r171379, r171632, r171978, r172297, r174035. Committed. 2011-09-19 chengbin bin.ch...@arm.com Backport r174035 from mainline 2011-05-22 Tom de Vries t...@codesourcery.com PR middle-end/48689 *

RE: [arm-embedded] Simply enable GCC to support -march=armv6s-m as GAS does.

2011-09-19 Thread Terry Guo
Hello, I patched arm-arches.def and re-generated arm-tables.opt using command ./genopt.sh ../arm arm-tables.opt in directory gcc/config/arm. Now the updated patch is as below. Is it OK to trunk? BR, Terry 2011-09-19 Terry Guo terry@arm.com * config/arm/arm-arches.def

Re: [RFC] Split -mrecip

2011-09-19 Thread Uros Bizjak
On Sat, Sep 3, 2011 at 11:11 PM, Uros Bizjak ubiz...@gmail.com 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 in the future we might want to add more specialization, like

[arm-embedded] Backport mainline 174526

2011-09-19 Thread Joey Ye
Committed 2011-09-06 chengbin bin.ch...@arm.com Backport cortex-r5 from mainline based on r174526 * config/arm/arm-cores.def: Add cortex-r5. Add DIV flags to Cortex-A15. * config/arm/arm-tune.md: Regenerate. * config/arm/arm.c (FL_DIV): Rename...

[arm-embedded] Backport mainline 174803, 175208, 175427

2011-09-19 Thread Joey Ye
Backport from mainline to ARM/embedded-4_6-branch. Committed. 2011-09-19 Jiangning Liu jiangning@arm.com Backport r175427 from mainline 2011-06-27 Richard Guenther rguent...@suse.de PR tree-optimization/49169 * fold-const.c

[Ada] Correct references in Alfa mode for use of renamings

2011-09-19 Thread Arnaud Charlet
In Alfa mode, consider the underlying entity renamed instead of the renaming for the reference, because the latter is needed to compute a valid set of effects for the enclosing subprogram. If no such enclosing object, then it could be a reference to any location not tracked individually, like

[Ada] Expression functions do not freeze

2011-09-19 Thread Arnaud Charlet
The body that is created for an expression function does not freeze. When a new declaration and body are created for an expression function, the new body must be inserted at the end of the current declarative part or package spec, to prevent premature freezing of related types. The following must

[Ada] Deal with references for Alfa mode through multiple renamings

2011-09-19 Thread Arnaud Charlet
Get the enclosing entity through possible multiple renamings, not only once, which may come from source or from the translation of generic instantiations. Only for the Alfa mode for formal verification. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-09-19 Yannick Moy m...@adacore.com

[Ada] Implement new Aspect control restrictions

2011-09-19 Thread Arnaud Charlet
Ada 2012 AI-241. Restriction No_Implementation_Aspect_Specifications disallows any implementation defined aspect specifications. It is included in the profile No_Implementation_Extensions. Restriction No_Implementation_Of_Aspects = Aspect_Identifier disallows a specified aspect specification. The

[Ada] Do not perform tagged type expansion in Alfa mode

2011-09-19 Thread Arnaud Charlet
Tagged type expansion should not be performed in the formal verification mode. It was previously performed, to avoid some errors, which are now corrected. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-09-19 Yannick Moy m...@adacore.com * gnat1drv.adb (Adjust_Global_Switches):

Re: [arm-embedded] Simply enable GCC to support -march=armv6s-m as GAS does.

2011-09-19 Thread Richard Earnshaw
On 19 Sep 2011, at 07:50, Terry Guo terry@arm.com wrote: Hello, I patched arm-arches.def and re-generated arm-tables.opt using command ./genopt.sh ../arm arm-tables.opt in directory gcc/config/arm. Now the updated patch is as below. Is it OK to trunk? BR, Terry 2011-09-19

[PATCH] Fix PR 48374

2011-09-19 Thread Andrey Belevantsev
Hello, The problem here is the case where the selective scheduler doesn't expect having a block with zero successors. The patch is near obvious which is why it was forgotten for nearly half a year, but still it applies cleanly and fixes the testcase, full testing is in progress. OK for

[arm-embedded] Backport mainline 177890, 177891

2011-09-19 Thread Joey Ye
Backport following mainline revs to ARM/embedded-4_6-branch: 177890, 177891. Committed. 2011-09-19 Joey Ye joey...@arm.com Backport r177891 from mainline 2011-08-19 Matthew Gretton-Dann matthew.gretton-d...@arm.com PR target/49437 * config/arm/arm.c

[Ada] Change SIGADAABRT to SIGABRT on Darwin

2011-09-19 Thread Arnaud Charlet
The GNAT tasking runtimes using a signal (SIGADAABRT) for asynchronous task abortion. On most platforms, SIGADAABRT is SIGABRT, but Darwin used to use SIGTERM for that purpose. This change makes Darwin consistent with the majority of platforms. This allows tasking programs to install their own

[Ada] Expand set membership test in Alfa mode

2011-09-19 Thread Arnaud Charlet
Expansion for set membership in normal mode is also useful in Alfa mode for formal verification, hence apply it too in that case. Tested on x86_64-pc-linux-gnu, committed on trunk 2011-09-19 Yannick Moy m...@adacore.com * exp_alfa.adb, exp_alfa.ads (Expand_Alfa_N_In): New function

[Ada] DSA code generation reorganization

2011-09-19 Thread Arnaud Charlet
This change causes the compiler to copy components from runtime record type System.Partition_Interface.RACW_Stub_Type instead of hard-coding the component list in Build_Stub_Type. This allows the structure of that type to be changed in the PCS without having to change the compiler. Tested on

ARM 64-bit shift ICE

2011-09-19 Thread Paul Brook
The patch below fixes gcc.c-torture/execute/builtin-bitops-1.c on ARM/Thumb-2 targets. The story here is that ARM doesn't have a 64-bit shift operator, so these get decomposed into something like: low1 = (low n) low1 |= (high (32 - n)) /**/ low2 = high (32 - n) low_result = (n 32) ? low2 :

[arm-embedded] Backport mainline 174115 .. 178628

2011-09-19 Thread Joey Ye
Backport following mainline revs to ARM/embedded-4_6-branch: 174115, 176760, 177594, 178628. Committed. 2011-09-19 Terry Guo terry@arm.com Backport r178628 from mainline 2011-09-07 Jiangning Liu jiangning@arm.com PR tree-optimization/46021 *

[PATCH] Improve SSE4.1+ float extraction from V4SFmode

2011-09-19 Thread Jakub Jelinek
Hi! As mentioned in an earlier posting, for -msse4.1 and above on the gcc.target/i386/{sse2,avx}-extract-1.c testcases we generate inefficient code when trying to extract SFmode from V4SFmode, unless it is the element 0. The problem is that the sse4_1_extractps pattern matches, but doesn't have a

[patch] Fix PR tree-optmization/50413

2011-09-19 Thread Ira Rosen
Hi, When we can't vectorize a certain statement in SLP we mark it as not vectorizable and continue with the analysis. This is wrong when the reason for the failure is that we can't analyze a data-ref, because this way we may miss a data dependence. This patch fails SLP if the data-refs analysis

[v3] libstdc++/40856

2011-09-19 Thread Paolo Carlini
Hi, tested x86_64-linux multilib, committed to mainline. Paolo. 2011-09-19 Paolo Carlini paolo.carl...@oracle.com PR libstdc++/40856 * include/std/limits (numeric_limits__int128_t, numeric_limits__uint128_t): Add. *

Re: PowerPC shrink-wrap support 0 of 3

2011-09-19 Thread Bernd Schmidt
On 09/19/11 02:16, Alan Modra wrote: On Sat, Sep 17, 2011 at 03:26:21PM +0200, Bernd Schmidt wrote: On 09/17/11 09:16, Alan Modra wrote: This patch series adds shrink-wrap support for PowerPC. The patches are on top of Bernd's Initial shrink-wrapping patch:

Re: [Ada] fix potential memory corruption in annotated value cache

2011-09-19 Thread Alexandre Oliva
On Sep 16, 2011, Eric Botcazou ebotca...@adacore.com wrote: Yes, modulo Jakub's remark and s/NULL/NULL_TREE for zeroing in.base.from. Thanks, here's what I've just checked in. for gcc/ada/ChangeLog from Alexandre Oliva aol...@redhat.com * gcc-interface/decl.c (annotate_value): Look up

[FYI] fix name of unused TREE_NOT_CHECK4

2011-09-19 Thread Alexandre Oliva
I caught this by chance: TREE_NOT_CHECK4 was not named properly, deviating from the standard of other TREE_NOT_CHECK* macros, and different from the equivalent macro in the without-tree-checking portion of the macro setting. I've checked this in as obvious, after bootstrapping it along with other

Re: [PATCH] Do not store/stream binfos in jump functions

2011-09-19 Thread Martin Jambor
Hi, On Fri, Sep 16, 2011 at 04:29:44PM +0200, Jan Hubicka wrote: * ipa-prop.h (jump_func_type): Updated comments. (ipa_known_type_data): New type. (ipa_jump_func): Use it to describe known type jump functions. * ipa-prop.c (ipa_print_node_jump_functions_for_edge):

Re: ARM 64-bit shift ICE

2011-09-19 Thread Andrew Stubbs
On 19/09/11 10:12, Paul Brook wrote: In Thumb-2 mode we try and match an M constraint (const_int between 0 and 31) with no other alternatives. This fails, and with nowhere else to go we ICE. The fix is to restrict the predicate for these insns to only accept valid const_int shift counts. This

Re: [PATCH 3/7] Emit macro expansion related diagnostics

2011-09-19 Thread Dodji Seketeli
Jason Merrill ja...@redhat.com writes: On 09/16/2011 03:55 AM, Dodji Seketeli wrote: +test.c: In function ‘g’: +test.c:5:14: error: invalid operands to binary (have ‘double’ and ‘int’) +test.c:2:9: note: in expansion of macro 'OPERATE' +test.c:5:3: note: expanded from

Re: [patch] Fix PR tree-optmization/50413

2011-09-19 Thread H.J. Lu
On Mon, Sep 19, 2011 at 4:46 AM, Ira Rosen ira.ro...@linaro.org wrote: Hi, When we can't vectorize a certain statement in SLP we mark it as not vectorizable and continue with the analysis. This is wrong when the reason for the failure is that we can't analyze a data-ref, because this way we

[PATCH] [GCC testsuite] SEQUENCE_LENGTH in memcpy-2.c

2011-09-19 Thread Greta Yorsh
This patch improves an existing test case for memcpy. The test case memcpy-2.c checks that memory outside the destination is not corrupted. The check fails if SEQUENCE_LENGTH MAX_OFFSET, although it does not happen with the default values of these macros. This patch fixes the check to work for

Re: [patch] Don't try to reload match_operator

2011-09-19 Thread Ulrich Weigand
Richard Earnshaw wrote: This patch fixes a couple of cases where reload incorrectly thinks it should be messing around with the result of a match_operator operand. Given that it's never even tried to validate the contents of such an operand the changes it tries to make are bogus. I'm

Re: [PATCH] Improve SSE4.1+ float extraction from V4SFmode

2011-09-19 Thread Richard Henderson
On 09/19/2011 04:33 AM, Jakub Jelinek wrote: * config/i386/sse.md (*sse4_1_extractps): Change into define_insn_and_split, add =x 0 n and =x x n alternatives and split them after reload. Ok. r~

Re: [PATCH, libiberty] correct md5_process_bytes with unaligned pointers

2011-09-19 Thread Pierre Vittet
Hello, Ping! I would like to get a return on this patch. I don't know quite well the status of libiberty in GNU, please if I must this patch on another mailing list, please say me on which. Thanks! Pierre Vittet

Re: [PATCH] Improve SSE4.1+ float extraction from V4SFmode

2011-09-19 Thread Uros Bizjak
On Mon, Sep 19, 2011 at 1:33 PM, Jakub Jelinek ja...@redhat.com wrote: As mentioned in an earlier posting, for -msse4.1 and above on the gcc.target/i386/{sse2,avx}-extract-1.c testcases we generate inefficient code when trying to extract SFmode from V4SFmode, unless it is the element 0. The

Re: [patch] Don't try to reload match_operator

2011-09-19 Thread Richard Earnshaw
On 19/09/11 15:14, Ulrich Weigand wrote: Richard Earnshaw wrote: This patch fixes a couple of cases where reload incorrectly thinks it should be messing around with the result of a match_operator operand. Given that it's never even tried to validate the contents of such an operand the

Re: [patch] Don't try to reload match_operator

2011-09-19 Thread Ulrich Weigand
Richard Earnshaw wrote: On 19/09/11 15:14, Ulrich Weigand wrote: So it seems to me that for match_operator operands, the goal_alternative_win flag should always be true ... Can you find out why this isn't true in your case? Hmm, I think it must be because of this: /* If the

Re: [PATCH] PR49452, prevent post reload combining cross blockage insn

2011-09-19 Thread Jeff Law
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 09/19/11 02:51, Carrot Wei wrote: Hi We should not combine insns cross volatile insns. Combine.c already does this check, postreload should also do so. Bootstrapped and regtested on x86_64-unknown-linux-gnu. Regtested on arm qemu.

Re: [patch] Don't try to reload match_operator

2011-09-19 Thread Richard Earnshaw
On 19/09/11 16:53, Ulrich Weigand wrote: Richard Earnshaw wrote: On 19/09/11 15:14, Ulrich Weigand wrote: So it seems to me that for match_operator operands, the goal_alternative_win flag should always be true ... Can you find out why this isn't true in your case? Hmm, I think it must be

[PATCH, i386]: Macroize min/max patterns some more

2011-09-19 Thread Uros Bizjak
Hello! 2011-09-19 Uros Bizjak ubiz...@gmail.com * config/i386/i386.md (maxmin): New code iterator. * config/i386/sse.md (maxmin:codemode3): Macroize expander from umaxmin:codemode3 and smaxmin:codemode3 using maxmin code iterator.

[PATCH, MELT] correct meltgc_string_hex_md5sum_file_sequence

2011-09-19 Thread Pierre Vittet
Hello Here is a patch allowing to compute correctly the md5 of a file sequence even with the bug rapported here: http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00963.html. The function will work with both gcc 4.6 without the patch and a gcc with the patch applied. The problem cames from the fact

[PATCH, i386]: Two cleanups.

2011-09-19 Thread Uros Bizjak
Hello!

Re: [PATCH, i386]: Two cleanups.

2011-09-19 Thread Uros Bizjak
Hello! No functional change. 2011-09-19 Uros Bizjak ubiz...@gmail.com * config/i386/mmx.md (*movmode_internal_rex64): Use if_then_else RTX to calculate unit, prefix_rep and prefix_data16 attributes. (*movmode_internal): Ditto for unit attribute.

Re: [PATCH 3/7] Emit macro expansion related diagnostics

2011-09-19 Thread Jason Merrill
On 09/19/2011 09:58 AM, Dodji Seketeli wrote: + The part that goes from the third to the heighth line of this An extra 'h' snuck in there. :) Inside the definition of a macro M, you can have another macro M'. And M' is going to be eventually expanded into a token FOO. So, to paraphrase

Re: [PATCH, MELT] correct meltgc_string_hex_md5sum_file_sequence

2011-09-19 Thread Basile Starynkevitch
On Mon, 19 Sep 2011 20:02:16 +0200 Pierre Vittet pier...@pvittet.com wrote: Hello Here is a patch allowing to compute correctly the md5 of a file sequence even with the bug rapported here: http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00963.html. The function will work with both gcc 4.6

v{extract,insert,broadcast,perm2}{i,f}128

2011-09-19 Thread Jakub Jelinek
Hi! AVX2 prefers v*i128 instructions for vector integer modes, while AVX only supports v*f128. In one of my recent patches I've changed vextract* so that it emits v*i128 instead of v*f128 for AVX2 on integer modes, but I wonder what is the prefered way to change the rest of the insn. E.g. we

Re: [cxx-mem-model] C++ wrappers

2011-09-19 Thread Jason Merrill
On 09/15/2011 06:02 PM, Andrew MacLeod wrote: On 09/15/2011 05:49 PM, Jason Merrill wrote: Do we want to start exporting these from libstdc++? I dont know the ins and outs of the library... the typedefs and specializations are already there, I can write: atomic_char c; c = 'a' in my

[patch, Fortran, RFC] Implement library side of {MIN,MAX}{LOC,VAL} with character arguments

2011-09-19 Thread Thomas Koenig
Hello world, this patch implements the library side of PR 36313, minloc and friends on character arguments. I haven't started tackling the inline versions yet. I suspect that these are easy for somebody who knows the scalarizer (not me :-) but I'll start looking into how to do it. Unless, of

Re: [PATCH] PR49452, prevent post reload combining cross blockage insn

2011-09-19 Thread Eric Botcazou
2011-09-19 Wei Guozhi car...@google.com PR 49452 * postreload.c (reload_combine): Invalidate use information when across volatile insn. PR rtl-optimization/49452, otherwise I'm not sure the commit will be xref'ed. -- Eric Botcazou

[PATCH] Distribute inliner's size_time data across entries with similar predicates

2011-09-19 Thread Maxim Kuvyrkov
Jan, The following patch started as a one-liner for ipa-inline-analysis.c: account_size_time() to merge predicates when we are adding data to entry[0] (i.e., when space for 32 size_time entries is exhausted): @@ -537,6 +592,9 @@ account_size_time (struct inline_summary } else { +

Re: [PATCH 3/7] Emit macro expansion related diagnostics

2011-09-19 Thread Jason Merrill
On 09/19/2011 02:29 PM, Jason Merrill wrote: expansion location. So it seems like we ought to be able to get away with only storing one location per token in a macro expansion map. Am I missing something? I notice that here: +/* Resolve the location iter-where into the locus 1/ of

Re: [PATCH 2/7] Generate virtual locations for tokens

2011-09-19 Thread Jason Merrill
On 09/18/2011 06:47 AM, Dodji Seketeli wrote: +cpp_hashnode *macro; + + }c; Extra blank line, missing space. +/* Appends a token to the end of the token buffer BUFFER. Note that + this function doesn't enlarge BUFFER; it overwrite the last memory + location of BUFFER that holds a

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

2011-09-19 Thread Jason Merrill
On 09/19/2011 04:22 AM, Ed Smith-Rowland wrote: +check_literal_operator_args( const_tree decl, Space before the (, not after. Done. I am now storing the numeric string along with the number and the suffix ID for numeric operators. I'm keeping the numeric value because we need it too.

Re: [PATCH] check_cfg assert fix

2011-09-19 Thread Maxim Kuvyrkov
On 14/09/2011, at 7:40 AM, Maxim Kuvyrkov wrote: OK then, attached is the trivial patch that removes haifa-sched.c:check_cfg(). Please let me know if you have strong feelings towards keeping check_cfg(). Tested on x86_64-linux-gnu. Absent any requests to the contrary, I will check in

Re: [PATCH 3/7] Emit macro expansion related diagnostics

2011-09-19 Thread Dodji Seketeli
Jason Merrill ja...@redhat.com writes: On 09/19/2011 09:58 AM, Dodji Seketeli wrote: + The part that goes from the third to the heighth line of this An extra 'h' snuck in there. :) Oops, fixed in my local copy, sorry. Inside the definition of a macro M, you can have another macro

[patch] --enable-dynamic-string default for mingw-w64

2011-09-19 Thread JonY
Hi, Its been used in the automated toolchain builds for sometime, seems like a good idea to enable it by default. It can be easily changed to match for all mingw as well if needed. OK for trunk? Index: libstdc++-v3/configure.ac ===

Go patch committed: Fix handling of mutually recursive named types

2011-09-19 Thread Ian Lance Taylor
The Go frontend was overloading Named_type::seen_ to mean too many different things. It caused a compiler crash compiling mutually recursive types as in: type T18 *[10]T19 type T19 T18 This patch fixes the problem by splitting off the only complex use of seen_ into a new field. I also changed

Re: [Patch] PR c++/26256

2011-09-19 Thread Jason Merrill
On 09/17/2011 09:44 AM, Fabien Chêne wrote: I tried various things without success, and I ended up hacking supplement_binding_1 to handle those ENUMERAL_TYPEs. I am all ear for another solution ... Your solution seems reasonable to me, but it needs a comment, along the lines of /* We allow

[RFA] timeval-utils.c for libiberty

2011-09-19 Thread Doug Evans
Hi. This patch adds two functions, timeval_add and timeval_sub, to libiberty. GDB has use for them in a few places and since they're general purpose I wish to check them into libiberty. Ok to check in? 2011-09-19 Doug Evans d...@google.com include/ * timeval-utils.h: New

[PATCH] Make the pass of 941014-1.c as a normal pass.

2011-09-19 Thread Terry Guo
Hello, This is an old case written in 1997. Perhaps it intends to cover an old gcc bug. In fact the case itself passed on QEMU for cortex-m3. So I am proposing a patch here to remove the test script to make this pass as a normal pass. Otherwise the pass is regarded as XPASS. Is it ok to trunk?

[pph] Stream merging information (issue5090041)

2011-09-19 Thread Lawrence Crowl
Prepare for merging symbols. When writing a cp_binding_level, we emit this_entity first, so that we can identify the context of the bindings early. If this_entity is a namespace, we call alternate routines that track the namespace. These ultimately call pph_write_namespace_tree, which adds

Re: v{extract,insert,broadcast,perm2}{i,f}128

2011-09-19 Thread Uros Bizjak
On Mon, Sep 19, 2011 at 9:08 PM, Jakub Jelinek ja...@redhat.com wrote: AVX2 prefers v*i128 instructions for vector integer modes, while AVX only supports v*f128. In one of my recent patches I've changed vextract* so that it emits v*i128 instead of v*f128 for AVX2 on integer modes, but I

Re: [patch] --enable-dynamic-string default for mingw-w64

2011-09-19 Thread Kai Tietz
2011/9/20 JonY jo...@users.sourceforge.net: Hi, Its been used in the automated toolchain builds for sometime, seems like a good idea to enable it by default. It can be easily changed to match for all mingw as well if needed. OK for trunk? Index: libstdc++-v3/configure.ac