[PATCH] D18628: Cloning: Clean up the interface to the CloneFunction function.
    Duncan P. N. Exon Smith via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Wed Mar 30 15:36:19 PDT 2016
    
    
  
+alon.mishne at intel.com, who committed r203662.
> On 2016-Mar-30, at 15:14, Peter Collingbourne <peter at pcc.me.uk> wrote:
> 
> pcc created this revision.
> pcc added reviewers: dexonsmith, aprantl.
> pcc added subscribers: probinson, eugenis, tejohnson, loladiro, llvm-commits.
> Herald added a reviewer: tstellarAMD.
> Herald added a subscriber: arsenm.
> 
> Remove the ModuleLevelChanges argument, and the ability to create new
> subprograms for cloned functions. The latter was added without review in
> r203662, but it has no in-tree clients (all non-test callers pass false
> for ModuleLevelChanges [1], so it isn't reachable outside of tests). It
> also isn't clear that adding a duplicate subprogram to the compile unit is
> always the right thing to do when cloning a function within a module. If
> this functionality comes back it should be accompanied with a more concrete
> use case.
> 
> Furthermore, all in-tree clients add the returned function to the module.
> Since that's pretty much the only sensible thing you can do with the function,
> just do that in CloneFunction.
This seems like a nice cleanup to me.  LGTM if others agree there's
no impending use case!
> [1] http://llvm-cs.pcc.me.uk/lib/Transforms/Utils/CloneFunction.cpp/rCloneFunction
> 
> http://reviews.llvm.org/D18628
> 
> Files:
>  include/llvm/Transforms/Utils/Cloning.h
>  lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp
>  lib/Transforms/IPO/PartialInlining.cpp
>  lib/Transforms/Utils/CloneFunction.cpp
>  unittests/Transforms/Utils/Cloning.cpp
> 
> <D18628.52140.patch>
    
    
More information about the llvm-commits
mailing list