[PATCH] D34815: [Power9] Spill gprs to vector registers rather than stack

Hiroshi Inoue via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 29 10:35:37 PDT 2017


inouehrs added a comment.

Looks interesting.
This patch potentially increases the number of VSR save/restore in method prologue/epilogue (depending on which VSR is selected for spilling). Is my understanding correct?



================
Comment at: lib/Target/PowerPC/PPCInstrInfo.cpp:52
+STATISTIC(StoreVSRSPILLGpr, "Number of gpr spills to stack of gpfprc");
+STATISTIC(NumMTVSR, "Number of gpr spills to gpfprc");
+
----------------
I feel this name somewhat misleading. MTVSR instruction may be used for other purposes. NumGPRtoVSRSpill or somthing?



================
Comment at: test/CodeGen/PowerPC/gpr-vsr-spill2.ll:25
+define void @search_root(%struct.move_s* noalias nocapture sret %agg.result, i32 signext %originalalpha, i32 signext %originalbeta, i32 signext %depth) {
+; CHECK:        mr [[NEWREG:[0-9]+]], {{[0-9]+}}
+; CHECK:        std [[NEWREG]], {{[0-9]+}}(1)                   # 8-byte Folded Spill
----------------
What's the intention of this complicated test case without spills to VSR?


https://reviews.llvm.org/D34815





More information about the llvm-commits mailing list