[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