I will review this one, as well.
THH
________________________________________
From: Brad Chamberlain [[email protected]]
Sent: Thursday, March 13, 2014 8:32 PM
To: Chapel Sourceforge Developers List
Subject: [Chapel-developers] [patch] Improved const args and remote value       
forwarding

Hi Chapel Developers --

This is a request for review.
Size of patch = 2 out of 7.
Complexity = 4 out of 7.

The attached patch makes the insertion of formals to represent variables
when de-nesting functions a little less conservative by strengthening the
check for const-ness and not making the argument type a ref type if it is
const.  This reduces the number of unnecessary references we use for
nested functions (user or compiler-introduced).

This in turn improves remote value forwarding because it permits us to
remote value forward constants more aggressively in the presence of sync
variable accesses.  For the 'reduce*' tests in the distribution robustness
performance suite, it resulted in one fewer get per locale.

I added an editorial note in the comments pointing out that making a
formal have a 'ref' type but a 'blank' intent, as we currently do in
flattenFunctions.cpp, is arguably inconsistent but left that as future
work (perhaps near-future work, as we've talked about pushing the
insertion of 'ref' types very close to codegen in recent discussions). See
the comment itself for more detail.

I also added a test that presents a simplified version of the case that
caused me to note the lack of remote value forwarding (co-written by
Vass).  This test at present works with or without r.v.f., but once formal
temps are removed (coming soon to a trunk near you), lack of r.v.f. breaks
this test (and SSCA2, from which it was derived).

-Brad

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to