Deduce the memory behavior, aka "read-none", "read-only", or
"write-only", for functions and arguments.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
Overall, I think the logic is sound.
llvm/lib/Transforms/IPO/Attributor.cpp | ||
---|---|---|
420 ↗ | (On Diff #219470) | It is based on the explicit rule that SubsumingPositionIterator must iterate the corresponding IRPosition first. I think you should mention this rule somewhere in SubsumingPositionIterator implementation or header. |
3228–3230 ↗ | (On Diff #219470) | style: remove bracket |
3306–3312 ↗ | (On Diff #219470) | Maybe it is necessary to look at other atomic memory instructions also. |
Comment Actions
Any other objects or requests?
llvm/lib/Transforms/IPO/Attributor.cpp | ||
---|---|---|
420 ↗ | (On Diff #219470) | I will make the behavior of the flag in the header clear and add a comment here. |
3228–3230 ↗ | (On Diff #219470) | will do |
3306–3312 ↗ | (On Diff #219470) | I will add a TODO. We should eventually have all instructions explicit here. |