Balaji V. Iyer | 1 Jan 2009 01:20
Picon
Favicon

PATCH for genextract.c

Hello Everyone,
    I was using the insn_extract function, and the n_operands variable
was not getting set correctly. IMHO, it should be set to the number of
operands we have extracted. This patch should fix that problem. I am
using gcc-4.0.2 but in some future gcc ports, this file remains
unchanged.

Thanks,

Balaji V. Iyer.

--

-- 

Balaji V. Iyer
PhD Candidate, 
Center for Efficient, Scalable and Reliable Computing,
Department of Electrical and Computer Engineering,
North Carolina State University.

Attachment (genextract.patch): application/octet-stream, 408 bytes
Paolo Bonzini | 1 Jan 2009 01:27
Picon
Gravatar

Re: [wwwdocs] Add "free software" instead of "Open Source" to codingconventions.html


> But, of course, the FSF specifically highlights the distinction between
> "free" and "open-source" software and makes the point that this a
> philosophical difference, not, per se, a licensing issue.  If someone
> else's software is more properly described as open-source, because that
> reflects the developer community and/or copyright holder's philosophy,
> it seems bizarre -- and perhaps rude -- to refuse to call it that.  That
> would only seem to undermine the distinction that the FSF is trying to make.

I disagree.  Free is a subset of open-source.  If it is free (by the
Debian guidelines or anything else), why not call it that way?  Open
source is a marketing name, and I understand why the developer would
prefer that name.  But to anyone else it's the freedom that is
important, not the openness of the source.

Agreed on not being worth a fight though.

Paolo

Andrew Pinski | 1 Jan 2009 03:36
Picon

[PATCH] Fix C++/38638 ICE superfluous 'typename'

Hi,
  The problem here is that the parser was not checking if we were in
typename mode that we either got back a TYPE_DECL or a
TEMPLATE_ID_EXPR.  This would either allow the code (in much older
versions of GCC) or cause an ICE when seeing if the type is a const
type or not as the type would be an "unknown type".  This fixes the
problem by adding in the case if we don't have a TYPE_DECL or a
TEMPLATE_ID_EXPR, set the type to NULL so we will error out about this
not being a type later on.

OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions.

Thanks,
Andrew Pinski

ChangeLog:
* parser.c (cp_parser_elaborated_type_specifier): If we have a
typename tag and don't have either a TYPE_DECL or a TEMPLATE_ID_EXPR,
set the type to NULL.

* g++.dg/template/typename15.C: New testcase.
* g++.dg/template/typename16.C: New testcase.
Index: testsuite/g++.dg/template/typename15.C
===================================================================
--- testsuite/g++.dg/template/typename15.C	(revision 0)
+++ testsuite/g++.dg/template/typename15.C	(revision 0)
 <at>  <at>  -0,0 +1,10  <at>  <at> 
+// { dg-do compile }
(Continue reading)

Paolo Carlini | 1 Jan 2009 10:55
Picon
Favicon

Re: [PATCH] Fix C++/38638 ICE superfluous 'typename'

.. you have a small typo in the comment: /existant/existent

Paolo.

Paolo Carlini | 1 Jan 2009 11:09
Picon
Favicon

[v3] libstdc++/38678

Hi,

tested x86_64-linux, committed to mainline.

Paolo.

PS: Happy New Year!

///////////////
2009-01-01  Paolo Carlini  <paolo.carlini <at> oracle.com>

	PR libstdc++/38678
	* include/std/istream (basic_istream<>::_M_read): New.
	* include/bits/istream.tcc (basic_istream<>::_M_read): Define.
	(basic_istream<>::read, basic_istream<>::readsome): Use it.
	* include/std/ostream (basic_ostream<>::_M_write_): New.
	(basic_ostream<>::_M_write): Adjust.
	* include/bits/ostream.tcc (basic_ostream<>::_M_write_): Define.
	* testsuite/27_io/basic_istream/read/char/38678.cc: New.
	* testsuite/27_io/basic_istream/read/wchar_t/38678.cc: Likewise.
	* testsuite/27_io/basic_ostream/write/char/38678.cc: Likewise.
	* testsuite/27_io/basic_ostream/write/wchar_t/38678.cc: Likewise.
Index: include/std/istream
===================================================================
*** include/std/istream	(revision 142977)
--- include/std/istream	(working copy)
(Continue reading)

Richard Guenther | 1 Jan 2009 12:08
Picon

Re: RFC: Fix for crash in compute_antic

On Wed, Dec 31, 2008 at 11:40 PM, Mark Mitchell <mark <at> codesourcery.com> wrote:
>
>>>> This patch fixes a crash in compute_antic.
>
>>> This fixes part of PR 33649.
>> In fact it fixes all of them.
>
> That's good to know.  I still don't think this is a regression, though;
> as far as I know, the test-case would fail on that combination of
> options since the introduction of the options.  So I think it would be
> ill-mannered to check it in at this point.  But, if someone can find a
> regression in here, it's a straightforward patch.
>
> I couldn't figure out, when looking at the test case, why it didn't
> occur without disabling things.  It looked like the problematic code
> would still get run.  Are we just getting lucky?

I guess we're just getting lucky.  I think the patch should be applied
at this stage,
it's certainly obvious.

Thanks,
Richard.

Ira Rosen | 1 Jan 2009 14:44
Picon
Favicon

Re: [PATCH] Implement redundant store elimination, fix PR38513


gcc-patches-owner <at> gcc.gnu.org wrote on 30/12/2008 23:22:01:

> On Tue, 30 Dec 2008, Richard Guenther wrote:
>
> > On Tue, 30 Dec 2008, Richard Guenther wrote:
> >
> > >
> > > This implements redundant store elimination (just like postreload CSE

> > > does) from within FRE.  It triggers quite some time for C++ code and
> > > also breaks the following testcases for now
> > >
> > > FAIL: g++.dg/warn/Warray-bounds.C  (test for warnings, line 32)
> > > FAIL: g++.dg/warn/Warray-bounds.C  (test for warnings, line 43)
> > > FAIL: g++.dg/warn/Warray-bounds.C  (test for warnings, line 54)
> > >
> > > FAIL: gcc.dg/Warray-bounds.c  (test for warnings, line 32)
> > > FAIL: gcc.dg/Warray-bounds.c  (test for warnings, line 43)
> > > FAIL: gcc.dg/Warray-bounds.c  (test for warnings, line 54)
> > > FAIL: gcc.dg/vect/vect-35.c scan-tree-dump-times vect
> "vectorized 1 loops" 1
> > > FAIL: gcc.dg/vect/vect-multitypes-16.c scan-tree-dump-times vect
> > > "vectorized 1 loops" 1
> > > FAIL: gcc.dg/vect/vect-multitypes-17.c scan-tree-dump-times vect
> > > "vectorized 1 loops" 1
> > > FAIL: gcc.dg/vect/vect-reduc-dot-u8b.c scan-tree-dump-times vect
> > > "vectorized 1 loops" 1
> > > FAIL: gcc.dg/vect/slp-widen-mult-u8.c scan-tree-dump-times vect
> > > "vectorized 1 loops" 1
(Continue reading)

Richard Guenther | 1 Jan 2009 15:01
Picon

Re: [PATCH] Implement redundant store elimination, fix PR38513

On Thu, 1 Jan 2009, Ira Rosen wrote:

> 
> 
> gcc-patches-owner <at> gcc.gnu.org wrote on 30/12/2008 23:22:01:
> 
> > On Tue, 30 Dec 2008, Richard Guenther wrote:
> >
> > > On Tue, 30 Dec 2008, Richard Guenther wrote:
> > >
> > > >
> > > > This implements redundant store elimination (just like postreload CSE
> 
> > > > does) from within FRE.  It triggers quite some time for C++ code and
> > > > also breaks the following testcases for now
> > > >
> > > > FAIL: g++.dg/warn/Warray-bounds.C  (test for warnings, line 32)
> > > > FAIL: g++.dg/warn/Warray-bounds.C  (test for warnings, line 43)
> > > > FAIL: g++.dg/warn/Warray-bounds.C  (test for warnings, line 54)
> > > >
> > > > FAIL: gcc.dg/Warray-bounds.c  (test for warnings, line 32)
> > > > FAIL: gcc.dg/Warray-bounds.c  (test for warnings, line 43)
> > > > FAIL: gcc.dg/Warray-bounds.c  (test for warnings, line 54)
> > > > FAIL: gcc.dg/vect/vect-35.c scan-tree-dump-times vect
> > "vectorized 1 loops" 1
> > > > FAIL: gcc.dg/vect/vect-multitypes-16.c scan-tree-dump-times vect
> > > > "vectorized 1 loops" 1
> > > > FAIL: gcc.dg/vect/vect-multitypes-17.c scan-tree-dump-times vect
> > > > "vectorized 1 loops" 1
> > > > FAIL: gcc.dg/vect/vect-reduc-dot-u8b.c scan-tree-dump-times vect
(Continue reading)

Steven Bosscher | 1 Jan 2009 18:02
Picon

Re: A new gimple pass (LRS: live range shrinking) to reduce register pressure

Xinliang David Li wrote:
> * An iterative data flow analysis (live use references). The result
> of the analysis is used to estimate the register pressure as well
> as the impact (cost/benefit) of code motions on the register pressure.
> The data flow result can be easily updated under various transformations.
> * An upward code motion pass to shrink live ranges
> * A downward code motion pass to perform subtree scheduling (to reduce
> overlapping live ranges). Multiple use trees are also scheduled downward
> if profitable
> * A forward data flow analysis to compute reaching virtual defs -- the
> result of this analysis is used for legality check for downward motion
> of statements with virtual uses
> * An expression tree reassociation pass to enable more opportunities
> for overlapping live range reduction (this is complementary to the
> existing reassociation pass, but with a different objective).

Are all these analyses/transformations interdependent?

Is there a reason for not just adding the reassociation
transformations to tree-ssa-reassoc.c?

> +sbitmap_a_and_not_b (sbitmap dst, const_sbitmap a, const_sbitmap b)

See sbitmap_difference().

>  <at>  <at>  -1095,4 +1155,3  <at>  <at>  sbitmap_popcount (const_sbitmap a, unsig
>      }
>    return count;
>  }
> -
(Continue reading)

Richard Guenther | 1 Jan 2009 19:16
Picon

[PATCH][alias-improvements] Use PTA information in the oracle


This patch starts to use (a bit of) PTA information from the alias oracle
to disambiguate memory references.  It also seperates the points-to
solution and its computation so I can later use this to compute and store
the solutions for the escaped and callused sets properly.  On the way
it cleans up the dump files from the alias analysis.

Bootstrapped and tested on x86-64_unknown-linux-gnu, we now

XPASS: gcc.dg/tree-ssa/sra-3.c scan-tree-dump-times optimized "link_error" 0

as the only change.

Committed to the branch.

Richard.

2009-01-01  Richard Guenther  <rguenther <at> suse.de>

	* tree-dfa.c (dump_referenced_vars): Tidy.
	(get_ref_base_and_extent): Allow bare decls.
	(refs_may_alias_p): Unconditionally initialize size/max_size.
	Handle register/constant bases.  Handle mixed the pointer/decl
	case with both offset and PTA disambiguation.
	* tree-flow.h (struct ptr_info_def): Remove pt_global_mem, factor
	the points-to solution part into a pt_solution sub-structure.
	Add nonlocal, escaped and vars_contains_global flags.
	(dump_points_to_info): Remove.
	(debug_points_to_info): Likewise.
	(find_what_p_points_to): Likewise.
(Continue reading)


Gmane