[PATCH] memcpy lowering: use "rep movs" even when esi is used as base pointer

Hans Wennborg hans at chromium.org
Tue Mar 18 13:11:21 PDT 2014



================
Comment at: lib/Target/X86/X86SelectionDAGInfo.cpp:226
@@ -227,2 +225,3 @@
 
-  SDValue InFlag(0, 0);
+  SDValue InGlue(0, 0);
+
----------------
Hans Wennborg wrote:
> Rafael Ávila de Espíndola wrote:
> > Please move this past the next if, since it is not used until then. Passing it with 0 to getCopyToReg is a nop.
> > 
> > It would probably be better for X86rep_movs to explicitly use RCX, RDI and RSI instead of using a glue. Please add a fixme about it.
> > 
> Actually, the intention was to glue the getCopyToReg inside the if statement to the other instructions, I just forgot to add "InGlue = Chain.getValue(1)".
> 
> Having the glue here would help me feel safer :)
Rafael clarified on IRC that the glue isn't needed since the EDX dependency is explicit in the sdag, unlike REP_MOVS's dependencies below.


http://llvm-reviews.chandlerc.com/D2968



More information about the llvm-commits mailing list