[PATCH] Addition of -fexhaustive-register-search option to allow an exhaustive search during last chance recoloring

Quentin Colombet qcolombet at apple.com
Fri Apr 4 13:06:14 PDT 2014


Hi Mayur,

The short answer is yes, I think it is the right way of doing it.

The long answer is:
I had initially something more complicated in mind that would perform the last chance recoloring with the cut-offs first and then if it fails, do it again without the cut-offs. The idea was not to blow the compile time when the regular last chance recoloring works and the complicate part would be to not  check again solution that were already tested.

Now, I think your approach is the right way, because we can assume that if someone is using that option, then it is likely the regular process with cut-offs failed, thus we can directly go for the expensive checks anyway.


Regarding the patch itself, a couple of comments:
+                 cl::desc("Exhaustive Search for registers bypassing the depth"
+                          "and interference cutoffs"));

The description does not make super clear that this is related to the last chance recoloring thing. Maybe adding the cutoffs “of last chance recoloring”.

+      Ctx.emitError("register allocation failed: maximum depth for recoloring "
+                    "reached. Use -fexhaustive-register-search "
+                    "for recoloring without cutoffs");

The messages are a bit too verbose.
Can we shorten it?

E.g., Use -fexhaustive-register-search to skip cutoffs.

Thanks,
-Quentin

On Apr 4, 2014, at 3:47 AM, MAYUR PANDEY <mayur.p at samsung.com> wrote:

> Hi Quentin,
> 
> Added -fexhaustive-register-search option for exhaustive register search. Please review whether this is the right way of doing it. 
> 
> Thanks,
> Mayur<fexhaustive-register-search.patch>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140404/b8a0c3d8/attachment.html>


More information about the llvm-commits mailing list