[LLVMdev] tblgen multiclasses
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,
More information about the llvm-dev