[PATCH] D79635: [RISCV] Split the pseudo instruction splitting pass
Sam Elliott via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 12 02:39:18 PDT 2020
lenary added a comment.
In D79635#2030971 <https://reviews.llvm.org/D79635#2030971>, @jrtc27 wrote:
> Macro-op fusion likely means that we'll always schedule the AUIPC with its consumer anyway, but in theory there could be pipelines that don't macro-op fuse and stall on RAW hazards, which could benefit from splitting the pair up.
I have no idea how common macro-op fusion will be, and it strikes me that the RAW hazards will likely be worse on embedded cores where there is unlikely to be macro-op fusion anyway? This is why I feel it's better to get this pass as early as possible, even if we later schedule these instructions together.
My intention is eventually to get this pass as early in the machine code pipeline as possible. At the moment this is as early as it can go without modifying the `auipc`-introducing code, and some other machine code passes (Branch folding, at the very least).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79635/new/
https://reviews.llvm.org/D79635
More information about the llvm-commits
mailing list