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
