[PATCH 2/4] Free large chunks in ggc v2

2011-10-21 Thread Andi Kleen
From: Andi Kleen This implements the freeing back of large chunks in the ggc madvise path Richard Guenther asked for. This way on systems with limited address space malloc() and other allocators still have a chance to get back at some of the memory ggc freed. The fragmented pages are still just

[PATCH 4/4] Use more efficient alignment in ggc

2011-10-21 Thread Andi Kleen
From: Andi Kleen Jakub had some concerns about the performance of page alignments in ggc-page, which use a hardware division instructions currently. This patch changes them all to use a new PAGE_ALIGN macro, which exploits that pages are a power of two. 2011-10-21 Andi Kleen * ggc-pa

Another ggc anti fragmentation patchkit

2011-10-21 Thread Andi Kleen
This version addresses all earlier review comments. Passes bootstrap and testing on x86-64. Ok? -Andi

[PATCH 3/4] Add a fragmentation fallback in ggc-page v2

2011-10-21 Thread Andi Kleen
From: Andi Kleen There were some concerns that the earlier munmap patch could lead to address space being freed that cannot be allocated again by ggc due to fragmentation. This patch adds a fragmentation fallback to solve this: when a GGC_QUIRE_SIZE sized allocation fails, try again with a page s

[PATCH 1/4] Add missing page rounding of a page_entry

2011-10-21 Thread Andi Kleen
From: Andi Kleen This one place in ggc forgot to round page_entry->bytes to the next page boundary, which lead to all the heuristics in freeing to check for continuous memory failing. Round here too, like all other allocators already do. The memory consumed should be the same for MMAP because the

Re: Ping: demangle C++ extern "C" functions

2011-10-21 Thread Ian Lance Taylor
Marc Glisse writes: >> _Z1aIFYviEEvPT_ >> void a(void (*)(int) extern "C") Does g++ ever actually generate a symbol name like this? Is it worth worrying about? Personally if we are going to print this at all I think the extern "C" should be in square brackets. E.g., void a(void (*)(int) [ex

Re: [libcpp] Correctly define __cplusplus (PR libstdc++-v3/1773)

2011-10-21 Thread Jason Merrill
On 10/21/2011 06:22 PM, Mike Stump wrote: Is there a plan on what the default language will be? C is stuck in 1980, and will be forever. Personally, I'd rather have g++ move up language standards by default, I'd rather make the move before 2023. I think it makes sense to change the default

Re: Ping: [PATCH] non-GNU C++ compilers

2011-10-21 Thread DJ Delorie
Committed. Thanks!

Re: [libcpp] Correctly define __cplusplus (PR libstdc++-v3/1773)

2011-10-21 Thread Gabriel Dos Reis
On Fri, Oct 21, 2011 at 5:22 PM, Mike Stump wrote: > On Oct 21, 2011, at 12:52 PM, Jason Merrill wrote: >> On 10/21/2011 03:11 PM, Marc Glisse wrote: >>> Note that at least clang now defines __cplusplus to its new C++11 value >>> (in experimental C++0X mode only). Apparently they switched around l

Re: [C++ Patch] PR 48630 (PR 31423)

2011-10-21 Thread Gabriel Dos Reis
On Fri, Oct 21, 2011 at 12:52 PM, Paolo Carlini wrote: > Hi again, >>> >>> Another acceptable fix is to >>>   -- leave the current diagnostic as is if -fms-extensions >>>   -- suggest '()' is member function >>>   -- otherwise suggest '&'. >> >> Thanks for your help Gaby, in particular about the M

Re: [PATCH 2/2, libcpp] Fix lookup of macro maps

2011-10-21 Thread Dodji Seketeli
This is the right patch that I bootstrapped and tested. * line-map.c (linemap_macro_map_lookup): Make sure to always pick the map with the highest MAP_START_LOCATION. --- libcpp/line-map.c |9 +++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/libcpp/line

[PATCH 2/2, libcpp] Fix lookup of macro maps

2011-10-21 Thread Dodji Seketeli
Hello, I noticed that linemap_macro_map_lookup can yield the wrong map when at the end of the lookup, we end up with a pair of maps whose indexes are (mn,mx) with mx-mn == 1. In that case, if the map we want is mn, we'd wrongly yield mx. Fixed thus, bootstrapped and tested on x86_64-unknown-linu

[PATCH 1/2, libcpp] Support expansion of reserved locations wrapped in virtual locations

2011-10-21 Thread Dodji Seketeli
Hello, A virtual location can now "wrap" a reserved location. By reserved location, I mean a location that is less than RESERVED_LOCATION_COUNT (i.e UNKNOWN_LOCATION or BUILTINS_LOCATION). When such a virtual location is passed to linemap_resolve_location, that function returns the bare reserved

[PATCH 0/2, libcpp] Fix virtual location expansion and macro map lookup

2011-10-21 Thread Dodji Seketeli
Hello, The following two patches fixes virtual locations handling to progress toward bootstrapping the compiler with CFLAGS=-ftrack-macro-expansion CXXFLAGS=-ftrack-macro-expansion After these two patches I'll still need to update many c++ test cases and probably exercise some dg-prune-fu to cope

[Committed] fortra/50821 -- fix regression in ishft[c]

2011-10-21 Thread Steve Kargl
I've committed the attached patch to address a regression caused by my recent change to argument checking in ISHFT[C]. Both my regression test and Dominiq's regression test passed. Sorry about the breakage. 2011-10-20 Steven G. Kargl PR fortran/50821 * check.c (gfc_check_ish

fix typo in reload

2011-10-21 Thread Mike Stump
In: r37370 | bernds | 2000-11-10 09:10:29 -0800 (Fri, 10 Nov 2000) | 2 lines Several fixes to make reload handle POST_MODIFY correctly. We see: -regno_clobbered_p (regno, insn, mode) +regno_clobbered_p (regno, insn, mode, sets) unsigned int regno; rtx insn; enum machine_mode m

Re: [libcpp] Correctly define __cplusplus (PR libstdc++-v3/1773)

2011-10-21 Thread Mike Stump
On Oct 21, 2011, at 12:52 PM, Jason Merrill wrote: > On 10/21/2011 03:11 PM, Marc Glisse wrote: >> Note that at least clang now defines __cplusplus to its new C++11 value >> (in experimental C++0X mode only). Apparently they switched around last >> June and say they are not the only ones. So if you

[trans-mem] wrong calling convention _ITM_free with i*86

2011-10-21 Thread Patrick Marlier
The calling convention with i?86 (32bits) is wrong for _ITM_free (and _ITM_malloc/_ITM_calloc). Here an example: 0x08049fd2 <+251>: mov-0x14(%ebp),%eax 0x08049fd5 <+254>: call 0x804b150 <_ITM_free(void*)> Dump of assembler code for function _ITM_free(void*): 0x0804b150 <+0>:

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

2011-10-21 Thread Jason Merrill
I think we're down to minor cosmetic issues: On 10/21/2011 03:55 PM, Tom Tromey wrote: There are a few spots like this that are missing a space before an open paren. + if (DECL_LANGUAGE(decl) == lang_c) Another one. - if (warn_cxx0x_compat - && C_RID_CODE (token

Re: [PATCH] Fix c6x unwinding info

2011-10-21 Thread Bernd Schmidt
On 10/03/11 17:57, Paul Brook wrote: > 2011-10-03 Paul Brook > > * config/c6x/c6x.c (c6x_asm_emit_except_personality, > c6x_asm_init_sections): New functions. > (TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS): > Define. This was also never applied. I've c

Re: Fix C6x 24-bit unwinding opcodes

2011-10-21 Thread Bernd Schmidt
On 10/03/11 17:52, Paul Brook wrote: > The C6XABI defined persoality routines ID 3 and 4 use a single 24-bit block > word of unwinding data. Patch below makes sure this is preserved, rather > than > treating it as a set of unwinding opcode bytes. > > I seem to have lost this bit of code when I

Re: [patch] dwarf2out crash: missing GTY? (PR 50806)

2011-10-21 Thread Steve Ellcey
On Fri, 2011-10-21 at 21:25 +0200, Jakub Jelinek wrote: > My guess would be > http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180194 > DEBUG_EXPR certainly shouldn't make it through into mem_loc_descriptor, > var-tracking is supposed to resolve that. > > Jakub You are right, the bug start

Re: [cxx-mem-model] Handle x86-64 with -m32

2011-10-21 Thread Joseph S. Myers
On Fri, 21 Oct 2011, Aldy Hernandez wrote: > > > X32 uses x86-64 instruction set with 32bit pointers. It has the same > > > atomic support as x86-64 and has atomic support for int128. > > > > Oh, you aren't talking about 32 bit, but a 32 bit abi on a 64 bit machine. > > Thanks for pointing this

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

2011-10-21 Thread Tom Tromey
> "Ed" == Ed Smith-Rowland <3dw...@verizon.net> writes: Ed> + /* Nonzero for the 2011 C++ Standard. */ Ed> + unsigned char cxx11; I think it would be better if the new field name reflected its purpose, so something like "user_literals". Ed> + if (ISIDST(*cur)) Ed> + { Ed> + typ

Re: [PATCH, m68k] Fix floating-point comparisons with zero

2011-10-21 Thread Andreas Schwab
Julian Brown writes: > gcc/ > * config/m68k/m68k.c (notice_update_cc): Tighten condition for > setting CC_REVERSED for FP comparisons. Ok. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for someth

Re: [libcpp] Correctly define __cplusplus (PR libstdc++-v3/1773)

2011-10-21 Thread Jason Merrill
On 10/21/2011 03:11 PM, Marc Glisse wrote: Note that at least clang now defines __cplusplus to its new C++11 value (in experimental C++0X mode only). Apparently they switched around last June and say they are not the only ones. So if you want to follow their lead... Hmm, between that and the fa

Re: [patch] dwarf2out: Use DW_FORM_ref_udata (.debug -= 7.53%)

2011-10-21 Thread Jan Kratochvil
On Fri, 21 Oct 2011 21:11:16 +0200, Jakub Jelinek wrote: > Well, you calculate the sizes multiple times anyway, so I don't see why you > during the size calculations you couldn't start with DW_FORM_ref_udata > as first guess and compute on the side also total sizes of those > DW_FORM_ref_udata byte

Re: [v3] libstdc++/50196 - enable std::thread, std::mutex etc. on darwin

2011-10-21 Thread Jonathan Wakely
On 21 October 2011 09:15, Jonathan Wakely wrote: > On 21 October 2011 00:43, Jonathan Wakely wrote: >> This patch should enable macosx support for and partial >> support for , by defining _GLIBCXX_HAS_GTHREADS on POSIX >> systems without the _POSIX_TIMEOUTS option, and only disabling the >> types

Re: [RFA:] fix breakage with "Update testsuite to run with slim LTO"

2011-10-21 Thread Hans-Peter Nilsson
> Date: Fri, 21 Oct 2011 20:34:05 +0200 > From: Jan Hubicka > I guess we could make ipa-dump/rtl-dump/tree-dump scanning to disable fat lto > and introduce variants intended to scan late tree dumps and ipa execution > dumps... Ok, sounds like a plan. Are there any such scan-tests-with-late-thi

Re: [PATCH] Fix V4DImode/V8SImode extract even/odd permutation with -mavx (PR target/50813)

2011-10-21 Thread Richard Henderson
On 10/21/2011 11:42 AM, Jakub Jelinek wrote: > PR target/50813 > * config/i386/i386.c (expand_vec_perm_even_odd_1): Handle > V4DImode and V8SImode for !TARGET_AVX2. > > * gcc.dg/torture/vshuf-32.inc: Add broadcast permutation > from element other than first and revers

Re: your mail

2011-10-21 Thread Jakub Jelinek
On Fri, Oct 21, 2011 at 09:54:56AM -0700, Steve Ellcey wrote: > FYI: I am seeing this same ICE on the hppa64-hp-hpux11.11 bootstrap. > > (debug_expr:DI D#49) > /ctires/gcc/nightly/src/trunk/gcc/cselib.c: In function 'void > cselib_record_sets(rtx)': > /ctires/gcc/nightly/src/trunk/gcc/cselib.c:24

Re: [libcpp] Correctly define __cplusplus (PR libstdc++-v3/1773)

2011-10-21 Thread Marc Glisse
On Tue, 9 Aug 2011, Jason Merrill wrote: On 08/09/2011 09:14 AM, Marc Glisse wrote: I don't think we should define the C++ 2011 value yet. In my opinion, we should wait until: 1) the standard is official 2) gcc implements most of it: people will want to use __cplusplus as a test to know if they

Re: [patch] dwarf2out: Use DW_FORM_ref_udata (.debug -= 7.53%)

2011-10-21 Thread Jakub Jelinek
On Fri, Oct 21, 2011 at 08:01:29PM +0200, Jan Kratochvil wrote: > I had a draft patch to use DW_FORM_ref1, DW_FORM_ref2, DW_FORM_ref_udata and > DW_FORM_ref4 which should be slightly smaller than just DW_FORM_ref_udata. > But it produced larger files than just DW_FORM_ref_udata. Assuming it was du

RE: [Patch,AVR] Clean-up avr.c: Break long lines, move targetm to end of file.

2011-10-21 Thread Weddington, Eric
> -Original Message- > From: Georg-Johann Lay [mailto:a...@gjlay.de] > Sent: Friday, October 21, 2011 12:52 PM > To: gcc-patches@gcc.gnu.org > Cc: Weddington, Eric; Denis Chertykov > Subject: [Patch,AVR] Clean-up avr.c: Break long lines, move targetm to end > of file. > > No functional c

Ping: demangle C++ extern "C" functions

2011-10-21 Thread Marc Glisse
Ping (changing the Cc to bother a different person...). On Sat, 3 Sep 2011, Marc Glisse wrote: Hello, this patch is obviously related to PR c++/2316 ("g++ fails to overload on language linkage") but seems fairly independent. Currently, the demangler recognizes 'Y' for extern "C" functions a

[PATCH, libcpp] Fix cpp_peek_token behaviour (PR bootstrap/50778)

2011-10-21 Thread Dodji Seketeli
Hello, cpp_peek_token can fail to peek tokens sometimes because _cpp_remaining_tokens_num_in_context counts tokens only from the current context; worse, _cpp_token_from_context_at also get tokens only from the context context. They should both operate on the context given by cpp_peek_token. I di

[Patch,AVR] Clean-up avr.c: Break long lines, move targetm to end of file.

2011-10-21 Thread Georg-Johann Lay
No functional change, just a bit of clean-up. Definition of targetm is moved towards end of the file. Ok for trunk? Johann * config/avr/avr.c: Break long lines. Define target hooks on the fly if applicable. (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove first definition

Ping: [PATCH] non-GNU C++ compilers

2011-10-21 Thread Marc Glisse
Hello, anyone willing to commit this? On Sat, 24 Sep 2011, Marc Glisse wrote: On Sat, 17 Sep 2011, Joseph S. Myers wrote: These are OK (with ChangeLog entries properly omitting the "include/", since they go in include/ChangeLog) in the absence of libiberty maintainer objections within 72 ho

Re: [pph] Make libcpp symbol validation a warning (issue5235061)

2011-10-21 Thread Lawrence Crowl
On 10/20/11, Gabriel Charette wrote: > I just thought about something.. > > Earlier I said that ALL line_table issues were resolved after this > patch (as it ignores the re-included headers that were guarded, as the > non-pph compiler does naturally). > > One problem remains however, I'm pretty su

[PATCH] Fix V4DImode/V8SImode extract even/odd permutation with -mavx (PR target/50813)

2011-10-21 Thread Jakub Jelinek
Hi! No idea how I've missed this. With -mavx V8SImode and V4DImode are valid, but the choice of shuffle insns for them is limited. This patch will just pay the reinterpretation penalty and reshuffle them as corresponding V4DFmode resp. V8SFmode instead of ICE. Additionally, I've added two new (

Re: Predication during scheduling

2011-10-21 Thread Bernd Schmidt
On 10/21/11 15:42, Bernd Schmidt wrote: > On 10/14/11 17:35, Vladimir Makarov wrote: >> The scheduler part of the patch is ok for me (other part changes are >> obvious). Could you only commit it at the beginning of the next week. > > I've committed this variant. It's updated for some recent chang

Re: [RFA:] fix breakage with "Update testsuite to run with slim LTO"

2011-10-21 Thread Jan Hubicka
> > Meh... Please no, this was the kind of scatter-patches my patch > aimed to avoid... for example, easy to miss some tests. > > Instead, on top of my patch, just copy the > scan-assembler_required_options proc to a > scan-tree-dump_required_options. ...no wait, should forcing > fat-lto be don

Re: [PATCH 2/3] Free large chunks in ggc

2011-10-21 Thread Andi Kleen
> > diff --git a/gcc/ggc-page.c b/gcc/ggc-page.c > > index ba88e3f..eb0eeef 100644 > > --- a/gcc/ggc-page.c > > +++ b/gcc/ggc-page.c > > @@ -972,6 +972,54 @@ release_pages (void) > >   page_entry *p, *start_p; > >   char *start; > >   size_t len; > > +  size_t mapped_len; > > +  page_entry *next, *

Re: [C++ Patch / RFC] PR 45385

2011-10-21 Thread Jason Merrill
On 10/21/2011 12:20 PM, Paolo Carlini wrote: + || tree_int_cst_equal (maxindex, integer_minus_one_node)) Use integer_all_onesp instead. OK with that change. Jason

Re: [C++ Patch] PR 48630 (PR 31423)

2011-10-21 Thread Jason Merrill
OK. Jason

Re: [patch] dwarf2out: Use DW_FORM_ref_udata (.debug -= 7.53%)

2011-10-21 Thread Jan Kratochvil
On Fri, 21 Oct 2011 20:01:29 +0200, Jan Kratochvil wrote: > No regressions on {x86_64,x86_64-m32,i686}-fedora16pre-linux-gnu > (4.7.0 20111002). A typo, only tested for x86_64-fedora16pre-linux-gnu, sorry. Jan

[patch] dwarf2out: Use DW_FORM_ref_udata (.debug -= 7.53%)

2011-10-21 Thread Jan Kratochvil
Hi, this is a standalone patch to replace DW_FORM_ref4 by DW_FORM_ref_udata (uleb128). It saves for libstdc++.so.debug: 5254792 -> 4859136 = 7.53% Tested with: -O2 -gdwarf-4 -fdebug-types-section The references are already intra-CU ones, they are never relocated, they are pre-computed by dwarf2o

Re: [C++ Patch] PR 48630 (PR 31423)

2011-10-21 Thread Paolo Carlini
Hi again, Another acceptable fix is to -- leave the current diagnostic as is if -fms-extensions -- suggest '()' is member function -- otherwise suggest '&'. Thanks for your help Gaby, in particular about the MS extension which I had overlooked completely (as any hard-code Linux guy woul

Re: [cxx-mem-model] Handle x86-64 with -m32

2011-10-21 Thread Aldy Hernandez
On 10/21/11 11:08, Andrew MacLeod wrote: On 10/21/2011 11:28 AM, H.J. Lu wrote: On Fri, Oct 21, 2011 at 5:11 AM, Andrew MacLeod wrote: X32 has native int64 and int128. I presume there is no atomic support for int128 though, and thats what 'condition check_effective_target_sync_int_128' is te

Re: [patch, Fortran] Fix PR 50690

2011-10-21 Thread Thomas Koenig
Jakub Jelinek wrote: Though, what could be done is just special case OpenMP workshare regions, insert everything into BLOCK local vars unless in OpenMP workshare, in that case put the BLOCK with the temporary around the workshare rather than inside of it. In the case of omp parallel workshare it

Re: [PATCH 1/3] Add missing page rounding of a page_entry

2011-10-21 Thread Andi Kleen
On Fri, Oct 21, 2011 at 11:52:44AM +0200, Jakub Jelinek wrote: > On Fri, Oct 21, 2011 at 11:42:26AM +0200, Richard Guenther wrote: > > On Fri, Oct 21, 2011 at 7:52 AM, Andi Kleen wrote: > > > From: Andi Kleen > > > > > > This one place in ggc forgot to round page_entry->bytes to the > > > next pa

Re: [patch] dwarf2out crash: missing GTY? (PR 50806)

2011-10-21 Thread Steve Ellcey
FYI: I am seeing this same ICE on the hppa64-hp-hpux11.11 bootstrap. (debug_expr:DI D#49) /ctires/gcc/nightly/src/trunk/gcc/cselib.c: In function 'void cselib_record_sets(rtx)': /ctires/gcc/nightly/src/trunk/gcc/cselib.c:2424:1: internal compiler error: in mem_loc_descriptor, at dwarf2out.c:1237

Re: new patches using -fopt-info (issue5294043)

2011-10-21 Thread Xinliang David Li
There are two proposals here. One is -fopt-info which prints out informational notes to stderr, and the other is -fopt-report which is more elaborate form of dump files. Are you object to both or just the opt-report one? The former is no different from any other informational notes we already have

Re: [C++ Patch / RFC] PR 45385

2011-10-21 Thread Paolo Carlini
On 10/21/2011 04:56 PM, Jason Merrill wrote: I think the fix for 35602 was wrong; instead of trying to suppress the warning, we should avoid building expressions that trip it. In this case, the problem is a type mismatch in build_vec_init between maxindex/iterator (ptrdiff_type_node) and array

Re: [RFA:] fix breakage with "Update testsuite to run with slim LTO"

2011-10-21 Thread Hans-Peter Nilsson
> Date: Fri, 21 Oct 2011 17:44:15 +0200 > From: Jan Hubicka > I also noticed that tests scanning output of late optimization passes are > now getting UNRESOLVED state with slim LTO. We don't really lose coverage > here because we test fat LTO with the other compilation, but probably easiest > is

Re: [cxx-mem-model] Handle x86-64 with -m32

2011-10-21 Thread H.J. Lu
On Fri, Oct 21, 2011 at 9:08 AM, Andrew MacLeod wrote: > On 10/21/2011 11:28 AM, H.J. Lu wrote: >> >> On Fri, Oct 21, 2011 at 5:11 AM, Andrew MacLeod >>  wrote: X32 has native int64 and int128. >>> I presume there is no atomic support for int128 though, and thats what >>> 'condition

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

2011-10-21 Thread 3dw4rd
Jason, I split the changelog into four parts and tweaked some of the content and formatting. Ed CL_udlit_gcc_c-family Description: Binary data CL_udlit_gcc_cp Description: Binary data CL_udlit_gcc_testsuite Description: Binary data CL_udlit_libcpp Description: Binary data

Re: [cxx-mem-model] Handle x86-64 with -m32

2011-10-21 Thread Andrew MacLeod
On 10/21/2011 11:28 AM, H.J. Lu wrote: On Fri, Oct 21, 2011 at 5:11 AM, Andrew MacLeod wrote: X32 has native int64 and int128. I presume there is no atomic support for int128 though, and thats what 'condition check_effective_target_sync_int_128' is testing for. X32 uses x86-64 instruction

Re: [Patch] Add support of AIX response files in collect2

2011-10-21 Thread David Edelsohn
On Fri, Oct 21, 2011 at 6:39 AM, Tristan Gingold wrote: > Hi, > > the AIX linker supports response files with the '-fFILE' command line option. > With this patch, collect2 reads the content of the response files and listed > object files are handled.  Therefore these files are not forgotten by th

Re: [RFA:] fix breakage with "Update testsuite to run with slim LTO"

2011-10-21 Thread Jan Hubicka
> If running the gnat.dg testsuite, lib/gcc-dg.exp is now calling > check_linker_plugin_available early, which ultimately calls > ${tool}_target_compile. For all languages but Ada, > ${tool}_target_compile can compile .c files just fine, but > gnat_target_compile (which uses gnatmake) cannot, so i

Re: [Patch,AVR]: Fix thinko in LEGITIMIZE_RELOAD_ADDRESS

2011-10-21 Thread Denis Chertykov
2011/10/21 Georg-Johann Lay : > This fixes avr_legitimize_reload_address: > > Since breaking out the code from LEGITIMIZE_RELOAD_ADDRESS, protiype of above > is >   avr_legitimize_reload_address (rtx x, ... > but must be >   avr_legitimize_reload_address (rtx *px, ... > because at one place &x is

[Patch,AVR]: Fix thinko in LEGITIMIZE_RELOAD_ADDRESS

2011-10-21 Thread Georg-Johann Lay
This fixes avr_legitimize_reload_address: Since breaking out the code from LEGITIMIZE_RELOAD_ADDRESS, protiype of above is avr_legitimize_reload_address (rtx x, ... but must be avr_legitimize_reload_address (rtx *px, ... because at one place &x is used as input to push_reload which is now px

Re: [cxx-mem-model] Handle x86-64 with -m32

2011-10-21 Thread H.J. Lu
On Fri, Oct 21, 2011 at 5:11 AM, Andrew MacLeod wrote: > On 10/20/2011 06:50 PM, H.J. Lu wrote: >> >> On Thu, Oct 20, 2011 at 3:38 PM, Joseph S. Myers >>  wrote: >>> >>> Do these operations exist for x32 as well as for -m64?  If they do, then >>> lp64 isn't the right test either; if not, then it

Re: [RFC PATCH] SLP vectorize calls

2011-10-21 Thread Ira Rosen
On 21 October 2011 16:25, Jakub Jelinek wrote: > On Fri, Oct 21, 2011 at 03:44:11PM +0200, Ira Rosen wrote: >> But it's OK to allow modifier != NONE if it's not SLP, so we need &&, no? > > Well, in my patch that check was guarded by the if (slp_node ...), > so presumably it would allow modifier ==

[PR translation/47064] Fix committed as obvious

2011-10-21 Thread Paolo Carlini
Hi, committed. Thanks, Paolo. // 2011-10-21 Roland Stigge PR translation/47064 * params.def: Fix typo "compilatoin" -> "compilation". Index: params.def === --- params.def (revision 180288) +

Re: [C++ Patch] __builtin_choose_expr *bump*

2011-10-21 Thread Andy Gibbs
On Friday, October 21, 2011 4:42 PM, Joseph S. Myers wrote: > On Fri, 21 Oct 2011, Andy Gibbs wrote: > >> Hi, >> >> Please can I "bump" this patch and ask for it to be approved and >> committed: >> http://gcc.gnu.org/ml/gcc-patches/2011-10/msg01711.html > > Have you sent in your copyright assignme

Re: [C++ Patch / RFC] PR 45385

2011-10-21 Thread Jason Merrill
I think the fix for 35602 was wrong; instead of trying to suppress the warning, we should avoid building expressions that trip it. In this case, the problem is a type mismatch in build_vec_init between maxindex/iterator (ptrdiff_type_node) and array_type_nelts_total (sizetype). And indeed, co

Re: [C++ Patch] __builtin_choose_expr *bump*

2011-10-21 Thread Joseph S. Myers
On Fri, 21 Oct 2011, Andy Gibbs wrote: > Hi, > > Please can I "bump" this patch and ask for it to be approved and committed: > http://gcc.gnu.org/ml/gcc-patches/2011-10/msg01711.html Have you sent in your copyright assignment papers to the FSF? The patch is large enough to need them. -- Jose

Re: [i386, PR50740] CPUID leaf 7 for BMI/BMI2/AVX2 feature detection not qualified with max_level and doesn't use subleaf

2011-10-21 Thread Kirill Yukhin
Thanks! K On Fri, Oct 21, 2011 at 6:34 PM, Uros Bizjak wrote: > On Fri, Oct 21, 2011 at 3:58 PM, Kirill Yukhin > wrote: > >> Updated testsuite/ChangeLog: >> 2011-10-21  H.J. Lu   >>            Kirill Yukhin   >> >>        * gcc.target/i386/avx2-check.h (main): Check CPUID level >>        corre

Re: [i386, PR50740] CPUID leaf 7 for BMI/BMI2/AVX2 feature detection not qualified with max_level and doesn't use subleaf

2011-10-21 Thread Uros Bizjak
On Fri, Oct 21, 2011 at 3:58 PM, Kirill Yukhin wrote: > Updated testsuite/ChangeLog: > 2011-10-21  H.J. Lu   >            Kirill Yukhin   > >        * gcc.target/i386/avx2-check.h (main): Check CPUID level >        correctly. >        * gcc.target/i386/bmi2-check.h: Ditto. > > > Could anybody ple

Re: [Patch,AVR]: Use EIND consistently

2011-10-21 Thread Georg-Johann Lay
This patch adds support to consistently use EIND. The compiler never sets this SFR but uses it in table jumps and EIJMP/EICALL instructions. Custom startup code could set EIND to an other value than 0 and the compiler should use EIND consistently given

Re: [RFC PATCH] SLP vectorize calls

2011-10-21 Thread Jakub Jelinek
On Fri, Oct 21, 2011 at 03:44:11PM +0200, Ira Rosen wrote: > But it's OK to allow modifier != NONE if it's not SLP, so we need &&, no? Well, in my patch that check was guarded by the if (slp_node ...), so presumably it would allow modifier == NARROW vectorization in the loops (otherwise some testc

Re: strlen optimization of decompose strcat?!

2011-10-21 Thread Jakub Jelinek
On Fri, Oct 21, 2011 at 03:20:54PM +0200, Andreas Krebbel wrote: > on s390 a strcat is already decomposed by fold_builtin_strcat into a > strlen and a strcpy. Due to that 3 strlenopt testcases currently > fail: strlenopt-17g.c, strlenopt-4.c, strlenopt-4g.c. Well, fold_builtin_strcat does such ki

Re: [C++ Patch] PR 30066

2011-10-21 Thread Jason Merrill
Need to make sure that this comment is still accurate: /* Local statics and classes get the visibility of their containing function by default, except that -fvisibility-inlines-hidden doesn't affect them. */ i.e. given inline int * f() { static int i; retu

Re: [i386, PR50740] CPUID leaf 7 for BMI/BMI2/AVX2 feature detection not qualified with max_level and doesn't use subleaf

2011-10-21 Thread Kirill Yukhin
Thanks, Updated testsuite/ChangeLog: 2011-10-21 H.J. Lu Kirill Yukhin * gcc.target/i386/avx2-check.h (main): Check CPUID level correctly. * gcc.target/i386/bmi2-check.h: Ditto. Could anybody please commit that? K On Fri, Oct 21, 2011 at 4:56 PM, Uros B

Re: [C++ Patch] __builtin_choose_expr *bump*

2011-10-21 Thread Andy Gibbs
On Friday, October 21, 2011 12:04 PM, Richard Guenther wrote: > What's the motivation for this? Why can't it be implemented using C++ > features such as templates and specialization? Sorry for the delay in my reply. The motivation, simply put, is to be able to create both templates and macros t

Re: [RFC PATCH] SLP vectorize calls

2011-10-21 Thread Ira Rosen
On 21 October 2011 14:52, Jakub Jelinek wrote: > On Fri, Oct 21, 2011 at 02:37:06PM +0200, Ira Rosen wrote: >> > @@ -1620,7 +1615,13 @@ vectorizable_call (gimple stmt, gimple_s >> > >> >   gcc_assert (!gimple_vuse (stmt)); >> > >> > -  if (modifier == NARROW) >> > +  if (slp_node || PURE_SLP_STMT

Re: [C++ Patch] PR 50811 (rejects class-virt-specifier if class-head-name includes nested-name-specifier)

2011-10-21 Thread Jason Merrill
Applied, thanks. Jason

Re: [Patch,AVR]: Use EIND consistently

2011-10-21 Thread Denis Chertykov
2011/10/21 Georg-Johann Lay : >>> This patch adds support to consistently use EIND. >>> >>> The compiler never sets this SFR but uses it in table jumps and EIJMP/EICALL >>> instructions. >>> >>> Custom startup code could set EIND to an other value than 0 and the compiler >>> should use EIND consist

strlen optimization of decompose strcat?!

2011-10-21 Thread Andreas Krebbel
Hi, on s390 a strcat is already decomposed by fold_builtin_strcat into a strlen and a strcpy. Due to that 3 strlenopt testcases currently fail: strlenopt-17g.c, strlenopt-4.c, strlenopt-4g.c. For strlenopt-4.c no optimization is expected anyway (stpcpy disabled). So this can easily be fixed by a

Re: [PATCHv2, RFA] Pass address space to REGNO_MODE_CODE_OK_FOR_BASE_P

2011-10-21 Thread Ulrich Weigand
Georg-Johann Lay wrote: > Does it make sense to extend LEGITIMIZE_RELOAD_ADDRESS, too? > > For the target that needs your extension (AVR) there are different addressing > capabilities depending on AS and there is an implementation of L_R_A. I'd say that it is an independent issue. LEGITIMIZE_RE

Re: [i386, PR50740] CPUID leaf 7 for BMI/BMI2/AVX2 feature detection not qualified with max_level and doesn't use subleaf

2011-10-21 Thread Uros Bizjak
On Fri, Oct 21, 2011 at 12:46 PM, Kirill Yukhin wrote: > Here is the patch which checks CPUID correctly to get BMI/BMI2/AVX2 feature. > > ChangeLog entry is: > 2011-10-21  H.J. Lu   >            Kirill Yukhin   > >        * config/i386/driver-i386.c (host_detect_local_cpu): Do cpuid 7 only >    

Re: [RFC PATCH] SLP vectorize calls

2011-10-21 Thread Jakub Jelinek
On Fri, Oct 21, 2011 at 02:37:06PM +0200, Ira Rosen wrote: > > @@ -1620,7 +1615,13 @@ vectorizable_call (gimple stmt, gimple_s > > > >   gcc_assert (!gimple_vuse (stmt)); > > > > -  if (modifier == NARROW) > > +  if (slp_node || PURE_SLP_STMT (stmt_info)) > > +    { > > +      if (modifier != NONE)

Re: [RFA/ARM][Patch 05/05]: LDRD generation instead of POP in A15 ARM epilogue.

2011-10-21 Thread Ramana Radhakrishnan
> 2011-10-11  Sameera Deshpande > > >        * config/arm/arm.c (arm_emit_ldrd_pop): New static function. >          (arm_expand_epilogue): Update. >        * config/arm/ldmstm.md (arm_ldrd_base): New pattern. >          (arm_ldr_with_update): Likewise. rth's comment about REG_CFA_RESTORE applies

Re: [RFA/ARM][Patch 04/05]: STRD generation instead of PUSH in A15 ARM prologue.

2011-10-21 Thread Ramana Radhakrishnan
>+/* STRD in ARM mode needs consecutive registers to be stored. This function >+ keeps accumulating non-consecutive registers until first consecutive >register numchar > 80. >+ pair is found. It then generates multi-reg PUSH for all accumulated >+ registers, and then generates STRD with

Re: [RFA/ARM][Patch 03/05]: STRD generation instead of PUSH in A15 Thumb2 prologue.

2011-10-21 Thread Ramana Radhakrishnan
On 11 October 2011 10:27, Sameera Deshpande wrote: > Hi! > > This patch generates STRD instruction instead of PUSH in thumb2 mode for > A15. > > For optimize_size, original prologue is generated for A15. > The work involves defining new functions, predicates and patterns. > > +/* Generate and em

Re: [RFA/ARM][Patch 01/05]: Create tune for Cortex-A15.

2011-10-21 Thread Ramana Radhakrishnan
> 2011-10-11  Sameera Deshpande > > >        * config/arm/arm-cores.def (cortex_a15): Update. >        * config/arm/arm-protos.h (struct tune_params): Add new field... >          (arm_gen_ldrd_strd): ... this. >        * config/arm/arm.c (arm_slowmul_tune): Add >          arm_gen_ldrd_strd field s

Re: [RFA/ARM][Patch 01/02]: Thumb2 epilogue in RTL

2011-10-21 Thread Ramana Radhakrishnan
Hi Sameera, The comment about REG_FRAME_RELATED_EXPR vs REG_CFA_RESTORE from one of your later patches applies here as well. >diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c >index 3162b30..f86a3e6 100644 >--- a/gcc/config/arm/arm.c >+++ b/gcc/config/arm/arm.c >@@ -8754,6 +8754,140 @@ ne

[RFC ARM] Use vcvt.f32/64.s32 with immediate bits to do fixed to floating point conversions better.

2011-10-21 Thread Ramana Radhakrishnan
Hi, Some time back Michael pointed out that the ARM backend doesn't generate vcvt.f32.s where you have a conversion from fixed to floating point as in the example below. It should also be possible to generate the vector forms of this which will be the subject of a follow-up patch . I've chosen to

Re: [RFC PATCH] SLP vectorize calls

2011-10-21 Thread Ira Rosen
On 20 October 2011 23:50, Jakub Jelinek wrote: > Hi! Hi, > > While looking at *.vect dumps from Polyhedron, I've noticed the lack > of SLP vectorization of builtin calls. > > This patch is an attempt to handle at least 1 and 2 operand builtin calls > (SLP doesn't handle ternary stmts either yet)

Re: [PATCHv2, RFA] Pass address space to REGNO_MODE_CODE_OK_FOR_BASE_P

2011-10-21 Thread Georg-Johann Lay
Ulrich Weigand schrieb: > Georg-Johann Lay wrote: >> Ulrich Weigand schrieb: >>> Hello, >>> >>> Georg-Johann Lay has proposed a patch to add named address space support >>> to the AVR target here: >>> http://gcc.gnu.org/ml/gcc-patches/2011-10/msg00471.html >>> >>> Since the target needs to make reg

Re: [Patch,AVR]: Use EIND consistently

2011-10-21 Thread Georg-Johann Lay
>> This patch adds support to consistently use EIND. >> >> The compiler never sets this SFR but uses it in table jumps and EIJMP/EICALL >> instructions. >> >> Custom startup code could set EIND to an other value than 0 and the compiler >> should use EIND consistently given that EIND might not be ze

Re: [PATCH] Fix PR46556 (poor address generation)

2011-10-21 Thread William J. Schmidt
On Fri, 2011-10-21 at 11:26 +0200, Richard Guenther wrote: > On Tue, Oct 18, 2011 at 4:14 PM, William J. Schmidt > wrote: > > + > > + /* We don't use get_def_for_expr for S1 because TER doesn't forward > > + S1 in some situations where this transform is useful, such as > > + when S1

Re: [patch tree-optimization]: allow branch-cost optimization for truth-and/or on mode-expanded simple boolean-operands

2011-10-21 Thread Kai Tietz
2011/10/21 Richard Guenther : > On Thu, Oct 20, 2011 at 3:08 PM, Kai Tietz wrote: >> Hello, >> >> this patch re-enables the branch-cost optimization on simple boolean-typed >> operands, which are casted to a wider integral type.  This happens due casts >> from >> boolean-types are preserved, but

Re: [cxx-mem-model] Handle x86-64 with -m32

2011-10-21 Thread Andrew MacLeod
On 10/20/2011 06:50 PM, H.J. Lu wrote: On Thu, Oct 20, 2011 at 3:38 PM, Joseph S. Myers wrote: Do these operations exist for x32 as well as for -m64? If they do, then lp64 isn't the right test either; if not, then it is. X32 has native int64 and int128. I presume there is no atomic suppor

Re: [RFA:] fix breakage with "Update testsuite to run with slim LTO"

2011-10-21 Thread Rainer Orth
Iain Sandoe writes: > It looks like the gnat testsuite is also broken - but HP's fix doesn't > recover that. > .. will try and take a look - but short on time today, I think I see what's going on: in gnat.log, I find Running /vol/gcc/src/hg/trunk/local/gcc/testsuite/gnat.dg/dg.exp ... ERROR: tc

Re: [PATCH][PING] Vectorize conversions directly

2011-10-21 Thread Ramana Radhakrishnan
> Otherwise the generic parts of the patch look good. > Please get separate approval for the arm portions of the patch. Is it just me or has no one else seen this patch on the archives at gcc-patches@. ? Ramana

Re: [RFA:] fix breakage with "Update testsuite to run with slim LTO"

2011-10-21 Thread Iain Sandoe
On 21 Oct 2011, at 10:31, Jan Hubicka wrote: Date: Fri, 21 Oct 2011 00:19:32 +0200 From: Jan Hubicka Yes, if we scan assembler, we likely want -fno-fat-lto-objects. then IIUC you need to patch *all* torture tests that use scan-assembler and scan-assembler-not. Alternatively, patch somewher

Handle weakrefs from callgraph

2011-10-21 Thread Jan Hubicka
Hi, this patch makes weakref that has no declaration they alias to to go the callgraph way instead of alias pair way. This should make practically all sane aliases go the callgraph way, but we still do not handle aliases from functions to variables and vice versa. They are not too hard to repre

Re: [Patch,AVR]: Use EIND consistently

2011-10-21 Thread Denis Chertykov
2011/10/21 Georg-Johann Lay : > This patch adds support to consistently use EIND. > > The compiler never sets this SFR but uses it in table jumps and EIJMP/EICALL > instructions. > > Custom startup code could set EIND to an other value than 0 and the compiler > should use EIND consistently given th

  1   2   >