forked from reactorlabs/rir
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Contextual profile vogr #9
Open
vogr
wants to merge
140
commits into
CompL-Research:contextualProfile
Choose a base branch
from
vogr:contextualProfile-vogr
base: contextualProfile
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.
Open
Contextual profile vogr #9
vogr
wants to merge
140
commits into
CompL-Research:contextualProfile
from
vogr:contextualProfile-vogr
Conversation
This file contains 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
* The state would be recomputed even with the keepSnapshot flag * (experimental) Disable the lookup cache
This reverts commit fdd8254.
update to llvm 12
Constants which are symbols are interpreted as variable lookups by eval and therefore must be quoted.
prevent fetch-llvm from re-downloading file
trying to work around CI timeouts and crashes
Try avoiding unnecessary analysis state recomputation
Speculatively inline promise code for builtins in RIR.
if we move an environment over a PushContext we need to update its context offset field, or it will register itself to the wrong context. E.g. e1 = mkenv context 1 PushContext ... e2 Checkpoint .... if we move `e1` into the checkpoint, then the context must be increased to 2, otherwise it will override the environment `e2` in the inlined context.
* Run ASan and UBsan and fix issues Finally I found out how to run the sanitizers from clang. This commit fixes a ton of memory leaks, UB and memory errors. The alignment sanitizer is still broken and thus disabled for now.
…onEnv ensure that when moving environments the context position is updated
shrink the size of Instructions
because we want to target them with match_call_args now
convert uses the to-type to determine the type of the box, but we need the from type here...
the first checkpoint of the inlinee can be replaced by the last checkpoint of the caller. This fixes many regressions.
[wip] some static usemethod support
since runtime objects do not have their dtrs called, we cannot use C++ objects as members...
Avoid recompilation
…vement try to ensure that speculation gets placed before and not after noop …
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.
I reverted your commit to add mine on your branch ; and then added back the bits from your commit related to
compileFlag
.I tried to de-correlate a bit
compileFlag
from the ContextualProfiling part, I added aCompilationStrategy
file.Also I added what I said I wouldn't add: a hashable struct to represent a function version (id + context) ; it was quite simple in fact and makes working with sets/maps of versions easier...
I also moved the logic to get a string from a context into the Context class so that it could be used in the logging logic too
(Note: I have not tested the
compileFlag
flag part yet, I hope it 's working the same way as in your commit!)