[llvm-dev] [RFC] Array Register Files

Nicolai Hähnle via llvm-dev llvm-dev at lists.llvm.org
Tue Oct 9 01:14:49 PDT 2018


On 08.10.2018 20:20, Matthias Braun wrote:
> In principle we also have the feature of arbitrary register aliases. 
> Though last time I looked it seemed to be only used in one target (I 
> think it was Mips) in a way where you could model things differently and 
> get away with arbitrary aliases if you wanted to change the code. Then 
> again register units also handle aliases already. So to me the 
> implementation/practical side here would be coming up with a concept of 
> dynamic register classes and getting more consistent in using register 
> units wherever possible. I don't see any benefits for the proposed 
> encoding yet...

A clear and simple benefit is that it may be possible to implement a 
bunch of sub/super register stuff without loops, in branch-free code. 
E.g., MCRegisterInfo::getSubReg would reduce to just a few arithmetic 
instructions.

And sure, I'd be happy to rephrase the whole thing as: making register 
units the fundamental, first-class object that everything else is built on.

Cheers,
Nicolai

-- 
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.


More information about the llvm-dev mailing list