On Tue, 31 Jul 2012, Richard Henderson wrote:
> On 2012-07-31 02:09, Richard Guenther wrote:
> > What do we expect __builtin_compare_exchange to do for
> > unaligned inputs?
>
> At the moment we expect it to SIGBUS, as a rule.
>
> We'd *like* to defer to the library routine for unaligned,
> but
This cleans up the way we rename all virtual operands throughout the
compiler by simply providing an abstraction for that.
mark_sym_for_renaming is gone then.
Bootstrapped and tested on x86_64-unknown-linux-gnu.
I will apply 6/n and 7/n later today.
Richard.
2012-08-01 Richard Guenther
Hello,
Sandeep Soni a écrit:
> Hi Diego,
>
> The following patch recognizes function declarations. I am now trying
> to create a gimple sequence of all the statements within the function
> body.
> The chagelog is as follows:
>
> 2012-07-31 Sandeep Soni
>
> * parser.c (gl_token_starts_de
Hi Johann,
Hi, just out of curiosity: Is there a special reason to add a
stormy16-specific implementation instead of using the code in
libgcc2.c? t-avr for example uses the C implementation in libgcc2.c
for HI. Are there disadvantages?
Apart from not using some slightly frightening makefile mag
On 07/27/2012 07:26 PM, Mikael Morin wrote:
do you have a test case exhibiting the problem? It seems fine to me.
Your second test case was too convoluted for me - and as I wasn't at
home, I couldn't test it. I now believe that your patch is okay; I will
later formally review it.
Do you int
On Fri, Dec 2, 2011 at 8:28 PM, Jakub Jelinek wrote:
> On Fri, Dec 02, 2011 at 02:27:40PM +0100, Richard Guenther wrote:
>> This change seems wrong. We are turning valid gimple
>>
>> # DEBUG D#2 => transfer.0 [with addres taken]
>>
>> into invalid one
>>
>> # DEBUG D#2 => transfer.0 [without ad
Workround for Google ref b/6663281
Appends -fno-section-anchors to -fprofile-{generate,use} -fripa, for powerpc
targets only. No-op for other targets.
For google/main. Tested for bootstrap and regression.
2012-08-01 Simon Baldwin
* gcc/testsuite/gcc.dg/tree-prof/lipo/lipo.exp: Appe
Hi,
thus I started analyzing why we are handling incorrectly some variants
posted by Daniel. A typical example (another is about using the sizeof
in a template argument) is:
class C {
typedef int type; // Line 2
};
template
auto f(int) -> char;
template
auto f(...) -> char (&)[2];
typedef
This series aims at removing referenced vars. It builds on the into-SSA
TLC series and the still to be posted removal of var-anns.
This first patch removes SRAs use of referenced vars. Instead of
turning it upside-down the following simply adds a pass-local
"referenced" vars reverse lookup capa
On 01/08/2012 12:00, Tobias Burnus wrote:
> On 07/27/2012 07:26 PM, Mikael Morin wrote:
>> do you have a test case exhibiting the problem? It seems fine to me.
>
> Your second test case was too convoluted for me - and as I wasn't at
> home, I couldn't test it. I now believe that your patch is okay
Committed as obvious.
Richard.
2012-08-01 Richard Guenther
* tree-ssa.texi: Remove pieces mentioning mark_sym_for_renaming.
Index: gcc/doc/tree-ssa.texi
===
--- gcc/doc/tree-ssa.texi (revision 190034)
+++ gcc/doc/
This is part one of the patch (and thus single commit) that will
remove referenced vars once we got rid of var annotations.
It removes referenced_var_lookup and all callers - which shows
you where dumping will be affected.
Bootstrap & regtest pending on x86_64-unknown-linux-gnu.
Richard.
2012-0
Hello!
For some reason simplify_subreg does not like stack pointer. We call
simplify_subreg when printing address operands, so we have to prevent
SImode subregs of stack pointers from going into the address.
2012-08-01 Uros Bizjak
* config/i386/i386.c (ix86_address_subreg_operand): Re
This removes the referenced vars machinery (stubbing out
add_referenced_vars and gimple_referenced_vars - a patch fixing
all callers will be 2c/2).
Bootstrap and regtest pending on x86_64-unknown-linux-gnu.
Richard.
2012-08-01 Richard Guenther
* tree-flow.h (struct gimple_df): Remov
On 08/01/2012 01:37 PM, Mikael Morin wrote:
However, I found another spot where one needs to have a scalarizer;
possibly a poor man's version is enough. Namely INTENT(OUT) handling.
Indeed.
Do you have an idea how to best handle that case?
It seems some new code is necessary. I don't know how
On Sun, Jul 22, 2012 at 5:19 PM, William J. Schmidt
wrote:
> Ping...
>
> On Thu, 2012-06-28 at 16:45 -0500, William J. Schmidt wrote:
>> Here's a relatively small piece of strength reduction that solves that
>> pesky addressing bug that got me looking at this in the first place...
>>
>> The main p
On Sat, Jul 21, 2012 at 3:57 PM, Tom de Vries wrote:
> Jakub,
>
> this patch adds propagation of anti-ranges to switches.
>
> The test-case is this:
> ...
> void
> f3 (int s)
> {
> if (s >> 3 == -2)
> /* s in range [ -16, -9]. */
> ;
> else
> {
> /* s in range ~[-16, -9], so
On Wed, Aug 1, 2012 at 2:37 PM, Tobias Burnus wrote:
> On 08/01/2012 01:37 PM, Mikael Morin wrote:
>>>
>>> However, I found another spot where one needs to have a scalarizer;
>>> possibly a poor man's version is enough. Namely INTENT(OUT) handling.
>>
>> Indeed.
>>>
>>> Do you have an idea how to
On 12-08-01 03:49 , Simon Baldwin wrote:
Workround for Google ref b/6663281
Appends -fno-section-anchors to -fprofile-{generate,use} -fripa, for powerpc
targets only. No-op for other targets.
For google/main. Tested for bootstrap and regression.
2012-08-01 Simon Baldwin
* gcc/tes
On 07/31/2012 06:46 PM, Peter Bergner wrote:
I'd like to ping the following libstdc++ DFP patch that fixes PR54036:
http://gcc.gnu.org/ml/gcc-patches/2012-07/msg00959.html
I don't normally review library patches; I've added Benjamin to CC, as
he's one of the library maintainers.
Jason
This cleans up terminology in strength reduction. What used to be a
base SSA name is now sometimes other tree expressions, so the term "base
name" is replaced by "base expression" throughout.
Bootstrapped and tested with no new regressions on
powerpc64-unknown-linux-gnu; committed as obvious.
Th
Hi David,
This is the last of my vendetta against the "o" constraint in the
rs6000 backend. Remaining are a few places in rs6000.md where the
operand predicate is offsettable_mem_operand, and one instance in
spe.md. I believe none of these can run into mode_dependent_address
causing "insn does no
Hi,
this tidies ssa liveness calculation a bit (related to out-of-ssa). In
particular it doesn't make use of var annotations to compress the index
space from partitions to base variable indices anymore, but instead a
hashmap built on the fly when we need it. The basevars itself actually
aren
Hi,
this removes the last member of var_ann_d, a bit used only locally in
remove_unused_locals, so we can as well just use a bitmap. (The funny
renaming of the member I had to do because gengtype doesn't like empty
structs, the whole thing will be removed momentarily with the third
patch).
T
On Sat, Apr 28, 2012 at 8:11 AM, H.J. Lu wrote:
> Hi,
>
> arg_pointer and frame_pointer are handled as special cases in
> based_loc_descr.
>
> (plus:DI (reg/f:DI 16 argp)
> (const_int -20 [0xffec]))
>
> is perfectly valid when Pmode == DImode and DWARF2_ADDR_SIZE is 32bit
> with pt
Hi,
On Wed, 1 Aug 2012, Michael Matz wrote:
> The only remaining semantic of var_ann now is "if it's non-zero it's a
> non-global variable that was put into referenced_vars".
And that's removed in this patch. Most of the time it's not very
interesting to know if a variable was put in referenc
Hi,
On 08/01/2012 12:46 AM, Peter Bergner wrote:
I'd like to ping the following libstdc++ DFP patch that fixes PR54036:
http://gcc.gnu.org/ml/gcc-patches/2012-07/msg00959.html
I think the patch is essentially Ok, but I would recommend giving Janis
a chance to comment (say 24/48 h).
Note t
I think the problem is that we're deferring access control due to
tentative parsing on line 11, and not on line 13. I guess we need a
push_deferring_access_checks (dk_no_deferred);
pop_deferring_access_checks ();
around the substitution of default template args in type_unification_real.
Jason
On Wed, Aug 1, 2012 at 4:05 PM, Michael Matz wrote:
> Hi,
>
> this tidies ssa liveness calculation a bit (related to out-of-ssa). In
> particular it doesn't make use of var annotations to compress the index
> space from partitions to base variable indices anymore, but instead a
> hashmap built on
On Wed, Aug 1, 2012 at 4:09 PM, Michael Matz wrote:
> Hi,
>
> this removes the last member of var_ann_d, a bit used only locally in
> remove_unused_locals, so we can as well just use a bitmap. (The funny
> renaming of the member I had to do because gengtype doesn't like empty
> structs, the whole
On Wed, Aug 1, 2012 at 4:13 PM, Michael Matz wrote:
> Hi,
>
> On Wed, 1 Aug 2012, Michael Matz wrote:
>
>> The only remaining semantic of var_ann now is "if it's non-zero it's a
>> non-global variable that was put into referenced_vars".
>
> And that's removed in this patch. Most of the time it's
On 08/01/2012 07:29 AM, Paolo Carlini wrote:
> Hi,
>
> On 08/01/2012 12:46 AM, Peter Bergner wrote:
>> I'd like to ping the following libstdc++ DFP patch that fixes PR54036:
>>
>>http://gcc.gnu.org/ml/gcc-patches/2012-07/msg00959.html
> I think the patch is essentially Ok, but I would recommen
Hi,
On Wed, 1 Aug 2012, Richard Guenther wrote:
> Ok. Would be nice to now unify global and local var handling with a
> single bitmap.
Yeah, wanted to do that as follow-up. Namely like so. Regstrapping on
x86_64-linux in progress on top of your remove-referenced-vars patches.
Okay for tru
On Wed, Aug 1, 2012 at 5:28 PM, Michael Matz wrote:
> Hi,
>
> On Wed, 1 Aug 2012, Richard Guenther wrote:
>
>> Ok. Would be nice to now unify global and local var handling with a
>> single bitmap.
>
> Yeah, wanted to do that as follow-up. Namely like so. Regstrapping on
> x86_64-linux in progre
Hi all,
here is a follow-up patch to my recent fix for PR 42418. Shortly after
committing it, I realized that the same checks should be done not only
for plain PROCEDURE declarations, but also for procedure-pointer
components and (deferred) type-bound procedures. So, what the attached
patch does,
Hi,
On 08/01/2012 04:32 PM, Jason Merrill wrote:
I think the problem is that we're deferring access control due to
tentative parsing on line 11, and not on line 13. I guess we need a
push_deferring_access_checks (dk_no_deferred);
pop_deferring_access_checks ();
around the substitution of defa
On 08/01/2012 01:40 AM, Richard Guenther wrote:
> I see. So your issue is that you don't get the knowledge
> that the address is even more aligned than required by the
> builtin.
Yes. Very helpful for quite a few targets that only have word-sized atomic
operations, and we emulate char/short via
Hi Richard,
> Frankly I don't understand the point of these instructions
> being added to the ISA at all. I would have understood an
> add-with-carry that did *not* modify the flags at all, but
> two separate ones that modify C and O separately is just
> downright strange.
If there is only one ca
On Wed, 1 Aug 2012, Richard Henderson wrote:
> On 08/01/2012 01:40 AM, Richard Guenther wrote:
> > I see. So your issue is that you don't get the knowledge
> > that the address is even more aligned than required by the
> > builtin.
>
> Yes. Very helpful for quite a few targets that only have wo
On Wed, 1 Aug 2012, Richard Guenther wrote:
>
> This series aims at removing referenced vars. It builds on the into-SSA
> TLC series and the still to be posted removal of var-anns.
>
> This first patch removes SRAs use of referenced vars. Instead of
> turning it upside-down the following simpl
Greetings,
Thanks for the review of part 2! Here's another chunk of the SLSR code
(I feel I owe you a few beers at this point). This performs analysis
and replacement on groups of related candidates having an SSA name
(rather than a constant) for a stride.
This leaves only the conditional incre
Sandra Loosemore writes:
> This patch makes GCC know about -march=34kn. MIPS asked us to add
> support for this processor to our local source base a couple of years
> ago; it's basically a 34Kc without the DSP ASE. OK for mainline?
>
> I have posted the corresponding assembler patch here:
> ht
On 08/01/2012 11:49 AM, Paolo Carlini wrote:
static_assert(sizeof(g(0)) == 2, "Ouch"); // line 11
typedef int testg[sizeof(g(0)) == 2 ? 1 : -1]; // line 13
what happens is that line 13 is mishandled:
sfinae37_red.C:13:48: error: size of array testg is negative
However, *if I c
On 08/01/2012 07:35 PM, Jason Merrill wrote:
On 08/01/2012 11:49 AM, Paolo Carlini wrote:
static_assert(sizeof(g(0)) == 2, "Ouch"); // line 11
typedef int testg[sizeof(g(0)) == 2 ? 1 : -1]; // line 13
what happens is that line 13 is mishandled:
sfinae37_red.C:13:48: error: size
=long
-mtune=generic -march=x86-64 -auxbase x -O2 -version -ftree-vectorize -o
x.s
GNU C (GCC) version 4.8.0 20120801 (experimental)
(x86_64-unknown-linux-gnu)
compiled by GNU C version 4.7.1 20120629 (Red Hat 4.7.1-1), GMP
version 5.0.2, MPFR version 3.1.0, MPC version 0.9
GGC heuristics
Hi again,
On 08/01/2012 08:40 PM, Paolo Carlini wrote:
For the second evaluation, the second time we call
instantiate_template_1, thus for the interesting g(int) overload, here:
spec = retrieve_specialization (gen_tmpl, targ_ptr, 0);
gcc_assert (tmpl == gen_tmpl
|| ((fndecl = re
eprocessed x.i -quiet -dumpbase x.i -mx32 -maddress-mode=long
> -mtune=generic -march=x86-64 -auxbase x -O2 -version -ftree-vectorize -o
> x.s
> GNU C (GCC) version 4.8.0 20120801 (experimental)
> (x86_64-unknown-linux-gnu)
> compiled by GNU C version 4.7.1 20120629 (Red Hat 4.7
On 31 July 2012 22:29, Michael Hope wrote:
> cc'ed the libstdc++ list. Ping?
OK for 4.7
> -- Michael
>
> On 25/07/12 12:12, Michael Hope wrote:
>>
>> The libstdc++ prettyprinters test suite isn't called out in Makefile.am.
>> Backport Andreas's
>> patch from mainline so that a sequential test r
>> Starting program: /export/build/gnu/gcc-x32/build-x86_64-linux/gcc/cc1
>> -fpreprocessed x.i -quiet -dumpbase x.i -mx32 -maddress-mode=long
>> -mtune=generic -march=x86-64 -auxbase x -O2 -version -ftree-vectorize -o
>> x.s
>> GNU C (GCC) version 4.8.0 20120801 (exper
Hello,
an opinion on this?
(I just noticed: I'll update the list in the comment visible at the top of
the patch if this gets in).
On Thu, 19 Jul 2012, Marc Glisse wrote:
Hello,
the simple patch below passes the testsuite after a c,c++ bootstrap without
new regressions. Note however that
Verifying number of comparisons invoked in different algos and different
modes I remarked this small performance issue.
2012-08-01 François Dumont
* include/debug/functions.h (__check_partition_lower_aux): Remove
redundant comparison with pivot value.
(__check_partition_upper_aux
On 2012-08-01 10:14, Richard Guenther wrote:
> If you said
>
> p_s->y = 0;
>
> then we can exploit the fact that you dereference p_s and derive
> bigger alignment. But I don't see how we can massage the
> builtin to preserve such form. Well, put in a memory reference
> in the argument, __buil
Committed after a build completed.
r~
* config/m32c/m32c.c (TARGET_INIT_LIBFUNCS): Remove.
(m32c_init_libfuncs): Remove.
* config/m32c/cond.md (cstore4_16): Rename from cstore4.
(cstore4): New expander.
diff --git a/gcc/config/m32c/cond.md b/gcc/config/m32c/con
Testing on m32c reveals that we've been asking for cost of
conversion from MODE_PARTIAL_INT. We hadn't actually been
initializing those costs, mind.
I'm not only allowing the query, but initializing them too.
Committed after testing on x86_64 and m32c.
r~
* expmed.h (NUM_MODE_PARTIAL
Using e.g. -falign-labels=16 on ARM can confuse the constant-pool layout
code such that it places pool entries too far away from their referring
instructions. This change seems to fix it.
I don't have a small test case, only a large one, which I haven't actually
tried to get to reproduce on any v
> Testing on m32c reveals that we've been asking for cost of
> conversion from MODE_PARTIAL_INT. We hadn't actually been
> initializing those costs, mind.
Ah, ignore my previous email in the m32c thread then ;-)
The existing scheduler bypass information for madd on the 74k uses some
bits copied from the 24k, and is not quite correct. This patch is based
on one originally sent to us by MIPS and has been present in our local
source base for years. I've confirmed that we are legally allowed to
contribut
I tried to test this, but newlib won't build (looks unrelated). The
failure is this assert in expmed.h:
gcc_assert (to_mode >= MIN_MODE_INT
&& to_mode <= MAX_MODE_INT
&& from_mode >= MIN_MODE_INT
&& from_mode <= MAX_MODE_INT);
which can't possibly wo
On 01/08/12 10:47, Richard Guenther wrote:
> * tree-ssa-tail-merge.c (release_last_vdef): Remove.
> (replace_block_by): Adjust.
> (tail_merge_optimize): Use mark_virtual_operands_for_renaming.
Richard,
this caused PR50672 to trigger again.
Thanks,
- Tom
Please try this as a followup to the previous two patches.
That should clean up the mistake with the insv change.
r~
commit 6b07a31943bcbca2a4f6fae707cf3d7ae283d4dc
Author: Richard Henderson
Date: Wed Aug 1 16:10:37 2012 -0700
fixup insv
diff --git a/gcc/config/s390/s390.c b/gcc/config/s
On Wed, 1 Aug 2012 08:24:48 -0700 Janis Johnson wrote:
> On 08/01/2012 07:29 AM, Paolo Carlini wrote:
> > On 08/01/2012 12:46 AM, Peter Bergner wrote:
> >> I'd like to ping the following libstdc++ DFP patch that fixes PR54036:
> >>
> >>http://gcc.gnu.org/ml/gcc-patches/2012-07/msg00959.html
> >
On Jul 24, 2012, Alexandre Oliva wrote:
> Thanks. I'm about to go on a trip for the rest of the week and I won't
> be online much, so I won't check them in now. I will when I get back
> home, so that I'll have a better chance of dealing with any fallout.
I've just installed the 3 patches. The
62 matches
Mail list logo