[llvm-commits] [llvm] r131679 - in /llvm/trunk: include/llvm/MC/MCWin64EH.h lib/MC/MCStreamer.cpp
Charles Davis
cdavis at mines.edu
Thu May 19 14:24:55 PDT 2011
Author: cdavis
Date: Thu May 19 16:24:54 2011
New Revision: 131679
URL: http://llvm.org/viewvc/llvm-project?rev=131679&view=rev
Log:
Implement the EndProlog Win64 EH method on the base MCStreamer.
Modified:
llvm/trunk/include/llvm/MC/MCWin64EH.h
llvm/trunk/lib/MC/MCStreamer.cpp
Modified: llvm/trunk/include/llvm/MC/MCWin64EH.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCWin64EH.h?rev=131679&r1=131678&r2=131679&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCWin64EH.h (original)
+++ llvm/trunk/include/llvm/MC/MCWin64EH.h Thu May 19 16:24:54 2011
@@ -59,15 +59,15 @@
struct MCWin64EHUnwindInfo {
MCWin64EHUnwindInfo() : Begin(0), End(0), ExceptionHandler(0),
- Function(0), UnwindOnly(false),
- PrologSize(0), LastFrameInst(-1), ChainedParent(0),
+ Function(0), PrologEnd(0), UnwindOnly(false),
+ LastFrameInst(-1), ChainedParent(0),
Instructions() {}
MCSymbol *Begin;
MCSymbol *End;
const MCSymbol *ExceptionHandler;
const MCSymbol *Function;
+ MCSymbol *PrologEnd;
bool UnwindOnly;
- unsigned PrologSize;
int LastFrameInst;
MCWin64EHUnwindInfo *ChainedParent;
std::vector<MCWin64EHInstruction> Instructions;
Modified: llvm/trunk/lib/MC/MCStreamer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCStreamer.cpp?rev=131679&r1=131678&r2=131679&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCStreamer.cpp (original)
+++ llvm/trunk/lib/MC/MCStreamer.cpp Thu May 19 16:24:54 2011
@@ -425,8 +425,10 @@
}
void MCStreamer::EmitWin64EHEndProlog() {
- errs() << "Not implemented yet\n";
- abort();
+ EnsureValidW64UnwindInfo();
+ MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+ CurFrame->PrologEnd = getContext().CreateTempSymbol();
+ EmitLabel(CurFrame->PrologEnd);
}
void MCStreamer::EmitFnStart() {
More information about the llvm-commits
mailing list