Re: [patch i386]: Fix PR/46219 Generate indirect jump instruction

2014-06-03 Thread Richard Henderson
On 06/03/2014 12:56 PM, Kai Tietz wrote: > +(define_insn "*sibcall_intern" > + [(call (unspec [(mem:QI (match_operand:W 0 "memory_operand"))] > UNSPEC_PEEPSIB) > + (match_operand 1))] > + "" > + "* SIBLING_CALL_P (insn) = 1; return ix86_output_call_insn (insn, > operands[0]);" > + [(set_

Re: [patch i386]: Fix PR/46219 Generate indirect jump instruction

2014-06-03 Thread Kai Tietz
- Original Message - > On 06/03/2014 12:56 PM, Kai Tietz wrote: > > +(define_insn "*sibcall_intern" > > + [(call (unspec [(mem:QI (match_operand:W 0 "memory_operand"))] > > UNSPEC_PEEPSIB) > > +(match_operand 1))] > > + "" > > + "* SIBLING_CALL_P (insn) = 1; return ix86_output_call_i

Re: [patch i386]: Fix PR/46219 Generate indirect jump instruction

2014-06-03 Thread Richard Henderson
On 06/03/2014 01:15 PM, Kai Tietz wrote: > - Original Message - >> On 06/03/2014 12:56 PM, Kai Tietz wrote: >>> +(define_insn "*sibcall_intern" >>> + [(call (unspec [(mem:QI (match_operand:W 0 "memory_operand"))] >>> UNSPEC_PEEPSIB) >>> +(match_operand 1))] >>> + "" >>> + "* SIBLING_

[patch] No allocation for empty unordered containers

2014-06-03 Thread François Dumont
Hi Thanks to the single bucket introduced to make move semantic noexcept we can also avoid some over allocations. Here is a patch to avoid any allocation on default instantiation, on range constructor when range is empty and on construction from an initialization list when this list is em

Re: RFA: Make LRA temporarily eliminate addresses before testing constraints

2014-06-03 Thread Vladimir Makarov
On 06/02/2014 03:36 PM, Richard Sandiford wrote: > Ping. Imagination's copyright assignment has now gone through and so > in principle we're ready for the MIPS LRA switch to go in. We need > this LRA patch as a prequisite though. > > Robert: you also had an LRA change, but is it still needed afte

Re: Create a library for tools like collect2 and lto-wrapper (2/2)

2014-06-03 Thread Joseph S. Myers
On Tue, 27 May 2014, Bernd Schmidt wrote: > > Thus, as an initial step I'd suggest instead converting lto-wrapper to use > > the common functionality where possible (fatal_error with %m replacing > > fatal_perror), making it use atexit in the process. Don't move code using > > legacy fatal / fata

Re: [PATCH, i386, Pointer Bounds Checker 10/x] Partitions

2014-06-03 Thread Jeff Law
On 06/02/14 05:41, Richard Biener wrote: this should be all moved to the symbol table level. (and IDENTIFIER_NODE shouldn't have to have tree_common.chain and thus become smaller). Which ought to be independent of the pointer checking work. There's been some proposals for making first class s

[patch] libstdc++/56166 avoid allocation in basic_string::clear()

2014-06-03 Thread Jonathan Wakely
Instead of cloning the string and then setting its length to zero, just point to the empty rep instead. I'm not sure if this is conforming in C++03, because it modifies the capacity(), whereas clear() is specified as if it called erase(begin(), end()), which typically wouldn't alter the capacity

Re: [PATCH 0/5] Cache recog_op_alt by insn code, take 2

2014-06-03 Thread Jeff Law
On 05/31/14 03:02, Richard Sandiford wrote: Sorry Jeff, while working on the follow-on LRA patch I came across a couple of problems, so I need another round on this. It happens, particularly for conceptual changes like this. I don't consider that a problem at all -- we're already in agreement o

Re: Fix a function decl in gfortran

2014-06-03 Thread Tobias Burnus
Bernd Schmidt wrote: There's at least one more such problem with gfortran, which I'm having a harder time debugging. It occurs in gfortran.fortran-torture/compile/mloc.f90 That's minloc/maxloc, which takes three arguments on the Fortran side: An array, optionally a dimension ("dim") and optio

Re: [PATCH 1/5] Flatten recog_op_alt and reorder entries

2014-06-03 Thread Jeff Law
On 05/31/14 03:06, Richard Sandiford wrote: As described in the covering note, this patch converts recog_op_alt into a flat array and orders the entries in the same way as the LRA cache. Several places just want the information for alternative which_alternative, so I added a convenience function

Re: [PATCH 2/5] Don't modify recog_op_alt after preprocess_constraints

2014-06-03 Thread Jeff Law
On 05/31/14 03:09, Richard Sandiford wrote: Since the aim of this series is to cache the result of preprocess_constraints, we need to make sure that passes don't modify the information afterwards. This patch deals with the places that did. Patch 4 will make the information properly const. Thank

[patch recog.c]: Copy sibcall-flags for calls also in peep2_attempt

2014-06-03 Thread Kai Tietz
Hi, this patch adds copying of SIBLING_CALL_P flag to new call-instruction. This behavior is by this patch consistent to the try_split function in emit-rtl.c. This patch is a prerequisite for my updated sibling-tail-call optimization patch. ChangeLog 2014-06-03 Kai Tietz * recog.c

Re: [PATCH 3/5] Make recog_op_alt consumers check the enabled attribute

2014-06-03 Thread Jeff Law
On 05/31/14 03:15, Richard Sandiford wrote: As described in the covering note, it seems better to put the onus of checking the enabled attribute on the passes that are walking each alternative, like LRA does for its internal subpasses. That leads to a nicer interface in patch 4 and would make it

Re: [PATCH 4/5] Cache recog_op_alt by insn code: main patch

2014-06-03 Thread Jeff Law
On 05/31/14 03:17, Richard Sandiford wrote: This is the refreshed main patch. I've rearranged the preprocess_constraints code into three functions so that LRA can use it in patch 5. Thanks, Richard gcc/ * recog.h (operand_alternative): Convert reg_class, reject, matched and ma

Re: [PATCH 5/5] Reuse recog_op_alt cache in LRA

2014-06-03 Thread Jeff Law
On 05/31/14 03:22, Richard Sandiford wrote: The operand_alternative cache was LRA's only per-subtarget state so a lot of this patch is removing the associated initialisation and target_globals stuff. I called the preprocess_constraints functions in lra_set_insn_recog_data rather than setup_opera

Re: patch to fix PR61325

2014-06-03 Thread James Greenhalgh
nfigure --with-cpu=cortex-a15.cortex-a7 --with-fpu=neon-vfpv4 --with-float=hard --prefix=/home/jamgre01/build//clean//install --enable-languages=c,c++,fortran Thread model: posix gcc version 4.10.0 20140603 (experimental) (GCC) COLLECT_GCC_OPTIONS='-O3' '-v' '-mcpu=c

Re: [patch recog.c]: Copy sibcall-flags for calls also in peep2_attempt

2014-06-03 Thread Jeff Law
On 06/03/14 15:58, Kai Tietz wrote: Hi, this patch adds copying of SIBLING_CALL_P flag to new call-instruction. This behavior is by this patch consistent to the try_split function in emit-rtl.c. This patch is a prerequisite for my updated sibling-tail-call optimization patch. ChangeLog 2014-

[patch][gomp4] openacc loops

2014-06-03 Thread Cesar Philippidis
This patch, which is derived from Ilmir Usmanov's work posted here , implements the loop directive in openacc. The original patch is mostly intact, however, I did disable support for do concurrent loops since openacc 2.0a supports fortran up

Re: [build, driver] RFC: Support compressed debug sections

2014-06-03 Thread Gerald Pfeifer
On Tue, 3 Jun 2014, Rainer Orth wrote: > It's been another week, and I still need approval for the build, doc, > and Darwin changes: > > https://gcc.gnu.org/ml/gcc-patches/2014-05/msg01860.html On the doc side, things are fine. Just a suggestion or two: +Produce compressed debug sections

[AArch64,PATCH] Refactor acquire/release determination into output template

2014-06-03 Thread Jones, Joel
There is duplicate code for determining whether a load or store instruction needs acquire or release semantics. This patch removes the duplicated code and uses a modifying operator to output a/l instead. Since the testsuite already contains tests for the atomic functions, no new testcases are

Re: [PATCH] Dumping Fields of A Class When -fdump-class-hierarchy

2014-06-03 Thread lin zuojian
Hi, I have no idea why nobody show his interest in my patch, but it's very helpful to boost the efficiency of debugging optimized binary and help recognizing which expression the crash happens in. For example: struct A { int a; }; struct B { int b; }; struct C : public A,

Re: [PATCH][AARCH64]Support full addressing modes for ldr/str in vectorization scenarios

2014-06-03 Thread Bin.Cheng
On Wed, Jun 4, 2014 at 1:50 AM, Marcus Shawcroft wrote: > > > > >> On 3 Jun 2014, at 18:08, Charles Baylis wrote: >> >>> On 3 June 2014 12:08, Marcus Shawcroft wrote: >>> On 28 May 2014 08:30, Bin.Cheng wrote: > So is it OK? > > > 2014-05-28 Bin Cheng > >* con

[PATCH] Fix PR61306: improve handling of sign and cast in bswap

2014-06-03 Thread Thomas Preud'homme
When bswap replace a bitwise expression involving a memory source by a load possibly followed by a bswap, it is possible that the load has a size smaller than that of the target expression where the bitwise expression was affected. So some sort of cast is needed. But there might also be a differ

[PATCH] Fix PR61320: disable bswap for unaligned access on SLOW_UNALIGNED_ACCESS targets

2014-06-03 Thread Thomas Preud'homme
Hi there, It seems from PR61320 that the bswap pass causes some problems when it replaces an OR expression by an unaligned access. Although it's not clear yet why the unaligned load does not go through the extract_bit_field codepath, it is necessary to provide a solution as this prevent sparc fro

Re: Fix a function decl in gfortran

2014-06-03 Thread Tobias Burnus
Tobias Burnus wrote: There are two functions groups called with mask, cf. iresolve.c's gfc_resolve_minloc. Namely, without dim "mmin0__" and with dim "mmin1__". – The latter takes "dim" as additional argument. Thus, for mmin1_* the generated decl is fine, for mmin0_ is is not. I do not immed

Re: [PATCH, i386, Pointer Bounds Checker 10/x] Partitions

2014-06-03 Thread Jeff Law
On 06/02/14 05:50, Ilya Enkovich wrote: On 30 May 11:10, Jeff Law wrote: On 05/28/14 10:06, Ilya Enkovich wrote: Hi, This patch keeps instrumented and original versions together and preserve tranparent alias chain during symbol name privatization. Bootstrapped and tested on linux-x86_64. Th

[C PATCH] Better location for switch warnings (PR c/30020)

2014-06-03 Thread Marek Polacek
It is trivial to pass the location from c_add_case_label down to check_case_bounds, so do that. With it, we instead of i.c:4:3: warning: case label value is less than minimum value for type switch (c) { case 42: case -1: return -1; }; ^ output i.c:4:25: warning: case label value is less tha

Re: [PATCH, Pointer Bounds Checker 13/x] Early versioning

2014-06-03 Thread Jeff Law
On 06/03/14 03:29, Richard Biener wrote: On Tue, Jun 3, 2014 at 7:55 AM, Ilya Enkovich wrote: 2014-06-02 21:27 GMT+04:00 Jeff Law : On 06/02/14 04:48, Ilya Enkovich wrote: Hmm, so if I understand things correctly, src_fun has no loop structures attached, thus there's nothing to copy. Presum

[PATCH]Code size optimization for the fmul/fdiv and dmul/ddiv function in libgcc

2014-06-03 Thread Tony Wang
Hi there, In libgcc the file ieee754-sf.S and ieee754-df.S have some function pairs which will be bundled into one .o file and sharing the same .text section. For example, the fmul and fdiv, the libgcc makefile will build them into one .o file and archived into libgcc.a. So when user only call sin

Re: [PATCH, i386, Pointer Bounds Checker 17/x] Pointer bounds constants support

2014-06-03 Thread Jeff Law
On 06/02/14 04:25, Ilya Enkovich wrote: Hi, This patch adds support for pointer bounds constants to be used as DECL_INITIAL for constant bounds (like zero bounds). Bootstrapped and tested on linux-x86_64. Thanks, Ilya -- gcc/ 2014-05-30 Ilya Enkovich * emit-rtl.c (immed_double_co

<    1   2