[PATCH] D20769: [IPRA] Interprocedural Register Allocation

Mehdi AMINI via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 3 22:06:33 PDT 2016


mehdi_amini added inline comments.

================
Comment at: lib/CodeGen/CMakeLists.txt:103
@@ -102,2 +102,3 @@
   RegisterScavenging.cpp
   RenameIndependentSubregs.cpp
+  RegisterUsageInfo.cpp
----------------
vivekvpandya wrote:
> mehdi_amini wrote:
> > It is a good practice to decoupled software component. Having separate patches helps to make sure we indeed have correctly separated the components.
> > It also forces to make sure the component are individually testable, and make sure we actually test them.
> > 
> > So I agree with Quentin on the principle, and I think it is also a good exercise for you to split the patch an submit the analysis alone and tested. Have a look at "CostModelAnalysis::print()" in  lib/Analysis/CostModel.cpp and see how it is tested in  test/Analysis/CostModel/X86/cast.ll
> > 
> > 
> @mehdi_amini I understand what you explain above but here I think RegisterUsageInfo is not tastable alone because it just holds RegMasks, RegisterInfoCollector is a trigger to IP regalloc and both of them can be tested together. Also to test X86RegUsageInfoPropagate it requires both of the above mentioned passes. But we can separate patches for RegisterUsageInfo + InfoCollector and X86RegUsageInfoPropagate ( condition that first patch is required to test second one) .
> Is there any better plan in your mind?
Splitting in two is what I had in mind: the analysis part on one side, the transformation part on another.


http://reviews.llvm.org/D20769





More information about the llvm-commits mailing list