[LLVMdev] [PBQP] Are edges between nodes from totally disjoint register classes necessary ?

Arnaud A. de Grandmaison arnaud.degrandmaison at arm.com
Tue Feb 3 16:06:26 PST 2015


Hi Lang,

 

While working on improving the debug dumps of the PBQP graphs, I found out
that we can have some edges between nodes which belong to totally disjoint
register classes (for example, on AArch64, this would be an int and a
floating point register). Although it is true those 2 registers interferes,
in the sense they are alive at the same time, they never have any physical
interference, and this shows up as a zero matrix.

 

I was wondering if it could make sense to skip adding such edges to the
graph, as they do not add useful information, they increases the nodes
degrees . and ultimately make the allocation take longer time.

 

I have a patch ready prototyping this. It unfortunately breaks with the last
fix you made (@ r227942), but if I revert it, it just works fine. if you
believe this could be worth it, then I will investigate where the failure
comes from.

 

Cheers,

--

Arnaud A. de Grandmaison

 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150204/81de0a94/attachment.html>


More information about the llvm-dev mailing list