[LLVMdev] Target.td:Register changes

Vladimir Prus ghost at cs.msu.su
Tue Nov 16 08:21:42 PST 2004


Hi, looking at the fresh CVS state I see:

class Register<string n> : RegisterBase<n> {
  list<RegisterBase> Aliases = [];
}

while previously the Register class did not require any parameters. The change 
log is just:

  * Target.td: Revamp the Register class, and allow the use of the
        RegisterGroup class to specify aliases directly in register
        definitions.

and I could not find any discussions in the archives.

Why the change was necessary? Writing:

  def gr0 : Register<"gr0">;
  def gr1 : Register<"gr1">;
  def gr2 : Register<"gr2">;
  def gr3 : Register<"gr3">;
  def gr4 : Register<"gr4">;

is a bit boring and it's very easy to make a mistake. How the names are used?

- Volodya






More information about the llvm-dev mailing list