Hi Anthony,<br><br><div class="gmail_quote">2009/3/30 Anthony Danalis <span dir="ltr"><<a href="mailto:adanalis@eecs.utk.edu">adanalis@eecs.utk.edu</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div style=""><div><div>Is the user expected to add the calls to spawn/join or the compiler?  If it's the compiler adding them, then you don't need to change the front-end at all, you can do all that in an optimization pass.  If it's the user adding them, then adding calls to "__spawn()" that the compiler will intercept and change into "pthread_create" or whatever, doesn't require changing the front-end either.</div>

</div></div></blockquote><div>At the moment I am interested to languages where parallelism is explicit and the way how language developers want to express that parallelism I want to leave entirely to them. I wouldn't like to restrict them with a special construct or keyword and want to leave them as much freedom as possible. Also, I would like, which I think is very important, to try to separate sequential calls and parallel calls.<br>

<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div style=""><div><div></div><div>I don't see why looking at function calls is hard.  If the compiler knows which functions to look for, has exact knowledge of the semantics/side-effects/dependencies of the calls and assumes that there can never be a different function that happened to have the same name, then analyzing and manipulating function calls is the same as manipulating intrinsics.</div>

</div></div></blockquote><div>I agree it is not hard but it can be tiresome because as you have explained there is a lot of knowledge that compiler needs to acquire and also a lot of assumptions that it needs to make (and some of them might not be guaranteed if you get, for examples, third-party implementation). By introducing this new level of abstraction my hope is to get much cleaner code base. <br>

</div></div><br>Thanks,<br>Milos.<br>