mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-25 20:59:51 +00:00
While thinking about how to know where the functions' boundaries are for
the purposes of the Win64 EH tables, I realized we had no way to tell where the function ends. (MASM bounds functions with PROC and ENDP keywords.) Add a directive to delimit the end of the function, and rename the 'frame' directive to more accurately reflect its duality with the new directive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131522 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
fc2fcb4165
commit
9c77398d1c
@ -457,13 +457,14 @@ namespace llvm {
|
||||
virtual void EmitCFIRelOffset(int64_t Register, int64_t Offset);
|
||||
virtual void EmitCFIAdjustCfaOffset(int64_t Adjustment);
|
||||
|
||||
virtual void EmitWin64EHFrame(MCSymbol *Symbol, MCSymbol *EHandler = 0);
|
||||
virtual void EmitWin64EHStartProc(MCSymbol *Symbol, MCSymbol *EHandler = 0);
|
||||
virtual void EmitWin64EHEndProc();
|
||||
virtual void EmitWin64EHPushReg(int64_t Register);
|
||||
virtual void EmitWin64EHSetFrame(int64_t Register, int64_t Offset);
|
||||
virtual void EmitWin64EHAllocStack(int64_t Size);
|
||||
virtual void EmitWin64EHSaveReg(int64_t Register, int64_t Offset);
|
||||
virtual void EmitWin64EHPushFrame(bool Code);
|
||||
virtual void EmitWin64EHEndProlog(void);
|
||||
virtual void EmitWin64EHEndProlog();
|
||||
|
||||
/// EmitInstruction - Emit the given @p Instruction into the current
|
||||
/// section.
|
||||
|
@ -310,7 +310,13 @@ void MCStreamer::EmitCFISameValue(int64_t Register) {
|
||||
CurFrame->Instructions.push_back(Instruction);
|
||||
}
|
||||
|
||||
void MCStreamer::EmitWin64EHFrame(MCSymbol *Symbol, MCSymbol *EHandler)
|
||||
void MCStreamer::EmitWin64EHStartProc(MCSymbol *Symbol, MCSymbol *EHandler)
|
||||
{
|
||||
errs() << "Not implemented yet\n";
|
||||
abort();
|
||||
}
|
||||
|
||||
void MCStreamer::EmitWin64EHEndProc()
|
||||
{
|
||||
errs() << "Not implemented yet\n";
|
||||
abort();
|
||||
@ -346,7 +352,7 @@ void MCStreamer::EmitWin64EHPushFrame(bool Code)
|
||||
abort();
|
||||
}
|
||||
|
||||
void MCStreamer::EmitWin64EHEndProlog(void)
|
||||
void MCStreamer::EmitWin64EHEndProlog()
|
||||
{
|
||||
errs() << "Not implemented yet\n";
|
||||
abort();
|
||||
|
Loading…
Reference in New Issue
Block a user