Hi!
This morning I've noticed a build failure, USERDEF_LITERAL_CHECK
macro wasn't defined. The problem is that the gencheck binary
includes an array with all tree names (includes all-tree.def),
and depended on all-tree.def (which is a move-if-change file)
and $(lang_tree_files), but not on c-fami
On Wed, Oct 26, 2011 at 10:22:21PM -0700, Ian Lance Taylor wrote:
> I don't think it is possible to trigger this using C because I don't
> think it is possible to have a zero-length STRING_CST in C.
Ugh.
I think the following should work, after all it will be tiny more efficient,
I chose to use c
> Richard Henderson wrote:
> > On 10/26/2011 07:30 AM, Ulrich Weigand wrote:
> > > This fails since for u == 4 and mode == V4SFmode it attempts to expand
> > > a V4SFmode shift, which is unsupported.
> > >
> > > Shouldn't this be using the mode of the selector rather than the mode
> > > of the res
On Wed, 26 Oct 2011, Mike Stump wrote:
> On Oct 26, 2011, at 6:10 AM, Richard Guenther wrote:
> > This completely rewrites LTO option merging.
>
> > Any comments?
>
> Wondering if It breaks darwin?
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50876
>
> We have:
>
>%{Zmultiply_defined*:-
On Wed, 26 Oct 2011, Richard Guenther wrote:
>
> This completely rewrites LTO option merging. At compile (uselessly
> now at WPA?) time we now stream a COLLECT_GCC_OPTIONS like string
> as it comes from argv of the compiler binary. Those options are
> read in by the LTO driver (lto-wrapper), me
> -Original Message-
> From: Michael Matz [mailto:m...@suse.de]
> Sent: Wednesday, October 26, 2011 11:47 PM
> To: Kai Tietz
> Cc: Jiangning Liu; Richard Guenther; Kai Tietz; gcc-patches@gcc.gnu.org;
> Richard Henderson
> Subject: Re: [patch tree-optimization]: Improve handling of
> condi
On Thu, Oct 27, 2011 at 1:22 AM, Martin Jambor wrote:
> Hi,
>
> I've been asked by Maxim Kuvyrkov to revive the following patch which
> has not made it to 4.6. Currently, when type based devirtualization
> detects a potential type change, it simply gives up on gathering any
> information on the o
On Wed, 26 Oct 2011, Joseph S. Myers wrote:
> On Wed, 26 Oct 2011, Richard Guenther wrote:
>
> > Index: trunk/gcc/opts-global.c
> > ===
> > *** trunk.orig/gcc/opts-global.c2011-10-26 13:46:24.0 +0200
> > --- trunk/gcc/opt
2011/10/27 Jiangning Liu :
>
>
>> -Original Message-
>> From: Michael Matz [mailto:m...@suse.de]
>> Sent: Wednesday, October 26, 2011 11:47 PM
>> To: Kai Tietz
>> Cc: Jiangning Liu; Richard Guenther; Kai Tietz; gcc-patches@gcc.gnu.org;
>> Richard Henderson
>> Subject: Re: [patch tree-optimi
> The crash is in find_valid_class() called from push_reload(), via this
> code block around line 1184 of reload.c:
>
> enum reg_class in_out_class
> = find_valid_class (outmode, GET_MODE (SUBREG_REG (out)),
> subreg_regno_offset (REGNO (SUBREG_REG (out)),
>
When we try to predicate an insn in the scheduler, we must check whether
the condition has been overwritten. The current code for that tries to
look for an insn writing the condition register, then checking
REG_DEP_TRUE deps. It fails in a situation as follows:
[A1] branch
A1:A0 = some operation
s
Hi,
tested x86_64-linux (with _GLIBCXX_USE_C99_COMPLEX_TR1 manually set to
zero for the affected function), committed to mainline. Will go in 4.6.3
too.
Thanks,
Paolo.
///
2011-10-27 Richard B. Kreckel
Paolo Carlini
PR libstdc++/50880
* i
Ian,
> I committed this patch which should fix this problem. Bootstrapped and
> ran Go testsuite on x86_64-unknown-linux-gnu.
thanks, but this is not enough:
nawk: syntax error at source line 173
context is
([^ >>> ]*)$", <<< cparam) == 0) {
nawk: illegal statement at source line 17
Hi,
> Let me know if you need additional details, or what else.
How is the template case failing?
Some preliminary notes, maybe you can already make some sense out of
this, more later, if you like:
Thus we have this testcase:
template
struct impl
{
template static T create();
};
> Hi,
>
> I've worked with the parameter-has-not-been-modified mechanism in
> ipa-prop.c after not seeing for quite some time and found the original
> "infos" and temporary "parm_infos" confusing. Thus I at least renamed
> all the parm_infos (which are deallocated after the analysis ends and
> wh
Status
==
The GCC trunk is still in stage1. Stage1 will last until
Nov 7th (including, use your timezone to your advantage) after
which we will have been in stage1 for nearth 8 months.
In stage3 the trunk will be open for general bugfixing, no
new features will be accepted.
Now is time to b
We failed to handle the case of a scalar shift operand in do_binop.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.
Richard.
2010-10-27 Richard Guenther
PR middle-end/50731
* tree-vect-generic.c (do_binop): Handle scalar operands.
Index: gcc/tree-vect-generic.
Hi!
Here's a patch for PR47698, which is about CMOV should not be
generated for memory address marked as volatile.
Successfully bootstrapped and passed make check on x86_64-unknown-linux-gnu.
Is it Ok?
regards,
Sergos
/gcc
2011-10-27 Sergey Ostanevich
PR rtl-optimization/47698
This fixes a few warnings when building c6x.c. Committed.
Bernd
Index: gcc/ChangeLog
===
--- gcc/ChangeLog (revision 180564)
+++ gcc/ChangeLog (working copy)
@@ -1,3 +1,10 @@
+2011-10-24 Bernd Schmidt
+
+ * confi
Looks like
qualified_name_lookup_error (object_type, tmpl, member,
input_location);
is passing the wrong first argument; the scope argument should be the
same as we passed to lookup_qualified_name.
Jason
Hi,
> Looks like
>
>>qualified_name_lookup_error (object_type, tmpl, member,
>> input_location);
>
> is passing the wrong first argument; the scope argument should be the same as
> we passed to lookup_qualified_name.
Ok, thanks, I'll
On 10/27/2011 08:57 AM, Paolo Carlini wrote:
Ok, thanks, I'll work more on this later today. Then, if we fix that we don't
error out at all, right? Because this is a reject valid, AFAIK.
In that case, lookup_qualified_name shouldn't be returning error_mark_node.
Jason
On 27 Oct 2011, at 11:33, Eric Botcazou wrote:
The crash is in find_valid_class() called from push_reload(), via
this
code block around line 1184 of reload.c:
enum reg_class in_out_class
= find_valid_class (outmode, GET_MODE (SUBREG_REG (out)),
subreg
On Wed, Oct 26, 2011 at 8:25 PM, Martin Jambor wrote:
> Hi,
>
> Honza requested that we do attempt to produce pass-through jump
> functions even when the actual formal parameter that is being passed
> on is addressable - provided that we can prove it has not changed
> value, of course. The follow
On Thu, Oct 27, 2011 at 6:02 AM, Paolo Carlini wrote:
> Hi,
>
> tested x86_64-linux (with _GLIBCXX_USE_C99_COMPLEX_TR1 manually set to zero
> for the affected function), committed to mainline. Will go in 4.6.3 too.
Hmm, why is the test of the form x < 0.0, and not testing the sign of x?
fwprop may propagate a SET_SRC that contains the last use of a REG to a
later point, but it will leave the REG_DEAD note in place, even though
it is no longer correct. I noticed this while investigating PR50826:
the initialization of the internal_arg_pointer has a REG_DEAD note for
%r29, but even
Hi,
> On Thu, Oct 27, 2011 at 6:02 AM, Paolo Carlini
> wrote:
>> Hi,
>>
>> tested x86_64-linux (with _GLIBCXX_USE_C99_COMPLEX_TR1 manually set to zero
>> for the affected function), committed to mainline. Will go in 4.6.3 too.
>
> Hmm, why is the test of the form x < 0.0, and not testing the s
Hi again,
>
> Hmm, why is the test of the form x < 0.0, and not testing the sign of x?
Actually, we can as well use the std::abs, no?
Paolo
Ian,
> This patch updates the Go library to the most recent weekly release. I
> think the only potential portability issues here are the use of the
> ipv6_mreq struct. I'm not entirely sure the new exp/terminal package is
> portable, but it might be.
the only issue I've found on Solaris is the
Hello!
> The GCC trunk is still in stage1. Stage1 will last until
> Nov 7th (including, use your timezone to your advantage) after
> which we will have been in stage1 for nearth 8 months.
> In stage3 the trunk will be open for general bugfixing, no
> new features will be accepted.
There is a pat
Hi
> On 10/27/2011 08:57 AM, Paolo Carlini wrote:
>> Ok, thanks, I'll work more on this later today. Then, if we fix that we
>> don't error out at all, right? Because this is a reject valid, AFAIK.
>
> In that case, lookup_qualified_name shouldn't be returning error_mark_node.
Yes, I suspected
> fwprop may propagate a SET_SRC that contains the last use of a REG to a
> later point, but it will leave the REG_DEAD note in place, even though
> it is no longer correct. I noticed this while investigating PR50826:
> the initialization of the internal_arg_pointer has a REG_DEAD note for
> %r29,
pr43165.c -Os -g exercises a bug in df-problems WRT the introduction of
debug temps. After pro_and_epilogue, the function was optimized to this:
push bp
mov bp,sp
# debug insn referencing bp
pop bp
I don't know why we bother to preserve and set up bp, it's not used in
nondebug insns (and even wi
This should fix PR50876, failure to properly separate switches
and their arguments from the LTO driver. It also corrects one
issue with counting arguments (causing us to drop the last
switch or switch argument). It also re-writes the code to use
an obstack for accumulating argv for the invoked d
Hello,
The attach patch fixes the current marking of SMS loops to prevent
further scheduling as follows: it marks *all* the loop's bbs with
BB_DISABLE_SCHEDULE which prevents them from been scheduled later.
(with the current implementation if the loop has non empty latch then
it will be considered
On Thu, Oct 27, 2011 at 8:19 AM, Paolo Carlini wrote:
> Hi,
>
>> On Thu, Oct 27, 2011 at 6:02 AM, Paolo Carlini
>> wrote:
>>> Hi,
>>>
>>> tested x86_64-linux (with _GLIBCXX_USE_C99_COMPLEX_TR1 manually set to zero
>>> for the affected function), committed to mainline. Will go in 4.6.3 too.
>>
>>
On Thu, Oct 27, 2011 at 8:21 AM, Paolo Carlini wrote:
> Hi again,
>>
>> Hmm, why is the test of the form x < 0.0, and not testing the sign of x?
>
> Actually, we can as well use the std::abs, no?
>
> Paolo
The point of using sign is so that signed zero is not
mischaracterized, especially
when cu
Hi,
sorry for delay with the review. This is my first pass through the backend
part, hopefully
someone else will do the middle end bits.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 2c53423..d7c4330 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -561,10
Hi,
> I am surprised by your comment. You do not care and that is why you
> are eager to
> commit the patch without checking first with fellow area maintainers?
Yes, probably my comment wan't clear enough: my point was that I cannot spend
more time on this issue. I'm convinced, I may be wrong,
On Thu, Oct 27, 2011 at 10:19 AM, Paolo Carlini wrote:
> Hi,
>
>> I am surprised by your comment. You do not care and that is why you
>> are eager to
>> commit the patch without checking first with fellow area maintainers?
>
> Yes, probably my comment wan't clear enough: my point was that I canno
Hello!
Apparently, reload does not like matching register alternatives in
*avx_unpcklpd256. Attached patch removes this problematic alternative
and generates vunpcklpd insn instead, since the later instruction has
the same length, latency, uops, etc as vmovddup while giving much
more freedom to r
On Oct 27, 2011, Eric Botcazou wrote:
>> fwprop may propagate a SET_SRC that contains the last use of a REG to a
>> later point, but it will leave the REG_DEAD note in place, even though
>> it is no longer correct. I noticed this while investigating PR50826:
>> the initialization of the internal
Jakub Jelinek writes:
> On Wed, Oct 26, 2011 at 10:22:21PM -0700, Ian Lance Taylor wrote:
>> I don't think it is possible to trigger this using C because I don't
>> think it is possible to have a zero-length STRING_CST in C.
>
> Ugh.
>
> I think the following should work, after all it will be tin
On 10/27/2011 01:05 AM, Ulrich Weigand wrote:
>> Richard Henderson wrote:
>>> On 10/26/2011 07:30 AM, Ulrich Weigand wrote:
This fails since for u == 4 and mode == V4SFmode it attempts to expand
a V4SFmode shift, which is unsupported.
Shouldn't this be using the mode of the sele
Hello!
> This patch updates the Go library to the most recent weekly release. I
> think the only potential portability issues here are the use of the
> ipv6_mreq struct. I'm not entirely sure the new exp/terminal package is
> portable, but it might be.
There are still problems with EpollEvent d
On Thu, Oct 27, 2011 at 06:06:09PM +0200, Uros Bizjak wrote:
>
> I would kindly ask someone fluent in fortran to construct a
> compile-time testcase from the PR [1], that will correctly exercise
> the fix on x86 with "-O3 -mavx" options and immortalize the testcase
> in gfortran testsuite.
>
How
Rainer Orth writes:
> the only issue I've found on Solaris is the use of pthread_yield, which
> doesn't exist even on Solaris 11. The following patch checks for this,
> and falls back to thr_yield if available.
Thanks--but is sched_yield available? I realized that I misread the man
page; it lo
On Thu, Oct 27, 2011 at 6:45 PM, Steve Kargl
wrote:
> On Thu, Oct 27, 2011 at 06:06:09PM +0200, Uros Bizjak wrote:
>>
>> I would kindly ask someone fluent in fortran to construct a
>> compile-time testcase from the PR [1], that will correctly exercise
>> the fix on x86 with "-O3 -mavx" options and
Ian Lance Taylor writes:
> Thanks--but is sched_yield available? I realized that I misread the man
> page; it looks like sched_yield is more portable than pthread_yield.
It is, but before Solaris 11 it only lives in librt.
Rainer
--
---
Patch below fixes a miscompilation observed whem building uclibc libpthread on
a mips-linux system.
The story start with the ipa-split optimization, which turns:
void fn()
{
if (cond) {
DO_STUFF;
}
}
into:
static void fn_helper()
{
DO_STUFF;
}
void fn()
{
if (cond)
fn_helper()
This is support of a new option -maccumulate-args that implements
ACCUMULATE_OUTGOING_ARGS as proposed by Richard.
As 4.7 will be released very soon, I'd like to supply the documentation part
later and use the remaining stage I time for extension/improvements.
The tests ran 4 times with either co
> -Original Message-
> From: Georg-Johann Lay
> Sent: Thursday, October 27, 2011 11:26 AM
> To: gcc-patches@gcc.gnu.org
> Cc: Richard Henderson; Weddington, Eric; Denis Chertykov
> Subject: [Patch,AVR]: Support -maccumulate-args option
>
> This is support of a new option -maccumulate-args
Hello,
I have committed the obvious cleanup below for a typo on a comment, into
trunk.
gcc/cp/
* cp-tree.h (DECL_DECLARES_TYPE_P): Fix comment.
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index cc12d15..7ff1491 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -3625,7 +36
Weddington, Eric schrieb:
>> -Original Message-
>> From: Georg-Johann Lay
>> Sent: Thursday, October 27, 2011 11:26 AM
>> To: gcc-patches@gcc.gnu.org
>> Cc: Richard Henderson; Weddington, Eric; Denis Chertykov
>> Subject: [Patch,AVR]: Support -maccumulate-args option
>>
>> This is support o
On 10/26/2011 03:38 PM, Jason Merrill wrote:
On 10/26/2011 02:00 AM, Ed Smith-Rowland wrote:
The patch was bootstrapped and regtested on x86_64-linux-gnu.
Really? I ran into a warning about the unused "suffix" parameter to
interpret_integer. So I've fixed that error. I also added a couple
> Tentative fix attached, it should restore the old behavior for the cases
> where everything was working fine before. I'm going to give it some
> testing.
>
>
> PR rtl-optimization/46603
> * reload.c (push_reload): In the out case, restore previous behavior
> for subregs that do
Hello,
This patch adds support for the alias-declaration feature of the c++11
specification, introduced by the paper N2258[1] and voted into in the
standard. It's a derivative work of a preliminary patch attached by
Jason Merrill to PR C++/45114[2].
alias-declaration introduces a new syntax for
Hi,
On Thu, Oct 27, 2011 at 03:07:10PM +0200, Richard Guenther wrote:
> On Wed, Oct 26, 2011 at 8:25 PM, Martin Jambor wrote:
> > Hi,
> >
> >
> >
> > 2011-10-26 Martin Jambor
> >
> > * ipa-prop.c (mark_modified): Moved up in the file.
> > (is_parm_modified_before_call): Renamed t
Hi!
While testing other patches also with -masm=intel, I've noticed that
several insns output wrong mem sizes. The following patch fixes what I
found. %w1/%k1/%q1 will still %xmmN if it is a register and for AT&T
syntax will print memory as normally, but for -masm=intel it will
print WORD PTR/DW
On Thu, Oct 27, 2011 at 9:14 PM, Jakub Jelinek wrote:
> While testing other patches also with -masm=intel, I've noticed that
> several insns output wrong mem sizes. The following patch fixes what I
> found. %w1/%k1/%q1 will still %xmmN if it is a register and for AT&T
> syntax will print memory
On Thu, Oct 27, 2011 at 12:17 PM, Uros Bizjak wrote:
> On Thu, Oct 27, 2011 at 9:14 PM, Jakub Jelinek wrote:
>
>> While testing other patches also with -masm=intel, I've noticed that
>> several insns output wrong mem sizes. The following patch fixes what I
>> found. %w1/%k1/%q1 will still %xmmN
Hello!
> Here's a patch for PR47698, which is about CMOV should not be
> generated for memory address marked as volatile.
> Successfully bootstrapped and passed make check on x86_64-unknown-linux-gnu.
PR rtl-optimization/47698
* config/i386/i386.c (ix86_expand_int_movcc) prevent
Hi!
This patch adds vec_pack_sfix_trunc_v4df and vec_pack_sfix_v4df
expanders, which allows e.g. f1 in the testcases to be vectorized using
32-byte vectors, even with -mavx.
Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
2011-10-27 Jakub Jelinek
* config/i386/ss
On 10/26/2011 03:38 PM, Jason Merrill wrote:
On 10/26/2011 02:00 AM, Ed Smith-Rowland wrote:
The patch was bootstrapped and regtested on x86_64-linux-gnu.
Really? I ran into a warning about the unused "suffix" parameter to
interpret_integer. So I've fixed that error. I also added a couple of
On 10/27/2011 12:31 PM, Jakub Jelinek wrote:
> * config/i386/sse.md (avx_cvtpd2dq256_2, avx_cvttpd2dq256_2,
> vec_pack_sfix_trunc_v4df, vec_pack_sfix_v4df): New expanders.
> (*avx_cvtpd2dq256_2, *avx_cvttpd2dq256_2): New insns.
>
> * gcc.target/i386/sse2-cvt-1.c: New test.
Hi!
With the patch I'm going to post momentarily which adds vlshrv{4,2}di and
vashlv{4,2}di patterns for -mavx2 vectorizable_shift ICEs, because the
frontends for long_long_var1 << long_long_var2 emit long_long_var1 << (int)
long_long_var2
and vectorizable_shift isn't prepared to handle type prom
On 10/27/2011 03:32 PM, Ed Smith-Rowland wrote:
+ if (TREE_CODE (TREE_TYPE (decl)) != LANG_TYPE)
+argtypes = TYPE_ARG_TYPES (TREE_TYPE (decl));
If you have multiple overloaded operator"" _foo, you need to iterate
over them looking for the one (or ones, in the case of numeric literals)
yo
Hi!
This patch cleans up the vector/vector shifts, there is no need
to write them with lots of vec_selects/vec_concats etc.
Additionally, it hooks them up into the standard vlshr3,
vashl3 and vashr3 expanders so that the vectorizer
can use them. The V16QImode and V8HImode expanders XOP provides
a
Hi,
On Thu, Oct 27, 2011 at 11:06:02AM +0200, Richard Guenther wrote:
> On Thu, Oct 27, 2011 at 1:22 AM, Martin Jambor wrote:
> > Hi,
> >
> > I've been asked by Maxim Kuvyrkov to revive the following patch which
> > has not made it to 4.6. Currently, when type based devirtualization
> > detects
On Thu, Oct 27, 2011 at 9:50 PM, Jakub Jelinek wrote:
> Hi!
>
> This patch cleans up the vector/vector shifts, there is no need
> to write them with lots of vec_selects/vec_concats etc.
> Additionally, it hooks them up into the standard vlshr3,
> vashl3 and vashr3 expanders so that the vectorizer
On Thu, Oct 27, 2011 at 4:47 PM, Revital Eres wrote:
> Hello,
>
> The attach patch fixes the current marking of SMS loops to prevent
> further scheduling as follows: it marks *all* the loop's bbs with
> BB_DISABLE_SCHEDULE which prevents them from been scheduled later.
> (with the current implemen
On Thu, Oct 27, 2011 at 2:10 PM, Dodji Seketeli wrote:
> Hello,
>
> This patch adds support for the alias-declaration feature of the c++11
> specification, introduced by the paper N2258[1] and voted into in the
> standard. It's a derivative work of a preliminary patch attached by
> Jason Merrill
On 10/27/2011 03:10 PM, Dodji Seketeli wrote:
+/* Setter for the TYPE_DECL_ALIAS_P proprety above. */
+#define SET_TYPE_DECL_ALIAS_P(NODE, VAL) \
+ (DECL_LANG_FLAG_6 (TYPE_DECL_CHECK (NODE)) = (VAL))
This seems unnecessary.
+#define TYPE_DECL_NAMES_ALIAS_TEMPLATE_P(NODE)
Then you'd have to analyze the compile-time impact of the IPA
splitting on its own when not iterating. ?Then you should look
at what actually was the optimizations that were performed
that lead to the improvement (I can see some indirect inlining
happening, but everything else would be a bug in pr
Ho hum, more patches on our way to mergeability.
This seems to be more fallout from the last merge. There's an apparent
discrepancy between what we think is valid gimple in
ipa_tm_insert_gettmclone_call() and what verify_gimple_call() believes
is true.
This, along with other patches I have
On 10/26/2011 02:15 PM, Aldy Hernandez wrote:
> * trans-mem.c (ipa_tm_execute): Do not include aliases in
> tm_callees.
> (callback_mark_needed): Set analyzed bit.
Ok.
r~
The following patch fixes some issues with the Power7 scheduling description.
The patch is neutral on cpu2006 (was actually hoping to see some improvements,
but it's still the right thing to do since it more accurately describes the
hardware).
Bootstrap/regtest on powerpc64-linux with no new r
> 2011-10-27 Chung-Lin Tang
>
> PR rtl-optimization/49720
> * simplify-rtx.c (simplify_relational_operation_1): Detect
> infinite recursion condition in "(eq/ne (plus x cst1) cst2)
> simplifies to (eq/ne x (cst2 - cst1))" case.
>
> testsuite/
> * g++.dg/tortur
This patch fixes the detection of transactions regions for transactions
that have __transaction_cancel statements. The block that has the "over"
label to which an aborted transaction jumps does not belong to this
transaction, but to the enclosing region. The included testcase would
fail with prior
Richard,
Just as Matt posted his findings about the effect of iterating early
optimizations, I've got the new patch ready. This patch is essentially a
complete rewrite and addresses the comments you made.
On 18/10/2011, at 9:56 PM, Richard Guenther wrote:
>>>
>>> If we'd want to iterate earl
Hi again,
On 10/27/2011 08:57 AM, Paolo Carlini wrote:
Ok, thanks, I'll work more on this later today. Then, if we fix that we don't
error out at all, right? Because this is a reject valid, AFAIK.
In that case, lookup_qualified_name shouldn't be returning error_mark_node.
A little more informa
The attached patch tightens the checking of the arguments
of the dshiftl and dshiftr argument. It also does a kind
type conversion when either I or J is a BOZ to the kind
type of the non-BOZ I or J.
OK for trunk?
2011-10-27 Steven G. Kargl
PR fortran/50573
* check.c (gfc_ch
2011-10-19 Mikael Morin
* trans-array.c (gfc_trans_preloop_setup): Move array reference
initialisation earlier. Factor subsequent array references.
diff --git a/trans-array.c b/trans-array.c
index 3472804..4b21476 100644
--- a/trans-array.c
+++ b/trans-array.c
@@ -2842,6 +2842,7
This is a 6 steps program to update gfc_trans_preloop_setup.
gfc_trans_preloop_setup appeared completely rewritten. These step by step
patches show that it is not the case.
Combined patch attached here.
OK?
diff --git a/trans-array.c b/trans-array.c
index 3472804e4c6344e68d15af2feee627429ca61018..f
2011-10-19 Mikael Morin
* trans-array.c (gfc_trans_preloop_setup): Move code earlier.
diff --git a/trans-array.c b/trans-array.c
index 4b21476..91359e9 100644
--- a/trans-array.c
+++ b/trans-array.c
@@ -2876,6 +2876,17 @@ gfc_trans_preloop_setup (gfc_loopinfo * loop, int dim, int flag,
2011-10-19 Mikael Morin
* trans-array.c (gfc_trans_preloop_setup): Remove redundant assertion.
Special case outermost loop.
diff --git a/trans-array.c b/trans-array.c
index e3134f5..f5e30ae 100644
--- a/trans-array.c
+++ b/trans-array.c
@@ -2867,7 +2867,10 @@ gfc_trans_preloop_s
This is for consistency. As dim == dimen-1 means "we are in the outermost loop",
we should check against the loop dimension, not the array dimension.
An assertion is added to check that it is in fact the same.
OK?
2011-10-19 Mikael Morin
* trans-array.c (gfc_trans_preloop_setup): Use lo
2011-10-19 Mikael Morin
* trans-array.c (gfc_trans_preloop_setup): Move common code...
(add_array_offset): ...into that new function.
diff --git a/trans-array.c b/trans-array.c
index 476978e..f615e4e 100644
--- a/trans-array.c
+++ b/trans-array.c
@@ -2830,6 +2830,34 @@ gfc_conv_
This is a collection of independant and mostly trivial cleanups.
I don't attach the combined patch as it is the concatenation of the separate
patches.
Patch 07: Useless coarray code removal.
Patch 08: Remove redundant condition.
Patch 09: Assertify condition.
Patch 10: Use array dimensions instead
2011-10-19 Mikael Morin
* trans-array.c (gfc_trans_preloop_setup): Factor loop index
initialization.
diff --git a/trans-array.c b/trans-array.c
index 91359e9..e3134f5 100644
--- a/trans-array.c
+++ b/trans-array.c
@@ -2863,16 +2863,15 @@ gfc_trans_preloop_setup (gfc_loopinfo * l
As the first line of context shows, if the first condition is false, the second
is false too. Thus, the first condition is useless.
OK?
2011-10-19 Mikael Morin
* trans-array.c (get_array_ref_dim): Remove redundant condition.
diff --git a/trans-array.c b/trans-array.c
index 83fa7b6..5500
2011-10-19 Mikael Morin
* trans-array.c (gfc_trans_preloop_setup): Assertify one condition.
diff --git a/trans-array.c b/trans-array.c
index 5500ec4..8359af2 100644
--- a/trans-array.c
+++ b/trans-array.c
@@ -2885,8 +2885,7 @@ gfc_trans_preloop_setup (gfc_loopinfo * loop, int dim, int f
2011-10-19 Mikael Morin
* trans-array.c (gfc_conv_ss_startstride): Access array bounds along
array dimensions instead of loop dimensions.
diff --git a/trans-array.c b/trans-array.c
index 8359af2..f4d8a85 100644
--- a/trans-array.c
+++ b/trans-array.c
@@ -3347,9 +3347,11 @@ done:
This is a followup to my recent coarray/scalarizer changes, especially that one
cleaning-up gfc_walk_variable_expr/gfc_walk_array_ref:
http://gcc.gnu.org/ml/fortran/2011-09/msg00072.html
Scalar coarrays are not handled as AR_ELEMENT in the scalarizer.
Thus, no need to handle coarrays here.
OK?
2011
We can't use temporaries to guess loop dimensions, as temporaries' bounds are
calculated from loop dimensions.
In the union:
union
{
struct { ... } scalar;
struct { ... } temp;
struct gfc_ss_info info
}
data;
We
We should not be writing to gfc_ss_terminator.
It is working without this patch because gfc_ss_terminator's next pointer is
NULL, so the loop stops just after it, and because we are writing zero to
gfc_ss_terminator, but it is already all zeros anyway.
OK?
2011-10-19 Mikael Morin
* tran
This is another preliminary change, to update function interfaces requiring
it, so that afterwards structures can be changed internally without impacting
function interfaces.
The main reason for these changes is that gfc_ss_info's dim and dimen fields
are to be moved to struct gfc_ss. Thus function
loop.temp_dim is set by gfc_trans_create_temp_array; there should be no reason
why that value wouldn't suit gfc_trans_constant_array_constructor, which has
then no reason to set the value directly.
This patch remove that code.
Then, the loop argument is useless and can be removed too.
The function
The next patch is going to need array expression (available through gf_ss)
instead of just the array descriptor in gfc_trans_array_bound_check. This makes
the gfc_ss struct available as argument.
This requires an update of gfc_conv_array_index_offset too.
Both functions are static, they lose their
This is a follow-up to the previous patch. It symplifies name obtention
so that later we can change structs with less pain. :-)
OK?
2011-10-19 Mikael Morin
* trans-array.c (gfc_trans_array_bound_check): Use ss argument
to get name.
diff --git a/trans-array.c b/trans-array.c
inde
1 - 100 of 177 matches
Mail list logo