diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/CodeGenerator.html | 15 | ||||
-rw-r--r-- | docs/ReleaseNotes.html | 4 |
2 files changed, 19 insertions, 0 deletions
diff --git a/docs/CodeGenerator.html b/docs/CodeGenerator.html index 6b5b204dc5..32a3a971a3 100644 --- a/docs/CodeGenerator.html +++ b/docs/CodeGenerator.html @@ -709,6 +709,21 @@ ret <!-- _______________________________________________________________________ --> <h4> + <a name="callclobber">Call-clobbered registers</a> +</h4> + +<div> + +<p>Some machine instructions, like calls, clobber a large number of physical + registers. Rather than adding <code><def,dead></code> operands for + all of them, it is possible to use an <code>MO_RegisterMask</code> operand + instead. The register mask operand holds a bit mask of preserved registers, + and everything else is considered to be clobbered by the instruction. </p> + +</div> + +<!-- _______________________________________________________________________ --> +<h4> <a name="ssa">Machine code in SSA form</a> </h4> diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index 011cbbd344..b090995da1 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -355,6 +355,10 @@ Release Notes</a>.</h1> frozen when register allocation starts. Target hooks should use the <code>MRI->canReserveReg(FramePtr)</code> method to avoid accidentally disabling frame pointer elimination during register allocation.</li> + <li>A new kind of <code>MachineOperand</code> provides a compact + representation of large clobber lists on call instructions. The register + mask operand references a bit mask of preserved registers. Everything else is + clobbered.</li> </ul> </div> |