[PATCH] D123578: [RISCV] Add sched to pseudo function call instructions
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 12 09:36:40 PDT 2022
craig.topper added inline comments.
================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfo.td:1282
mayStore = 0, mayLoad = 0 in
-def PseudoCALLReg : Pseudo<(outs GPR:$rd), (ins call_symbol:$func), []> {
+def PseudoCALLReg : Pseudo<(outs GPR:$rd), (ins call_symbol:$func), []>, Sched<[WriteIALU, WriteJalr, ReadJalr]> {
let AsmString = "call\t$rd, $func";
----------------
Don't exceed 80 characters per line.
================
Comment at: llvm/lib/Target/RISCV/RISCVInstrInfo.td:1282
mayStore = 0, mayLoad = 0 in
-def PseudoCALLReg : Pseudo<(outs GPR:$rd), (ins call_symbol:$func), []> {
+def PseudoCALLReg : Pseudo<(outs GPR:$rd), (ins call_symbol:$func), []>, Sched<[WriteIALU, WriteJalr, ReadJalr]> {
let AsmString = "call\t$rd, $func";
----------------
craig.topper wrote:
> Don't exceed 80 characters per line.
I'm not sure it's correct to have more than one Write scheduling class with only a single output register. Each Write is supposed to correspond to the latency of the register.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D123578/new/
https://reviews.llvm.org/D123578
More information about the llvm-commits
mailing list