Commits

Show all
Author Commit Message Labels Comments Date
Misha Brukman
Fix comment to be up-to-date.
Branches
parallel
Misha Brukman
Create a unified join block which contains all the join calls for the region
Branches
parallel
Misha Brukman
* Also consider LLVM thread start calls, not just the intrinsic * Split before and after the join, so that it's the only remaining part of the basic block, apart from the terminator
Branches
parallel
Misha Brukman
Extract parallel sequences into separate functions (aggregating arguments) so that we can spawn off those functions as threads. Note: this does not properly take care of cases where code is shared among parallel regions/sequences.
Branches
parallel
Misha Brukman
Convert calls to threads for _each_ parallel region, as the values we join() on depend on the region we spawned off.
Branches
parallel
Misha Brukman
llvm.join no longer necessarily uses pbr directly, plus there could be >1 join for every pbr, so we need to remove them all in a given parallel region.
Branches
parallel
Misha Brukman
Break basic blocks at the calls to llvm.join so that they are not extract with the parallel regions -- we need the join to be on the outside!
Branches
parallel
Misha Brukman
Convert all uses of __llvm_join to the llvm.join intrinsic, whether or not they immediately use the result of a pbr -- some uses may first go through a phi node... perhaps we may need a new phi-like node for merging parallel control flow.
Branches
parallel
Misha Brukman
Test case for multiple parallel regions, which end up sharing code (thanks to tail duplication).
Branches
parallel
Misha Brukman
Pbr and join no longer need a static 1-to-1 mapping; we only require a 1-to-1 dynamic execution.
Branches
parallel
Misha Brukman
Add some iterators for the contained members.
Branches
parallel
Misha Brukman
Pass to convert hand-coded parallelism to use `pbr' and intrinsic `llvm.join'
Branches
parallel
Misha Brukman
Test case to convert implicit parallelism (in C) to use pbr.
Branches
parallel
Misha Brukman
Correctly emit calls to __llvm_thread_join()
Branches
parallel
Misha Brukman
Pass to lower `pbr' to sequential code,
Branches
parallel
Misha Brukman
First cut at converting calls in parallel regions to thread-based calls.
Branches
parallel
Misha Brukman
* Return a thread ID, not an error code, as per Chris' suggestion ;) * pthread_t is an unsigned long, not just a measly int
Branches
parallel
Misha Brukman
* Merge with trunk * Add libthread to runtime libs
Branches
parallel
Misha Brukman
Add parallel thread start/join LLVM runtime library.
Branches
parallel
Misha Brukman
* Allow pbr instructions to next within their regions * Pass in header BasicBlock to ParallelSeq
Branches
parallel
Misha Brukman
Accept a header BasicBlock in ParallelSeq constructor, various cleanups.
Branches
parallel
Misha Brukman
Add a run line to test this regression.
Branches
parallel
Misha Brukman
Test case for converting parallel calls into thread-based calls.
Branches
parallel
Misha Brukman
Merge from trunk.
Branches
parallel
Misha Brukman
Propagating the removal of this file on trunk to appear on this branch as well.
Branches
parallel
Misha Brukman
This file has been moved in trunk and on this branch to Transforms/IPO.
Branches
parallel
Misha Brukman
New test case with nested parallel branches.
Branches
parallel
Misha Brukman
Merge from trunk.
Branches
parallel
Misha Brukman
Merge from trunk.
Branches
parallel
Misha Brukman
Merge from trunk.
Branches
parallel
  1. Prev
  2. Next