[PATCH] D31188: [AntiDepBreaker] Use liveins as well in StartBlock
Tim Shen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 17 00:09:58 PDT 2017
timshen added a comment.
In https://reviews.llvm.org/D31188#728097, @timshen wrote:
> so we should change the caller side to propagate CSR live-ins.
I'm not sure how to do this -
when splitting a block B to C and D, where C unconditionally jumps (or falls through) to D, how to compute D's liveins, including CSRs?
B could be any block -
1. before save point, CSRs live-through.
2. save point, CSRs live-in, dead-out.
3. between save point and restore point, CSRs are considered normal registers.
4. restore point, CSRs dead-in, live-out.
5. after restore point, CSRs live-through.
If the only information are the liveins(), it seems not easy to tell liveness at the split position. Do we want to use LiveIntervals in BranchFolding.cpp?
https://reviews.llvm.org/D31188
More information about the llvm-commits
mailing list