This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix PR fortran/15080


> 2005-04-29  Jakub Jelinek  <jakub@redhat.com>
>
> 	PR fortran/15080
> 	* trans-stmt.c (generate_loop_for_temp_to_lhs): Remove SIZE and COUNT2
> 	arguments.  If LSS is gfc_ss_terminator, increment COUNT1 by 1, instead
> 	of incrementing COUNT2 and using COUNT1+COUNT2 increment COUNT1 and use
> 	just that as index.
> 	(generate_loop_for_rhs_to_temp): Likewise.
> 	(compute_overall_iter_number): Add INNER_SIZE_BODY argument.
> 	It non-NULL, add it to body.
> 	(allocate_temp_for_forall_nest): Add INNER_SIZE_BODY argument,
> 	propagate it down to compute_overall_iter_number.
> 	(gfc_trans_assign_need_temp): Remove COUNT2.  Call
> 	compute_inner_temp_size into a new stmtblock_t.  Adjust calls to
> 	allocate_temp_for_forall_nest, generate_loop_for_rhs_to_temp
> 	and generate_loop_for_temp_to_lhs.
> 	(gfc_trans_pointer_assign_need_temp, gfc_evaluate_where_mask):
> 	Adjust calls to allocate_temp_for_forall_nest.

gfc_evaluate_where_mask needs the aame changes as gfc_trans_assign_need_temp.

I'd also appreciate it if you could document how all this works. We have lots 
of different counters and temporaries floating around, and it's not at all 
clear what the resulting code is supposed to look like.

Something similar to the comment above gfc_trans_forall_1, but for the case 
where a temporary is required would be great.

Ok with those changes.

Paul


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]