This patch adds "-fno-asynchronous-unwind-tables -mcmodel=large" to
CRTSTUFF_T_CFLAGS_S. Backported to 4.8.
* config/tilegx/t-crtstuff: Add -fno-asynchronous-unwind-tables
-mcmodel=large to CRTSTUFF_T_CFLAGS_S variable.
Index: libgcc/config/tilegx/t-crtstuff
This patch puts profiling code before the prologue, to avoid
clobbering used registers. Backported to 4.7 and 4.8.
* config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
* config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
Index: gcc/config/tilegx/tilegx.h
=
> -Original Message-
> From: Joern Rennecke [mailto:joern.renne...@embecosm.com]
> Sent: Monday, March 25, 2013 8:53 PM
> To: Bin Cheng
> Cc: gcc-patches@gcc.gnu.org
> Subject: Re: [PATCH GCC]Relax the probability condition in CE pass when
> optimizing for code size
>
> Quoting Bin Cheng
Hi,
As reported in PR56102, arm back end returns wrong rtx cost for pattern
SET/ASHIFT/ASHIFTRT/LSHIFTRT/ROTATERT with multi-word mode. This
causes GCC skipping the split process in lower-subreg.c, and generating
bigger constant pool.
This patch fixes the issue. Tested on arm-none-eabi/thumb1/O2/
This is the cleanup piece that I pushed back for 4.9 when fixing
bitpos handling due to a bug for 4.8.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk.
Richard.
2013-03-26 Richard Biener
* emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
alignment c
On Mon, Mar 25, 2013 at 6:33 PM, Wei Mi wrote:
>> I am trying to figure out a way not to lose the opportunity when shift
>> truncation is not combined in a bit test pattern. Can we keep the
>> explicit truncation in RTL, but generate truncation code in assembly?
>> Then only shift truncation which
On Mon, Mar 25, 2013 at 6:19 PM, Lawrence Crowl wrote:
> On 3/25/13, Richard Biener wrote:
>> You add a not used new interface. What for?
>
> So that people can use it.
>
>> For use from gdb only?
>
> No, for use from both gdb and internally. It is often that folks add
> dumps in various places
Hi,
Thanks for reviewing the patch and testcase.
There were some doubts regarding the addressing modes supported by
these instructions.
The only source that could be referred was the AARCH64 assembler.
Hence, these modifications are implemented as per the assembler.
Please let me know if there s
On 26/03/13 10:06, Hurugalawadi, Naveen wrote:
>>the second "set" in each pattern should have the "=r,rk" constraint
>>rather than just "=r,r".
If the destination operand is stack register, assembler generates error
as follows:-
Error: operand 1 should be an integer register -- `ands sp,x0,x1'
T
Hi,
Please find attached the patch that implements load pair(ldp) and store
pair(stp) peephole for aarch64 target.
Please review the same and let me know if its okay.
Build and tested on aarch64-thunder-elf (using Cavium's internal
simulator). No new regressions.
Thanks,
Naveen
gcc/
2013-03-
Ping.
On 01/29/2013 02:43 PM, Sebastian Huber wrote:
A lot of things use the -pthread GCC option if they want to use the
Pthreads. Examples are various configure scripts and some GCC test
cases. RTEMS supports Pthreads. It is convenient to simply add a
-pthread option and ignore it for RTEMS.
On 26/03/13 08:34, Bin Cheng wrote:
Hi,
As reported in PR56102, arm back end returns wrong rtx cost for pattern
SET/ASHIFT/ASHIFTRT/LSHIFTRT/ROTATERT with multi-word mode. This
causes GCC skipping the split process in lower-subreg.c, and generating
bigger constant pool.
This patch fixes the issu
On 26/03/13 10:17, Marcus Shawcroft wrote:
On 26/03/13 10:06, Hurugalawadi, Naveen wrote:
the second "set" in each pattern should have the "=r,rk" constraint
rather than just "=r,r".
If the destination operand is stack register, assembler generates error
as follows:-
Error: operand 1 should be
> Thanks for the explanation, now I understand it. I fixed the patch
> according to your remarks. I removed %| support since we don't
> actually need it in i386 right now, it was added for the purpose of
> possible generalization.
>
> Updated patch is attached.
Ping
--
Maxim Kuznetsov
curly_bra
On 02/01/2013 12:42 AM, Caroline Tice wrote:
If this data could be emitted in a
declarative fashion, it might be possible to emit it by default, in a
separate ELF section. This way, it is always there when needed, and it
wouldn't have any performance impact if not used.
That might be possible;
First, I am woefully aware that there are 7 patches which still have to
be reviewed, three by Thomas, two by Janne, one by Mikael and one by me
(value+optional). I try to find time for reviewing one or two - but
wouldn't mind if others contributed to the deed.
The attached patch fixes one of t
Hi DJ,
I am submitting a patch on behalf of Renesas and KPIT. They found a
way to improve the prologues for interrupt handlers so that only the
registers that actually need to be saved are pushed onto the stack.
The patch has been tested with no regressions in the gcc testsuite for
an
Hi,
>> Can we split them into two different patches. Just and in one
Thanks for reviewing the patch. I have split the patches for "and"
separately as per your suggestion.
There were some doubts regarding the addressing modes supported by
these instructions.
The only source that could be referr
Hi,
Please find attached the patch that implements adds and subs
instructions with shift for aarch64 target.
Testcase have been added for adds and subs instructions similar to
the "and" testcase provided by Ian.
Please review the same and let me know if there should be any
modifications in the
Hi,
Could you please take a look at the attached fixinclude patch
that addresses the problem:
" We have test fail for gcc.dg/cpp/trad/include.c on Android. The
reason for that is that
-ftraditional-cpp is not expected to work on Android due to variadic
macro (like #define __builtin_warning(x, y.
Hi,
in mainline and 4.8, at variance with 4.7, for:
enum { A };
static const char *a[] = {
[A] = "a"
};
check_array_designated_initializer is called by reshape_init* with
ce->index a CONST_DECL, not an INTEGER_CST. Thus I wondered if in such
cases it's just matter of using integral_constan
On 03/26/2013 08:09 AM, Paolo Carlini wrote:
check_array_designated_initializer is called by reshape_init* with
ce->index a CONST_DECL, not an INTEGER_CST. Thus I wondered if in such
cases it's just matter of using integral_constant_value on it, thus
something like the below (which passes testing
We have already computed the base term for some of the arguments
of some calls to base_alias_check. PR39326 shows that find_base_term
is very costly called from RTL PRE at -O2 (it mostly recurses
through the PLUS/MINUS_EXPR case). The following patch avoids
computing find_base_term when not real
Hello!
2013-03-26 Uros Bizjak
* config/i386/i386.md (*movdfcc_1): Merge with *movdfcc_1_rex64.
Use x64 and nox64 isa attributes.
Tested on x86_64-pc-linux-gnu {,-m32} and committed to mainline SVN.
Uros.
Index: i386.md
=
Hi,
On 03/26/2013 01:32 PM, Jason Merrill wrote:
On 03/26/2013 08:09 AM, Paolo Carlini wrote:
check_array_designated_initializer is called by reshape_init* with
ce->index a CONST_DECL, not an INTEGER_CST. Thus I wondered if in such
cases it's just matter of using integral_constant_value on it,
On Mon, Feb 25, 2013 at 2:23 AM, Terry Guo wrote:
> Hi,
>
> This patch is to enable GCC to accept new command line option
> -mcpu=cortex-r7. Is it OK to trunk?
>
> BR,
> Terry
>
> 2013-02-25 Terry Guo
>
> * config/arm/arm-cores.def: Added core cortex-r7.
> * config/arm/arm-tune.
On Wed, Feb 13, 2013 at 1:35 PM, Greta Yorsh wrote:
> This patch defines peephole2 patterns that merge two individual LDR
> instructions into LDRD instruction (resp. STR into STRD) whenever possible
> using the following transformations:
> * reorder two memory accesses,
> * rename registers when s
On Mon, Feb 18, 2013 at 6:38 PM, Greta Yorsh wrote:
> Convert define_insn into define_insn_and_split for various patterns that
> output multiple assembly instructions.
>
> It appears that preparation statements in define_insn_and_split sometimes
> are called with which_alternative set to -1 even a
On Mon, Feb 18, 2013 at 6:40 PM, Greta Yorsh wrote:
> This patch adds patterns to handle negation of an extended 32-bit value more
> efficiently.
>
> For example,
>
> (set (reg:DI r0) (neg:DI (sign_extend:DI (reg:SI r0)))
>
> The compiler currently generates
> mov r1, r0, asr #31
>
On Mon, Feb 18, 2013 at 6:42 PM, Greta Yorsh wrote:
> Convert define_insn into define_insn_and_split for various DImode shift
> operations that output multiple assembly instructions.
>
> This patch also adds a new pattern for RRX using a new UNSPEC. This pattern
> matches RTL insns emitted by arm_
On Wed, Mar 20, 2013 at 2:43 AM, Xinyu Qi wrote:
>>At 2013-01-22 19:58:43,"Ramana Radhakrishnan" wrote:>
>> > On 01/22/13 09:21, Xinyu Qi wrote:
>> > > Ping,
>> > >
>> > > Fix ChangeLog
>> >
>> > The ChangeLog format includes .
>> >
>> >
>> >
>> > If you want a patch accepted in the future,
On Tue, Mar 19, 2013 at 9:15 AM, Zhenqiang Chen wrote:
> Hi,
>
> libstdc++ configure will check "shl_load". If shared library is disabled in
> gcc and uclibc configure, the libstdc++ configure will fail for options like
> -mthumb -march=armv7-r. The fail logs like:
>
> .../libgcc.a(unwind-arm.o):
On 03/26/2013 09:17 AM, Paolo Carlini wrote:
+ if (identifier_p (ce->index))
+ {
+ error ("name %qD used in a GNU-style designated "
+"initializer for an array", ce->index);
+ return false;
+ }
+
+ tree ce_index = cxx_constant_value (ce->index
On 03/26/2013 10:14 AM, Jason Merrill wrote:
On 03/26/2013 09:17 AM, Paolo Carlini wrote:
+ if (identifier_p (ce->index))
+{
+ error ("name %qD used in a GNU-style designated "
+ "initializer for an array", ce->index);
+ return false;
+}
+
+ tree ce_index = cx
Le 26/03/2013 12:21, Tobias Burnus a écrit :
> First, I am woefully aware that there are 7 patches which still have to
> be reviewed (...), one by Mikael
>
If you are referring to
http://gcc.gnu.org/ml/fortran/2013-03/msg8.html
the patch is now obsolete, so we are now at only 6 patches pending.
On Mar 26, 2013, at 3:27 AM, "Hurugalawadi, Naveen"
wrote:
> Please find attached the patch that implements load pair(ldp) and store
> pair(stp) peephole for aarch64 target.
Ah, I wish gcc had a better machine independent optimizer for load/store
combination.
On Mon, Feb 18, 2013 at 6:44 PM, Greta Yorsh wrote:
> Convert define_insn into define_insn_and_split for various min and max
> patterns that output multiple assembly instructions. Use movsicc to emit
> RTL. A separate patch will split movsicc.
>
> gcc/
>
> 2013-02-14 Greta Yorsh
>
> * c
This enables vectorizing of the complex multiplication testcase
in PR37021 by also allowing strided load support to apply to
REAL/IMAGPART_EXPR wrapped array or pointer loads. This causes
the loop to be vectorized via strided loads.
The testcase requires -fno-tree-pre unless the tree-ssa-structa
Hi,
On 03/26/2013 03:15 PM, Jason Merrill wrote:
On 03/26/2013 10:14 AM, Jason Merrill wrote:
On 03/26/2013 09:17 AM, Paolo Carlini wrote:
+ if (identifier_p (ce->index))
+{
+ error ("name %qD used in a GNU-style designated "
+ "initializer for an array", ce->index);
+
Le 24/03/2013 22:58, Janne Blomqvist a écrit :
> The attached patch takes the crude approach of first sequentially
> reading the .mod file into a temporary buffer, then does the actual
> parsing from that buffer.
>
I don't like it much, but knowing how bad module files are currently
handled, it's
On 03/26/2013 11:00 AM, Paolo Carlini wrote:
+ tree ce_index = cxx_constant_value (ce->index);
+
+ if (TREE_CODE (ce_index) == INTEGER_CST)
+ {
/* A C99 designator is OK if it matches the current index. */
- if (TREE_INT_CST_LOW (ce->index) == index)
+ i
Hi,
Since almost three months have passed I feel that I need to recheck the patch
before commiting it. I fixed what Maxim mentioned and also I fixed:
diff --git a/gcc/configure b/gcc/configure
old mode 100755
new mode 100644
index eac96cd..928693a
--- a/gcc/configure
+++ b/gcc/configure
@@ -22055
Mikael Morin wrote:
Le 24/03/2013 22:58, Janne Blomqvist a écrit :
The attached patch takes the crude approach of first sequentially
reading the .mod file into a temporary buffer, then does the actual
parsing from that buffer.
I don't like it much, but knowing how bad module files are currently
Mikael Morin wrote:
If you are referring to
http://gcc.gnu.org/ml/fortran/2013-03/msg8.html the patch is now
obsolete, so we are now at only 6 patches pending. :-)
Yes, I was thinking of those - as fix for the 4.6?/4.7/4.8 regression.
OK with the array gfc_get_parentheses removed.
Tha
Hi,
On 03/26/2013 04:10 PM, Jason Merrill wrote:
On 03/26/2013 11:00 AM, Paolo Carlini wrote:
+ tree ce_index = cxx_constant_value (ce->index);
+
+ if (TREE_CODE (ce_index) == INTEGER_CST)
+{
/* A C99 designator is OK if it matches the current index. */
- if (TREE_IN
Thomas Koenig wrote:
this patch finally makes the idiom
if (any([a,b,c] < eps)) then
equivalent to
if (a
I have not yet looked at the patch, but I wonder whether that causes
invalid code for
if (any([a,b,c] < f()))
by evaluating f() multiple times.
Another question is: Why do we gener
OK.
Jason
I committed this patch which reduces test failures.
http://gcc.gnu.org/ml/gcc-patches/2013-01/msg01373.html
2013-01-29 Sebastian Huber
* config/rtems.opt: Add -pthread option.
--
Joel Sherrill, Ph.D. Director of Research & Development
joel.sherr...@oarcorp.comOn
On Fri, 22 Mar 2013, Iyer, Balaji V wrote:
> > Why the random check for a NULL argument? If a NULL argument is valid
> > (meaning that it makes the code cleaner to allow such arguments rather than
> > making sure the function isn't called with them), this should be documented
> > in
> > the comm
Committed to trunk.
Thanks,
Roland
On Mon, 25 Mar 2013, Aldy Hernandez wrote:
> > I always tend to check for a null pointer before I access the fields in the
> > structure. In this case it is unnecessary. In some cases (e.g. find_rank)
> > there is a good chance a null pointer will be passed into the function and
> > we need to che
Hi Tobias,
I have not yet looked at the patch, but I wonder whether that causes
invalid code for
if (any([a,b,c] < f()))
by evaluating f() multiple times.
This is avoided by this part of the patch:
+ if (op2->expr_type == EXPR_CONSTANT)
+scalar = gfc_copy_expr (op2);
+ else
+scal
Am 26.03.2013 16:24, schrieb Tobias Burnus:
I wonder whether one should also do what Joost has proposed:* Changing
"allocatable" to "al" etc. That reduces both the .mod file size (and
thus I/O and improves caching) and the memory consumption of the
compiler with the proposed caching scheme. As c
On 3/26/13, Richard Biener wrote:
> On Mar 25, 2013 Lawrence Crowl wrote:
> > On 3/25/13, Richard Biener wrote:
> > > You add a not used new interface. What for?
> >
> > So that people can use it.
> >
> > > For use from gdb only?
> >
> > No, for use from both gdb and internally. It is often th
On Tue, Mar 26, 2013 at 10:14 AM, Richard Biener
wrote:
>>> I am trying to figure out a way not to lose the opportunity when shift
>>> truncation is not combined in a bit test pattern. Can we keep the
>>> explicit truncation in RTL, but generate truncation code in assembly?
>>> Then only shift tru
Hello!
The problem with insn that use high register parts (%ah,%bh,%ch,%dh)
is, that they can't be encoded with rex64 prefix. This includes
registers, as well as memory operands involving extended registers. To
handle this limitation, 64bit targets avoid memory operands when high
register parts ar
The C++ front-end isn't very systematic in using existing predicates to
test node kinds. This patch makes us use VAR_OR_FUNCTION_DECL_P in
places where we were explicitly testing VAR_DECL || FUNCTION_DECL.
Tested on an x86_64-suse-linux.
Applying to trunk as obvious.
-- Gaby
2013-03-26 Gabrie
[ping, adding the GCJ and Go maintainers]
proposed patch at http://gcc.gnu.org/ml/gcc-patches/2013-02/msg00853.html
Am 19.02.2013 10:13, schrieb Richard Biener:
> On Mon, Feb 18, 2013 at 6:02 PM, Matthias Klose wrote:
>> Am 12.02.2013 13:45, schrieb Richard Biener:
>>> On Tue, Feb 12, 2013 at 1:
On Tue, Mar 26, 2013 at 1:03 PM, Matthias Klose wrote:
> [ping, adding the GCJ and Go maintainers]
>
> proposed patch at http://gcc.gnu.org/ml/gcc-patches/2013-02/msg00853.html
As far as I know this won't affect Go. So it's fine with me. But I'd
rather see this approved by a libffi maintainer.
For what it's worth, this patch is fine by me. I had originally
proposed that GCC not install these bits.
As far as maintainers go, I thought that I was once listed in the
MAINTAINERS file. Feel free to add Andrew Haley and/or myself.
Thanks,
Anthony Green
On Tue, Mar 26, 2013 at 4:28 PM, Ian
Hi Paolo,
The patchlet below allows uses of source file with .cc extension.
This comes out of work being done on the C++ front-end and has merit of
its own. OK to apply?
Thanks,
-- Gaby
2013-03-26 Gabriel Dos Reis
* Makefile.in (.SUFFIXES): Add .cc.
(.c.o): Apply same rec
On 27/03/2013, at 4:14 AM, Alexander Ivchenko wrote:
> Hi,
>
> Since almost three months have passed I feel that I need to recheck the patch
> before commiting it. I fixed what Maxim mentioned and also I fixed:
The patch is OK with 2 changes:
1. s/default_have_ifunc_p/default_has_ifunc_p/
The n
Hello Joseph, Aldy et al.,
Attached please find a patch that will fixed the problem below and
another problem you mentioned in a previous email (I had used
really_constant_p(..) and you mentioned that in C we need to check for
INTEGER_CST).
Please let me know if I have missed anything e
On Mon, Mar 25, 2013 at 7:00 PM, Thomas Koenig wrote:
> Hello world,
>
> this patch uses memcpy() directly when comparing two kind=1 strings of
> equal and constant lengths. The test case modification depends
> on the previous patch at
>
> http://gcc.gnu.org/ml/gcc-patches/2013-03/msg00996.html
>
The ChangeLog says it has been removed in 2011, but it actually hasn't.
Applied on the mainline, 4.8 and 4.7 branches.
2013-03-26 Eric Botcazou
* doc/invoke.texi (SPARC options): Remove -mlittle-endian.
--
Eric BotcazouIndex: doc/invoke.texi
===
On 25/03/2013, at 10:15 PM, Richard Biener wrote:
> On Thu, Mar 21, 2013 at 12:22 AM, Maxim Kuvyrkov wrote:
...
>> Richard,
>>
>> As release manager, do you have any objections to backporting this patch to
>> 4.8 branch? It affects only VxWorks targets and it is quite harmless (the
>> patch f
On Tue, Mar 26, 2013 at 5:08 PM, Mikael Morin wrote:
> Le 24/03/2013 22:58, Janne Blomqvist a écrit :
>> The attached patch takes the crude approach of first sequentially
>> reading the .mod file into a temporary buffer, then does the actual
>> parsing from that buffer.
>>
> I don't like it much,
On Tue, Mar 26, 2013 at 7:23 PM, Thomas Koenig wrote:
> Am 26.03.2013 16:24, schrieb Tobias Burnus:
>
>
>> I wonder whether one should also do what Joost has proposed:* Changing
>> "allocatable" to "al" etc. That reduces both the .mod file size (and
>> thus I/O and improves caching) and the memory
> Heh. We've actually fixed this now -- unwind info generation aware of
> the cfg is exactly what pass_dwarf2_frame does. So I guess this comment
> has been out of date since gcc 4.7.
I see, thanks. So what do you suggest doing at this point? Entirely remove
the block of code? But AFAICS pas
As the MERGE issue, the lack of compile-time simplification is another
issue affecting the MPICH.
Build and regtested on x86-64-gnu-linux.
OK for the trunk?
Tobias
PS: Early ping for my OPTIONAL+VALUE patch:
http://gcc.gnu.org/ml/fortran/2013-03/msg00102.html
2013-03-26 Tobias Burnus
PR
On 3/26/13, Lawrence Crowl wrote:
> On 3/26/13, Richard Biener wrote:
>> On Mar 25, 2013 Lawrence Crowl wrote:
>> > On 3/25/13, Richard Biener wrote:
>> > > You add a not used new interface. What for?
>> >
>> > So that people can use it.
>> >
>> > > For use from gdb only?
>> >
>> > No, for use
The problem is, devirt hasn't happened yet when we compute the frame
size, so we *can't* know if bank 0 registers are used yet.
Also, I've had problems recomputing the frame size after reload. If
the frame size changes for *any* reason between reload and prologue,
you get corrupt code, as the el
Applying to trunk as obvious.
Tested on an x86_64-suse-linux.
-- Gaby
2013-03-26 Gabriel Dos Reis
* call.c (build_new_method_call_1): Use INDIRECT_REF_P.
* cvt.c (convert_to_void): Likewise.
* error.c (dump_expr): Likewise.
* mangle.c (write_expression): Like
When we see a use of a non-overloaded non-static member function, we
give the resulting expression unknown type so that invalid uses get
errors. But the "can't resolve overloading" error is wrong in this
case, so we should give the right one.
Tested x86_64-pc-linux-gnu, applying to trunk.
com
A while back I fixed build_m_component_ref so that a .* with an xvalue
lhs would be an xvalue, but we need to handle class prvalues correctly too.
Tested x86_64-pc-linux-gnu, applying to trunk and 4.8.
commit 7ef69238ed9acd48a12a0bd31307100b41db9f0e
Author: Jason Merrill
Date: Tue Mar 26 14:0
This patch replaces (const_int 0) in vector patterns with its
const_vector representation. Backported to 4.7 and 4.8.
* config/tilegx/tilegx.md (insn_mnz_): Replaced by ...
(insn_mnz_v8qi): ... this ...
(insn_mnz_v4hi): ... and this. Replace (const_int 0) with the
This patch fixes the type attribute for jr. Backported to 4.7 and
4.8.
* config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute
for jr.
(*sibcall_value): Ditto.
--- gcc/config/tilegx/tilegx.md (revision 197135)
+++ gcc/config/tilegx/tilegx.md (working copy)
@@ -2592,
This patch deletes an extra tab in the asm addr vectors. Backported
to 4.7 and 4.8.
* config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
extra tab.
(ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
--- gcc/config/tilegx/tilegx.h (revision 197134)
+++ gcc/config/tilegx/tilegx.h
This patch fixes the predicates of a few vector patterns. Backported
to 4.7 and 4.8.
2013-03-27 Walter Lee
* config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
input operands.
(insn_v1mulus): Ditto.
(insn_v2muls): Ditto.
--- gcc/config/tilegx/tilegx.md
This patch fixes a bug that causes the prologue to use more temporary
registers than necessary. Backported to 4.7 and 4.8.
* config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
double-decrement of next_scratch_regno.
--- gcc/config/tilegx/tilegx.c (revision 197134)
+++ gcc/c
80 matches
Mail list logo