OSDN Git Service

[X86] Tighten up a comment which confused x64 ABI terminology.
authorDavid Majnemer <david.majnemer@gmail.com>
Fri, 9 Sep 2016 01:07:01 +0000 (01:07 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Fri, 9 Sep 2016 01:07:01 +0000 (01:07 +0000)
commit0f6a0eb5f3e08cbdddfa0b50e1f85be4b0bedd71
treefcab0baed10cfe68518bf7fe929a85b1d0a62255
parent74990a5bca13bfa6e9072acb0103448b2e0ec239
[X86] Tighten up a comment which confused x64 ABI terminology.

The x64 ABI has two major function types:
 - frame functions
 - leaf functions

A frame function is one which requires a stack frame.  A leaf function
is one which does not.  A frame function may or may not have a frame
pointer.

A leaf function does not require a stack frame and may never modify SP
except via a return (RET, tail call via JMP).

A frame function which has a frame pointer is permitted to use the LEA
instruction in the epilogue, a frame function without which doesn't
establish a frame pointer must use ADD to adjust the stack pointer epilogue.

Fun fact: Leaf functions don't require a function table entry
(associated PDATA/XDATA).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281006 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86FrameLowering.cpp