[LLVMdev] tblgen multiclasses

Rafael EspĂ­ndola rafael.espindola at gmail.com
Tue Oct 10 03:50:10 PDT 2006


> Basically, flag operands are a hack used to handle resources that are not
> accurately modeled in the scheduler (e.g. condition codes, explicit
> register assignments, etc).  The basic idea of the flag operand is that
> they require the scheduler to keep the "flagged" nodes stuck together in
> the output machine instructions.

>From an user point of view, flags have two different uses

1) Forcing a value to be in a particular register.

2) As a hack when a machine state is not made explicit. For example,
in the ARM backend I haven't declared the "FP status" and the "status"
registers. So the FMSTAT instruction needs a flag.

It should be possible to remove all uses of 2 by a writing a more
complete description. Maybe the uses of 1 could be abstracted with a
higher lever interface...

> If you have a specific question, I'm more than happy to answer it,
>
> -Chris

Rafael



More information about the llvm-dev mailing list