================
@@ -1262,6 +1262,18 @@ bool MachineLICMBase::IsProfitableToHoist(MachineInstr 
&MI,
     return false;
   }
 
+  // If we have a COPY with other uses in the loop, hoist to allow the users to
----------------
bjope wrote:

It is a bit tricky of course, depending on the properties of the target. For a 
VLIW target like ours the COPY could be really cheap, at least if it can be 
executed in parallel with something else without increasing latency. A 
cross-bank copy might actually be fee (zero cycles) even if it is inside the 
loop. OTOH. if we need to spill/reload a register, then that could be much more 
expensive, even if it is hoisted to some outer loop.

https://github.com/llvm/llvm-project/pull/71403
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to