mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 06:25:18 +00:00
Rename llvm.frameescape and llvm.framerecover to localescape and localrecover
Summary: Initially, these intrinsics seemed like part of a family of "frame" related intrinsics, but now I think that's more confusing than helpful. Initially, the LangRef specified that this would create a new kind of allocation that would be allocated at a fixed offset from the frame pointer (EBP/RBP). We ended up dropping that design, and leaving the stack frame layout alone. These intrinsics are really about sharing local stack allocations, not frame pointers. I intend to go further and add an `llvm.localaddress()` intrinsic that returns whatever register (EBP, ESI, ESP, RBX) is being used to address locals, which should not be confused with the frame pointer. Naming suggestions at this point are welcome, I'm happy to re-run sed. Reviewers: majnemer, nicholas Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11011 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241633 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -399,8 +399,8 @@ static bool doesNotRequireEntrySafepointBefore(const CallSite &CS) {
|
||||
// at least if they do, are leaf functions that cause only finite stack
|
||||
// growth. In particular, the optimizer likes to form things like memsets
|
||||
// out of stores in the original IR. Another important example is
|
||||
// llvm.frameescape which must occur in the entry block. Inserting a
|
||||
// safepoint before it is not legal since it could push the frameescape
|
||||
// llvm.localescape which must occur in the entry block. Inserting a
|
||||
// safepoint before it is not legal since it could push the localescape
|
||||
// out of the entry block.
|
||||
return true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user