[llvm-dev] Is there any pass existing in llvm which does machine copy propogation ?

Geoff Berry via llvm-dev llvm-dev at lists.llvm.org
Fri Jul 21 09:57:36 PDT 2017

FWIW, there is also this proposed change

https://reviews.llvm.org/D30751 [MachineCopyPropagation] Extend pass to 
do COPY source forwarding

which enhances the MachineCopyPropagation pass to forward copied 
registers, though it still only operates at the block level.

It might be possible to extend this pass to work non-locally to some 
degree, but that should probably be evaluated against replacing it with 
RDFCopy once that pass is confirmed to work for all targets.

On 7/21/2017 10:25 AM, Krzysztof Parzyszek via llvm-dev wrote:
> Hexagon has RDFCopy.cpp that does that.  It uses RDF framework that is 
> currently under lib/Target/Hexagon, but is meant to be 
> target-independent.  See https://reviews.llvm.org/D29295.
> What target are you interested in?
> -Krzysztof
> On 7/21/2017 2:18 AM, Rai, Deepali via llvm-dev wrote:
>> Hi All,
>> I was looking into MachineCopyPropagationPass.ccp file in llvm, which 
>> in first look, looks likes to me doing only redundant copy elimination 
>> in same basic block.
>> I am interested in any pass which is doing copy propogation across the 
>> basic block in a function.
>> Let me know if any such pass exist ?
>> Thanks,
>> Deepali
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

Geoff Berry
Employee of Qualcomm Datacenter Technologies, Inc.
  Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm 
Technologies, Inc.  Qualcomm Technologies, Inc. is a member of the Code 
Aurora Forum, a Linux Foundation Collaborative Project.

More information about the llvm-dev mailing list