View source code
Display the source code in dmd/backend/cod1.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

dmd.backend.cod1.loadea - multiple declarations

Function loadea

Routine to aid in setting things up for gen(). Look for common subexpression. Can handle indirection operators, but not if they're common subs.

extern(C++) void loadea (
  ref dmd.backend.codebuilder.CodeBuilder cdb,
  elem* e,
  dmd.backend.code_x86.code* cs,
  uint op,
  uint reg,
  ulong offset,
  uint keepmsk,
  uint desmsk
);

Input

e -> elem where we get some of the data from cs -> partially filled code to add op = opcode reg = reg field of (mod reg r/m) offset = data to be added to Voffset field keepmsk = mask of registers we must not destroy desmsk = mask of registers destroyed by executing the instruction

Returns

pointer to code generated

Function loadea

Routine to aid in setting things up for gen(). Look for common subexpression. Can handle indirection operators, but not if they're common subs.

extern(C++) void loadea (
  ref dmd.backend.codebuilder.CodeBuilder cdb,
  elem* e,
  dmd.backend.code_x86.code* cs,
  uint op,
  uint reg,
  ulong offset,
  uint keepmsk,
  uint desmsk
);

Input

e -> elem where we get some of the data from cs -> partially filled code to add op = opcode reg = reg field of (mod reg r/m) offset = data to be added to Voffset field keepmsk = mask of registers we must not destroy desmsk = mask of registers destroyed by executing the instruction

Returns

pointer to code generated

Authors

Walter Bright

License

Boost License 1.0