Allow target to indicate some reads may be sunk along critical
edges. This is useful for applications which have invariant
data loads or can establish apriori absence of memory writes.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Transforms/Scalar/Sink.cpp | ||
---|---|---|
84 | Why not check MD_invariant_load directly here, rather than forcing every target to check it in their own canAlwaysSinkRead hook? |
llvm/lib/Transforms/Scalar/Sink.cpp | ||
---|---|---|
84 | I agree, I don't see why this needs to be a target hook. We already have AA checks for invariant memory |
Comment Actions
Logically I'd like some kind of control over the sinking process, but I guess that can be handled by removing invariant metadata as appropriate.
-> D135133
Why not check MD_invariant_load directly here, rather than forcing every target to check it in their own canAlwaysSinkRead hook?