Skip to content
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

[Attributor] Do not use liveness of the wrong function #53872

Closed
jdoerfert opened this issue Feb 16, 2022 · 7 comments
Closed

[Attributor] Do not use liveness of the wrong function #53872

jdoerfert opened this issue Feb 16, 2022 · 7 comments

Comments

@jdoerfert
Copy link
Member

If we use AAIsDead of the wrong function all queries will result in "is dead". This problem is at least present in the genericValueTraversal, could be other places too.

@jdoerfert jdoerfert self-assigned this Feb 16, 2022
@jdoerfert jdoerfert added this to the LLVM 14.0.0 Release milestone Feb 16, 2022
@jdoerfert jdoerfert added the ipo Interprocedural optimizations label Feb 16, 2022
@github-actions github-actions bot added new issue and removed ipo Interprocedural optimizations labels Feb 16, 2022
@jdoerfert
Copy link
Member Author

/cherry-pick 668c5c6

@llvmbot
Copy link
Collaborator

llvmbot commented Feb 16, 2022

Failed to cherry-pick: 668c5c6

https://github.com/llvm/llvm-project/actions/runs/1855577960

Please manually backport the fix and push it to your github fork. Once this is done, please add a comment like this:

/branch <user>/<repo>/<branch>

@jdoerfert
Copy link
Member Author

/branch jdoerfert/llvm-project/issue53872

@llvmbot
Copy link
Collaborator

llvmbot commented Feb 18, 2022

/pull-request llvmbot#81

@tstellar
Copy link
Collaborator

tstellar commented Mar 1, 2022

@jdoerfert Can you rebase the issue53872 branch? The patches no longer apply cleanly.

jdoerfert added a commit to jdoerfert/llvm-project that referenced this issue Mar 2, 2022
When we use liveness for edges during the `genericValueTraversal` we
need to make sure to use the AAIsDead of the correct function. This
patch adds the proper logic and some simple caching scheme. We also
add an assertion to the `isEdgeDead` call to make sure future misuse
is detected earlier.

Fixes llvm#53872
@jdoerfert
Copy link
Member Author

Done, I think.

tstellar pushed a commit that referenced this issue Mar 2, 2022
When we use liveness for edges during the `genericValueTraversal` we
need to make sure to use the AAIsDead of the correct function. This
patch adds the proper logic and some simple caching scheme. We also
add an assertion to the `isEdgeDead` call to make sure future misuse
is detected earlier.

Fixes #53872
@tstellar
Copy link
Collaborator

tstellar commented Mar 2, 2022

Merged: a98c04d

jdoerfert added a commit to jdoerfert/llvm-project that referenced this issue Mar 25, 2022
When we use liveness for edges during the `genericValueTraversal` we
need to make sure to use the AAIsDead of the correct function. This
patch adds the proper logic and some simple caching scheme. We also
add an assertion to the `isEdgeDead` call to make sure future misuse
is detected earlier.

Fixes llvm#53872
mem-frob pushed a commit to draperlaboratory/hope-llvm-project that referenced this issue Oct 7, 2022
When we use liveness for edges during the `genericValueTraversal` we
need to make sure to use the AAIsDead of the correct function. This
patch adds the proper logic and some simple caching scheme. We also
add an assertion to the `isEdgeDead` call to make sure future misuse
is detected earlier.

Fixes llvm/llvm-project#53872
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment