-
Notifications
You must be signed in to change notification settings - Fork 18
Loop Distribution #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
wlllle
wants to merge
93
commits into
dvm-system:master
Choose a base branch
from
wlllle:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ucture in a member statement. Disable replacement in case of '(S+I)->X'.
…s of an aggregate type.
… of a structure type.
…nitialize a variable to be replaced.
…ject of a structure type is replaced directly.
…t of '&' or '*' expression.
… analysis results.
… prevent a variable to be a reduction.
…t on previous steps.
…reachable exits. Sometimes LLVM IR for a loop contains `select` instuction which determines loop exits. This instruction always has default basic block, so, if loop has a single exit in a source code, this default block will be marked as unreachable. Hence we can ignore this block and parallelize a corresponding loop if it has only single reachable exit.
Credit goes to v.makeev (see dvm-system#5 for details).
…ys-return`. The `willreturn` attribute has been added to LLVM IR and it is similar to `sapfor.always-return` which we added earlier.
…re live after a loop exit.
…sis pass. - Fix errors. - Add new checks. - Select appropriate order of the pass execution. - Update analysis of partially promoted reduction, induction and privitizable variables.
…hint for a corrupted location. Even if there are no bound alias node, we try to find nodes which contain locations with similar binded value, to determine insertion hint. Otherwise, locations with smaller sizes become ancestors for bigger locations.
…on as Add reduction in SAPFOR.
…ize of an array dimension. Note, SCEV for 'alloca' is SCEVUnknown and has a pointer type, instead of a corresponding variable type.
…rent LLVM version. TODO: Clang Tooling doesn't support precompiled sources anymore, so .ast files are not valid input for TSAR now and merge option is not working.
… available on server. Note, optimization passes may remove function or replace it with another one. Hence, in some cases there is no corresponding function on a server.
ExpressionMatcher was extended instead.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Create loop distribution pass.