View source code
Display the source code in dmd/backend/cgsched.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.

Module dmd.backend.cgsched

Compiler implementation of the D programming language.

Functions

NameDescription
cgsched_block(b) Entry point
cgsched_block(b) Entry point
simpleops(c, scratch) Replace complex instructions with simple ones more conducive to scheduling.
simpleops(c, scratch) Replace complex instructions with simple ones more conducive to scheduling.

Manifest constants

NameTypeDescription
B it's a byte operation
B it's a byte operation
C floating point flags
C floating point flags
CIFLarraybounds this instruction is a jmp to array bounds
CIFLarraybounds this instruction is a jmp to array bounds
CIFLea this instruction has a memory-referencing
CIFLea this instruction has a memory-referencing
CIFLnostage modregrm EA byte
CIFLnostage modregrm EA byte
CIFLpush it's a push we can swap around
CIFLpush it's a push we can swap around
F flags
F flags
FPfld FLD mem
FPfld FLD mem
FPfop Fop ST0,mem or Fop ST0
FPfop Fop ST0,mem or Fop ST0
FPfstp FSTP mem
FPfstp FSTP mem
FX pairable with FXCH instruction
FX pairable with FXCH instruction
mMEM memory
mMEM memory
N other things modified, not swappable
N other things modified, not swappable
NP not pairable
NP not pairable
PE register contention exception
PE register contention exception
PF flags contention exception
PF flags contention exception
PU pairable in U only, never executed in V
PU pairable in U only, never executed in V
PV pairable in V only
PV pairable in V only
R register (reg of modregrm field)
R register (reg of modregrm field)
S floating point stack
S floating point stack
UV pairable in both U and V
UV pairable in both U and V

Authors

Walter Bright

License

Boost License 1.0