On Thu, Apr 18, 2013 at 6:25 PM, Matthias Klose wrote:
> revisit PR middle-end/56848 for 4.7.4. as outlined in the bug report, this
> reapplies the patch backed out for the 4.7.3 release and backports r190733.
> No regressions in the testsuite on x86_64-linux-gnu compared to the 4.7.3
> release. O
On Fri, Apr 19, 2013 at 12:05 AM, Cary Coutant wrote:
> If I turn on -fdebug-types-section, I get a failure in the PCH tests:
>
> FAIL: g++.dg/pch/system-2.C -O2 -g assembly comparison
>
> This appears to be the result of differences in hash table traversal
> during debug output (same output, slig
On Fri, Apr 19, 2013 at 1:08 AM, Martin Jambor wrote:
> Hi,
>
> On Fri, Apr 19, 2013 at 12:37:58AM +0200, Steven Bosscher wrote:
>> On Fri, Apr 19, 2013 at 12:09 AM, Martin Jambor wrote:
>> > I also have not tried scheduling the hard register copy propagation
>> > pass twice and measuring the impa
Hi,
the following patch fixes PR 56988 by distinguishing between by
reference and by value aggregate replacement value. While it is OK to
ignore the difference in the last phases of propagation/decision
making because any discrepancies have already been weeded out there,
the testcase clearly show
Looks OK to me.
/Marcus
On 18 April 2013 22:10, Yufeng Zhang wrote:
> Hi,
>
> The patch changes _FP_W_TYPE and _FP_WS_TYPE in AArch64 libgcc to be based
> on 'long long', making them ILP32-friendly. x86_64 has the definitions.
>
> OK for the trunk?
>
> Thanks,
> Yufeng
>
> libgcc/
>
> 2013-04-1
Fix PR56797
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56797
The problem is that peephole optimizer thinks it can generate an ldm, but
the pattern for ldm no longer matches, because after r188738 it requires
that if one of the destination registers is SP then the base register must
be SP, and it'
Hi,
> I still think getting rid of TARGET_FOLD_BUILTIN and replacing it with
> TARGET_FOLD_STMT that only operates on GIMPLE is the way to go.
Would that look something like the attached? (The patch isn't
polished, but hacks enough together to function).
In these patches we add TARGET_FOLD_STMT
Le 17/04/2013 19:12, Thomas Koenig a écrit :
> OK if accompanied by a ChangeLog entry and my test cases, as well :-)
>
This is what I have just committed. 4.8 will follow in a few days.
Mikael
Index: testsuite/gfortran.dg/array_constructor_45.f90
On Fri, Apr 19, 2013 at 11:39 AM, James Greenhalgh
wrote:
> Hi,
>
>> I still think getting rid of TARGET_FOLD_BUILTIN and replacing it with
>> TARGET_FOLD_STMT that only operates on GIMPLE is the way to go.
>
> Would that look something like the attached? (The patch isn't
> polished, but hacks eno
This fixes PR57000 by updating virtual SSA form if necessary.
Tested on x86_64-unknown-linux-gnu, applied.
Richard.
2013-04-19 Richard Biener
PR tree-optimization/57000
* tree-ssa-reassoc.c (pass_reassoc): Add TODO_update_ssa_only_virtuals.
* gcc.dg/tree-ssa/reassoc
Hi,
the attached patch improves the performance for unformatted and
unbuffered files. Currently unbuffered unformatted really means that
we don't buffer anything and use the POSIX I/O syscalls directly. With
the patch, we use the buffer but flush it at the end of each I/O
statement.
(For formatte
On Wed, Apr 17, 2013 at 5:59 PM, Martin Jambor wrote:
> Hi,
>
> this patch implements type-based devirtualization done
> intra-procedurally. This is normally done by the front-end except in
> cases when opportunities for this transformation are created by
> early-inlining. Because we handle this
On Tue, 16 Apr 2013, Diego Novillo wrote:
> Thanks for the feedback, folks.
>
> I've removed the builder type and added some overloads to simplify the
> creation of gimple assignments. I have only added exactly the functions I
> needed to simplify a bit of gcc/asan.c. I plan to continue adding
On 19/04/13 10:34, Greta Yorsh wrote:
Fix PR56797
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56797
The problem is that peephole optimizer thinks it can generate an ldm, but
the pattern for ldm no longer matches, because after r188738 it requires
that if one of the destination registers is SP th
Hi,
Please find attached the patch that implements Negate with Carry
instruction for aarch64 target.
Please review the same and let me know if there should be any
modifications in the patch.
Build and tested on aarch64-thunder-elf (using Cavium's internal
simulator). No new regressions.
Thanks
The linux version of Build_Dynamic_Library passes all options and libraries in
Options, which end up on the command line before the object files. So it looks
like the signature of Build_Dynamic_Library should differentiate between options
and libraries. Until it does, use the same approach as don
Can you clarify what problem you are trying to solve (e.g. by providing
a testcase, explaining what you are doing and you would expect)?
Arno
Am 19.04.2013 14:14, schrieb Arnaud Charlet:
> Can you clarify what problem you are trying to solve (e.g. by providing
> a testcase, explaining what you are doing and you would expect)?
from http://bugs.debian.org/680292
Gnatmake calls gcc -shared in a way incompatible with
--as-needed. Gprbuild
On Tue, Apr 16, 2013 at 10:07 PM, Kenneth Zadeck
wrote:
> Richard,
>
> I made major changes to wide-int along the lines you suggested. Each of the
> binary operations is now a template.
> There are 5 possible implementations of those operations, one for each of
> HWI, unsigned HWI, wide-int, rtl,
The following paves the way for more supported load permutations.
I've split it off the patch supporting more permutation as that
requires a load of surgery still :/
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.
Richard.
2013-04-19 Richard Biener
* tree-vectorizer.h
On 13-04-19 4:21 AM, Richard Biener wrote:
On Fri, Apr 19, 2013 at 1:08 AM, Martin Jambor wrote:
Hi,
On Fri, Apr 19, 2013 at 12:37:58AM +0200, Steven Bosscher wrote:
On Fri, Apr 19, 2013 at 12:09 AM, Martin Jambor wrote:
I also have not tried scheduling the hard register copy propagation
pas
Hi!
I've committed the following patch to gomp4 branch.
#pragma omp simd loops now are handled with all its clauses from parsing up
to and including omp expansion, so should actually run correctly, though
haven't added any runtime testcases yet.
#pragma omp for simd is handled only partially, the
On 19/04/13 12:41, Hurugalawadi, Naveen wrote:
Hi,
Please find attached the patch that implements Negate with Carry
instruction for aarch64 target.
Please review the same and let me know if there should be any
modifications in the patch.
Build and tested on aarch64-thunder-elf (using Cavium's
Hi,
according to n3242 8.5.6,
If a program calls for the default initialization of an object of a
const-qualified type T, T shall be a class type with a user-provided
default constructor.
This patches fixes 3 places in libstdc++ code where this requirement
is violated.
Please review.
I don't hav
On 18 April 2013 11:30, Christophe Lyon wrote:
> On 4 April 2013 14:19, Christophe Lyon wrote:
>> ~/src/qemu/qemu-git/arm-linux-user/qemu-arm -cpu cortex-a9 -R 0 -L
>> /home/lyon/src/GCC/builds/gcc-fsf-asan-arm-none-linux-gnueabihf/sysroot
>> ./heap-overflow-1.arm
>>
>> On 28 March 2013 15:33, C
On 19 April 2013 15:42, Evgeniy Stepanov wrote:
> Hi,
>
> according to n3242 8.5.6,
>
> If a program calls for the default initialization of an object of a
> const-qualified type T, T shall be a class type with a user-provided
> default constructor.
>
> This patches fixes 3 places in libstdc++ code
Good point, thanks!
Revised patch attached.
On Fri, Apr 19, 2013 at 7:00 PM, Jonathan Wakely wrote:
> On 19 April 2013 15:42, Evgeniy Stepanov wrote:
>> Hi,
>>
>> according to n3242 8.5.6,
>>
>> If a program calls for the default initialization of an object of a
>> const-qualified type T, T shall
On 04/18/2013 05:08 PM, Martin Jambor wrote:
Hi,
On Fri, Apr 19, 2013 at 12:37:58AM +0200, Steven Bosscher wrote:
On Fri, Apr 19, 2013 at 12:09 AM, Martin Jambor wrote:
I also have not tried scheduling the hard register copy propagation
pass twice and measuring the impact on compile times. An
On 04/18/2013 04:09 PM, Martin Jambor wrote:
I did not because I did not think it would be substantially faster
than running the pass as-is twice.
I wasn't looking to improve compile-time performance, but from a
standpoint of not losing optimizations. If we can show that a second
pass does vi
The resolution of core 941 allows non-deleted specializations of deleted
function templates.
Tested x86_64-pc-linux-gnu, applying to trunk and 4.8.
commit d64070bb7f98ecbf0f1bec46f0a5acb018b60ab1
Author: Jason Merrill
Date: Tue Apr 16 13:30:34 2013 +0100
DR 941
* decl.c (duplicate_
On Fri, Apr 19, 2013 at 7:59 AM, Christophe Lyon
wrote:
> On 18 April 2013 11:30, Christophe Lyon wrote:
>> On 4 April 2013 14:19, Christophe Lyon wrote:
>>> ~/src/qemu/qemu-git/arm-linux-user/qemu-arm -cpu cortex-a9 -R 0 -L
>>> /home/lyon/src/GCC/builds/gcc-fsf-asan-arm-none-linux-gnueabihf/sys
There were a few changes requested to my return type deduction paper
during review in Bristol; this patch implements those changes.
Tested x86_64-pc-linux-gnu, applying to trunk.
commit fd1e2aa05a014b59a800e5405fcb62eaef67e6f0
Author: Jason Merrill
Date: Mon Apr 15 22:27:33 2013 +0100
N
Hi,
this patch implements the new "#pragma GCC diagnostic off" for the C family of
compilers as well as for the Ada compiler. In fact the subject is slightly
misleading as the main goal of the patch is to wire the diagnostic circuitry
of the Ada front-end to that of the middle-end, thus enabli
Hi Richard,
Thanks for your feedback. This does feel like a much nicer solution now.
> Yes, it looks basically ok. I'd probably restrict it to folding target
> builtins
> though - similar to what TARGET_FOLD_BUILTIN did. Exactly to not
> expose all stmts to the backends. That is, move the targ
Hi Tobias,
> Fortran 2008 supports C_LOC(array); if the argument is not simply
> contiguous, the current code adds a call to __gfortran_intrinsic_pack.
>
> The pack call shouldn't be there. Fortran 2008 demands that the actual
> argument is contiguous and intrinsic_pack copy creates a copy if the
The following patch fixes
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56847
Reload pass is lucky choosing alternative without offsettable memory
in movti_internal pattern as this alternative for some reason has reject
value less by one than alternative with offsettable memory. LR
On 04/17/2013 10:02 PM, Paolo Carlini wrote:
Hi,
On 4/17/13 8:43 PM, François Dumont wrote:
On 04/17/2013 09:18 PM, Paolo Carlini wrote:
On 4/17/13 8:10 PM, François Dumont wrote:
Hi
Here is an other proposal to fix
std::is_copy_assignable>.
Sorry, I'm still missing something very, very
Hi,
This patch generates labels for cold function parts that are split when
using the option -freorder-blocks-and-partition. The cold label name
is generated by suffixing ".cold" to the assembler name of the hot
function.
This is useful when getting back traces from gdb when the cold functio
On Fri, Apr 19, 2013 at 5:58 AM, Vladimir Makarov wrote:
> The problem was in complicated interactions of coalescing and
> doing/undoing inheritance and assignment sub-passes through several
> iterations. One solution would be in modifying coalescing in order to take
> future actions in undoing
Updated patch attached.
Thanks
Sri
On Fri, Apr 19, 2013 at 1:43 PM, Sriraman Tallam wrote:
> Hi,
>
> This patch generates labels for cold function parts that are split when
> using the option -freorder-blocks-and-partition. The cold label name
> is generated by suffixing ".cold" to the assemb
> Maybe we should detect overflow as if the input and output were signed
> while computing an unsigned result. As far as I can see int_const_binop_1
> does detect overflow as if operations were signed (it passes 'false' as
> uns to all double-int operations rather than TYPE_UNSIGNED).
> For exampl
On 13-04-19 4:55 PM, Steven Bosscher wrote:
On Fri, Apr 19, 2013 at 5:58 AM, Vladimir Makarov wrote:
The problem was in complicated interactions of coalescing and
doing/undoing inheritance and assignment sub-passes through several
iterations. One solution would be in modifying coalescing in
Janus Weil:
What I don't quite understand is:
@@ -6317,8 +6317,13 @@ conv_isocbinding_function (gfc_se *se, gfc_expr *expr)
{
if (arg->expr->rank == 0)
gfc_conv_expr_reference (se, arg->expr);
- else
+ else if (gfc_is_simply_contiguous (arg->expr, false))
gfc_c
On 13-04-18 4:44 PM, Vladimir Makarov wrote:
Tomorrow I am going to look at SPEC2006 dealII crash for 32-bit mode.
LRA crashes on insn
(insn 406 575 391 22 (set (reg:TF 35 3)
(mem/u/c:TF (lo_sum:SI (reg:SI 7 7 [414])
(symbol_ref/u:SI ("*.LC10") [flags 0x82])) [85 S16
Hi,
"François Dumont" ha scritto:
> Ok to commit ?
No, it's definitely not Ok, we don't want to add std::is_copy_assignable
specializations like this.
Jon will send you more comments.
Thanks,
Paolo
From: Andi Kleen
The hashtab pointer hash function is not very good. It throws most of the
bits in the pointer away.
This changes pointer_hash to use the mix code from jhash function that mixes
all the bits on the pointer and makes them dependent on each other, before doing
the modulo.
libibert
From: Andi Kleen
For a large LTO test case The previous pointer hash change brought
the collision rate for the WPA gimple type hash table from 90% to
70. This patch uses the well known murmur3 to improve it further
to 64%.
gcc/:
2013-04-18 Andi Kleen
* Makefile.in (tree.o): Add murmu
These patches together improve the gimple type merging WPA hash
bottleneck that I'm seeing when building the Linux kernel with LTO.
Mostly it's micro optimization to the hashing, better hash functions,
various tweaks. Individual patches result in 2-4% build time
improvements each and somewhat lowe
From: Andi Kleen
I use Austin Appleby's Public Domain Murmur3 reference code.
I don't own that code. Murmur hash is available from
http://code.google.com/p/smhasher/wiki/MurmurHash
gcc/:
2013-04-18 Andi Kleen
* murmurhash3.h: New file.
---
gcc/murmurhash3.h | 80
From: Andi Kleen
Used in the next patch.
I use Austin Appleby's Public Domain Murmur2A reference code.
I don't own that code. Murmur hash is available from
http://code.google.com/p/smhasher/wiki/MurmurHash
gcc/:
2013-04-18 Andi Kleen
* murmurhash.h: New file
---
gcc/murmurhash.h |
From: Andi Kleen
WPA can spend a lot of time just resizing the type merging hash tables.
This adds experimental --params to size them large initially. On my large
LTO build I get a 1.1% improvement in build time from presizing the hash
tables to a large enough value.
Later on I think it's better
From: Andi Kleen
The LTO report is currently printed when the type merging hash tables
are already destroyed, which makes them always show up as empty.
Print it earlier. Right now it's printed twice.
gcc/:
2013-04-19 Andi Kleen
* lto/lto.c (print_lto_report_1): Declare early.
From: Andi Kleen
Some of the hash tables in lto-report are misnamed in the report.
Fix this up.
gcc/:
2013-04-19 Andi Kleen
* gcc/lto/lto.c (print_lto_report_1): Fix LTO report names.
---
gcc/lto/lto.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gcc/lto/
From: Andi Kleen
-flto-report is useful, but it prints for every LTRANS pass and
is very noisy and the main problem is often in WPA only.
Add a new -flto-report-wpa option that is only printed for WPA.
gcc/:
2013-04-19 Andi Kleen
* common.opt (-flto-report-wpa): Add.
* doc/
From: Andi Kleen
The type merging operation in LTO WPA is very expensive and can create
multi GB hash tables. Use murmurhash2A for the type merging hash.
Improves LTO build performance on a large project by 3.2%
This both comes from less collisions and somewhat faster hashing.
Use the expanded
The bpabi.h header already sets up defines to automatically use the
--fix-v4bx flag with the assembler & linker as needed, and creates a
default assembly & linker spec which uses those. Unfortunately, the
linux-eabi.h header clobbers the LINK_SPEC define and doesn't include
the v4bx define when se
Andrew Bennett found this fix to my MIPS build problem (PR target/56942).
He does not have write access so I am submitting it for checkin, is this
a simple enough fix for an 'obvious' checkin? I did a build and regression
test to verify the fix.
Steve Ellcey
sell...@imgtec.com
2013-04-19 Andr
I want to eliminate/minimize global state within gcc, since I think
doing so is a key part of making gcc more modular.
Currently there's a lot of global state associated with passes:
* the pass tree itself: a single global tree of passes, with callbacks
("gate" and "execute")
* globals within indi
* passes.c (init_optimization_passes): introduce macros
INSERT_PASSES_AFTER, PUSH_INSERT_PASSES_WITHIN, POP_INSERT_PASSES,
TERMINATE_PASS_LIST when constructing the tree of passes
---
gcc/ChangeLog | 6
gcc/passes.c | 108 ++--
This patch is 546kb in size, so I've uploaded it to:
http://fedorapeople.org/~dmalcolm/gcc/large-patches/57dc196fd5efa2c59fd57ef21974e8a281f800e3-0003-Autogenerated-part-of-conversion-of-passes-to-instan.patch
* testsuite/gcc.dg/plugin/one_time_plugin.c (one_pass_gate): convert
to a virtual function: one_pass::gate
(one_pass_exec): convert to a virtual function: one_pass::impl_execute
---
gcc/ChangeLog | 6 +
gcc/testsuite/gcc.dg/plugin/one_ti
2013-04-17 David Malcolm
* testsuite/gcc.dg/plugin/one_time_plugin.c (one_pass_gate): example
of converting global state to per-pass state: convert the
"static int counter" within the one_pass::execute hook from having
global lifetime to being a field of the pas
* passes.def: New file
* passes.c (init_optimization_passes): Move the construction of the
tree hierarchy into a new passes.def file.
---
gcc/ChangeLog | 7 +
gcc/passes.c | 377 +
gcc/passes.def | 404 ++
On Fri, Apr 19, 2013 at 2:31 PM, Andi Kleen wrote:
> From: Andi Kleen
>
> 2013-04-18 Andi Kleen
>
> * hashtab.c (hash_pointer): Move to end of file and reimplement.
> +/* Returns a hash code for pointer P. Simplified version of evahash */
> +
> +static hashval_t
> +hash_pointer (cons
64 matches
Mail list logo