[llvm-dev] extending LLVM

Ronny BarTov via llvm-dev llvm-dev at lists.llvm.org
Sun Jan 19 01:38:07 PST 2020


in vliw architectures, the behavior of a machine command is fixed in whatever vliw it is included.
In some cases, however, the appearance of some other specific commands within the same vliw, affects the behavior of the original command,
or define a new way of operation such that the entire behavior of the vliw can no longer be considered as the cumulative effect of the individual, separate, commands.

examples for the above might be:

- allowing more than a single CC (condition code) changing command  to be present in the same vliw. a possible definition for such a case
  might be to set the new CC to the logical OR of all the new values from the commands in the vliw that write to the CC.
- forcing specific execution units.
  suppose both I1 and I2 commands can be assigned to functional units
  FU1 or FU2. we might insist that whenever I1 and I2 are in the same vliw,  then I1 must go to FU1 while I2 must go to FU2.
- two instructions can normally have a long encoding, but might use a combined,  shorter encoding that would make them fit together inside a single vliw.

Is there a systematic way to handle such cases in LLVM  ?



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200119/044d30af/attachment.html>

More information about the llvm-dev mailing list