mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 00:32:55 +00:00
Simplify the handling of .cfi_endproc.
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211651 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a68a4f0fd5
commit
49b52b35d4
@ -201,9 +201,7 @@ protected:
|
||||
|
||||
const MCExpr *ForceExpAbs(const MCExpr *Expr);
|
||||
|
||||
void RecordProcStart(MCDwarfFrameInfo &Frame);
|
||||
virtual void EmitCFIStartProcImpl(MCDwarfFrameInfo &Frame);
|
||||
void RecordProcEnd(MCDwarfFrameInfo &Frame);
|
||||
virtual void EmitCFIEndProcImpl(MCDwarfFrameInfo &CurFrame);
|
||||
|
||||
MCWin64EHUnwindInfo *getCurrentW64UnwindInfo() {
|
||||
|
@ -710,9 +710,6 @@ namespace {
|
||||
unsigned char Value) override { return false; }
|
||||
void EmitFileDirective(StringRef Filename) override {}
|
||||
void FinishImpl() override {}
|
||||
void EmitCFIEndProcImpl(MCDwarfFrameInfo &Frame) override {
|
||||
RecordProcEnd(Frame);
|
||||
}
|
||||
};
|
||||
} // end anonymous namespace
|
||||
|
||||
|
@ -935,10 +935,7 @@ void MCAsmStreamer::EmitCFIStartProcImpl(MCDwarfFrameInfo &Frame) {
|
||||
}
|
||||
|
||||
void MCAsmStreamer::EmitCFIEndProcImpl(MCDwarfFrameInfo &Frame) {
|
||||
// Put a dummy non-null value in Frame.End to mark that this frame has been
|
||||
// closed.
|
||||
Frame.End = (MCSymbol *) 1;
|
||||
|
||||
MCStreamer::EmitCFIEndProcImpl(Frame);
|
||||
OS << "\t.cfi_endproc";
|
||||
EmitEOL();
|
||||
}
|
||||
|
@ -81,10 +81,6 @@ namespace {
|
||||
void EmitBundleUnlock() override {}
|
||||
|
||||
void FinishImpl() override {}
|
||||
|
||||
void EmitCFIEndProcImpl(MCDwarfFrameInfo &Frame) override {
|
||||
RecordProcEnd(Frame);
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -136,11 +136,14 @@ void MCObjectStreamer::EmitValueImpl(const MCExpr *Value, unsigned Size,
|
||||
}
|
||||
|
||||
void MCObjectStreamer::EmitCFIStartProcImpl(MCDwarfFrameInfo &Frame) {
|
||||
RecordProcStart(Frame);
|
||||
// We need to create a local symbol to avoid relocations.
|
||||
Frame.Begin = getContext().CreateTempSymbol();
|
||||
EmitLabel(Frame.Begin);
|
||||
}
|
||||
|
||||
void MCObjectStreamer::EmitCFIEndProcImpl(MCDwarfFrameInfo &Frame) {
|
||||
RecordProcEnd(Frame);
|
||||
Frame.End = getContext().CreateTempSymbol();
|
||||
EmitLabel(Frame.End);
|
||||
}
|
||||
|
||||
void MCObjectStreamer::EmitLabel(MCSymbol *Symbol) {
|
||||
|
@ -264,12 +264,6 @@ void MCStreamer::EmitCFIStartProc(bool IsSimple) {
|
||||
void MCStreamer::EmitCFIStartProcImpl(MCDwarfFrameInfo &Frame) {
|
||||
}
|
||||
|
||||
void MCStreamer::RecordProcStart(MCDwarfFrameInfo &Frame) {
|
||||
// We need to create a local symbol to avoid relocations.
|
||||
Frame.Begin = getContext().CreateTempSymbol();
|
||||
EmitLabel(Frame.Begin);
|
||||
}
|
||||
|
||||
void MCStreamer::EmitCFIEndProc() {
|
||||
EnsureValidFrame();
|
||||
MCDwarfFrameInfo *CurFrame = getCurrentFrameInfo();
|
||||
@ -277,11 +271,9 @@ void MCStreamer::EmitCFIEndProc() {
|
||||
}
|
||||
|
||||
void MCStreamer::EmitCFIEndProcImpl(MCDwarfFrameInfo &Frame) {
|
||||
}
|
||||
|
||||
void MCStreamer::RecordProcEnd(MCDwarfFrameInfo &Frame) {
|
||||
Frame.End = getContext().CreateTempSymbol();
|
||||
EmitLabel(Frame.End);
|
||||
// Put a dummy non-null value in Frame.End to mark that this frame has been
|
||||
// closed.
|
||||
Frame.End = (MCSymbol *) 1;
|
||||
}
|
||||
|
||||
MCSymbol *MCStreamer::EmitCFICommon() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user