[PATCH] D82988: [RISCV] Avoid Splitting MBB in RISCVExpandPseudo

Sam Elliott via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 14 10:27:51 PDT 2020


lenary added a comment.

@rogfer01 @efriedma I would love this pass to happen early in the pipeline, so that `auipc/l{d,w}` can be rescheduled or shared. Maybe the easy solution is to mark the `auipc` as not duplicatable (as that's the thing you want to share, anyway), so the `l{d,w}` can be duplicated if necessary?

The other solution is to work out what's going on with duplicating symbols and `setPreInstrSymbol` and try something there, but the issue is if a MBB has been duplicated, I cannot RAUW the symbol, because some of the instructions should refer to the old symbol, and some to the new. I think this is what Roger is alluding to with the "fixup pass", but I think this would have to be done at duplication-time, not after.

I doubt I have time to investigate why this is going wrong any time soon, and especially not before the branch tomorrow.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D82988/new/

https://reviews.llvm.org/D82988





More information about the llvm-commits mailing list