Summary: This is the second step after D67871 to make use of abstract call sites. In this patch the argument we associate with a abstract call site argument can be the one in the callback callee instead of the one in the callback broker. Caveat: We cannot allow no-alias arguments for problematic callbacks: As described in [1], adding no-alias (or restrict) to arguments could break synchronization as the synchronization effect, e.g., a barrier, does not "alias" with the pointer anymore. This disables no-alias annotation for potentially problematic arguments until we implement the fix described in [1]. Reviewers: sstefan1, uenoku Subscribers: hiraditya, bollu, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68008 [1] Compiler Optimizations for OpenMP, J. Doerfert and H. Finkel, International Workshop on OpenMP 2018, http://compilers.cs.uni-saarland.de/people/doerfert/par_opt18.pdf
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Transforms/IPO/Attributor.cpp | ||
---|---|---|
209–219 | I couldn't understand this part. Is it sound to return an argument of the callback callee we have found first? |
llvm/lib/Transforms/IPO/Attributor.cpp | ||
---|---|---|
209–219 | You are right. I'll add code to ensure we do not return a callback callee argument if there is not a unique one mapped to the requested call site argument. |
I couldn't understand this part. Is it sound to return an argument of the callback callee we have found first?