[llvm] r212881 - MC: rename MCW64UnwindInfo to MCWinFrameInfo

Saleem Abdulrasool compnerd at compnerd.org
Sat Jul 12 13:49:10 PDT 2014


Author: compnerd
Date: Sat Jul 12 15:49:09 2014
New Revision: 212881

URL: http://llvm.org/viewvc/llvm-project?rev=212881&view=rev
Log:
MC: rename MCW64UnwindInfo to MCWinFrameInfo

This structure contains information related to the call frame used to generate
unwinding information.  Rename this to reflect the future use to represent the
shared state between various architectures for WinCFI information.

Modified:
    llvm/trunk/include/llvm/MC/MCStreamer.h
    llvm/trunk/include/llvm/MC/MCWin64EH.h
    llvm/trunk/lib/MC/MCAsmStreamer.cpp
    llvm/trunk/lib/MC/MCStreamer.cpp
    llvm/trunk/lib/MC/MCWin64EH.cpp

Modified: llvm/trunk/include/llvm/MC/MCStreamer.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCStreamer.h?rev=212881&r1=212880&r2=212881&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCStreamer.h (original)
+++ llvm/trunk/include/llvm/MC/MCStreamer.h Sat Jul 12 15:49:09 2014
@@ -180,9 +180,9 @@ class MCStreamer {
   MCSymbol *EmitCFICommon();
   void EnsureValidFrame();
 
-  std::vector<MCWin64EHUnwindInfo *> W64UnwindInfos;
-  MCWin64EHUnwindInfo *CurrentW64UnwindInfo;
-  void setCurrentW64UnwindInfo(MCWin64EHUnwindInfo *Frame);
+  std::vector<MCWinFrameInfo *> W64UnwindInfos;
+  MCWinFrameInfo *CurrentW64UnwindInfo;
+  void setCurrentW64UnwindInfo(MCWinFrameInfo *Frame);
   void EnsureValidW64UnwindInfo();
 
   // SymbolOrdering - Tracks an index to represent the order
@@ -204,7 +204,7 @@ protected:
   virtual void EmitCFIStartProcImpl(MCDwarfFrameInfo &Frame);
   virtual void EmitCFIEndProcImpl(MCDwarfFrameInfo &CurFrame);
 
-  MCWin64EHUnwindInfo *getCurrentW64UnwindInfo() {
+  MCWinFrameInfo *getCurrentW64UnwindInfo() {
     return CurrentW64UnwindInfo;
   }
   void EmitW64Tables();
@@ -239,11 +239,11 @@ public:
 
   unsigned getNumW64UnwindInfos() { return W64UnwindInfos.size(); }
 
-  MCWin64EHUnwindInfo &getW64UnwindInfo(unsigned i) {
+  MCWinFrameInfo &getW64UnwindInfo(unsigned i) {
     return *W64UnwindInfos[i];
   }
 
-  ArrayRef<MCWin64EHUnwindInfo *> getW64UnwindInfos() const {
+  ArrayRef<MCWinFrameInfo *> getW64UnwindInfos() const {
     return W64UnwindInfos;
   }
 

Modified: llvm/trunk/include/llvm/MC/MCWin64EH.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCWin64EH.h?rev=212881&r1=212880&r2=212881&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCWin64EH.h (original)
+++ llvm/trunk/include/llvm/MC/MCWin64EH.h Sat Jul 12 15:49:09 2014
@@ -60,8 +60,8 @@ namespace llvm {
     bool isPushCodeFrame() const { return Offset == 1; }
   };
 
-  struct MCWin64EHUnwindInfo {
-    MCWin64EHUnwindInfo()
+  struct MCWinFrameInfo {
+    MCWinFrameInfo()
       : Begin(nullptr), End(nullptr),ExceptionHandler(nullptr),
         Function(nullptr), PrologEnd(nullptr), Symbol(nullptr),
         HandlesUnwind(false), HandlesExceptions(false), LastFrameInst(-1),
@@ -75,7 +75,7 @@ namespace llvm {
     bool HandlesUnwind;
     bool HandlesExceptions;
     int LastFrameInst;
-    MCWin64EHUnwindInfo *ChainedParent;
+    MCWinFrameInfo *ChainedParent;
     std::vector<MCWin64EHInstruction> Instructions;
   };
 
@@ -86,7 +86,7 @@ namespace llvm {
     // This emits the unwind info sections (.pdata and .xdata in PE/COFF).
     //
     static void Emit(MCStreamer &streamer);
-    static void EmitUnwindInfo(MCStreamer &streamer, MCWin64EHUnwindInfo *info);
+    static void EmitUnwindInfo(MCStreamer &streamer, MCWinFrameInfo *info);
   };
 } // end namespace llvm
 

Modified: llvm/trunk/lib/MC/MCAsmStreamer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCAsmStreamer.cpp?rev=212881&r1=212880&r2=212881&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCAsmStreamer.cpp (original)
+++ llvm/trunk/lib/MC/MCAsmStreamer.cpp Sat Jul 12 15:49:09 2014
@@ -1109,7 +1109,7 @@ void MCAsmStreamer::EmitWinEHHandlerData
   // cause the section switch to be visible in the emitted assembly.
   // We only do this so the section switch that terminates the handler
   // data block is visible.
-  MCWin64EHUnwindInfo *CurFrame = getCurrentW64UnwindInfo();
+  MCWinFrameInfo *CurFrame = getCurrentW64UnwindInfo();
   StringRef suffix=MCWin64EHUnwindEmitter::GetSectionSuffix(CurFrame->Function);
   const MCSection *xdataSect = getWin64EHTableSection(suffix, getContext());
   if (xdataSect)

Modified: llvm/trunk/lib/MC/MCStreamer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCStreamer.cpp?rev=212881&r1=212880&r2=212881&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCStreamer.cpp (original)
+++ llvm/trunk/lib/MC/MCStreamer.cpp Sat Jul 12 15:49:09 2014
@@ -414,22 +414,22 @@ void MCStreamer::EmitCFIWindowSave() {
   CurFrame->Instructions.push_back(Instruction);
 }
 
-void MCStreamer::setCurrentW64UnwindInfo(MCWin64EHUnwindInfo *Frame) {
+void MCStreamer::setCurrentW64UnwindInfo(MCWinFrameInfo *Frame) {
   W64UnwindInfos.push_back(Frame);
   CurrentW64UnwindInfo = W64UnwindInfos.back();
 }
 
 void MCStreamer::EnsureValidW64UnwindInfo() {
-  MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+  MCWinFrameInfo *CurFrame = CurrentW64UnwindInfo;
   if (!CurFrame || CurFrame->End)
     report_fatal_error("No open Win64 EH frame function!");
 }
 
 void MCStreamer::EmitWinCFIStartProc(const MCSymbol *Symbol) {
-  MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+  MCWinFrameInfo *CurFrame = CurrentW64UnwindInfo;
   if (CurFrame && !CurFrame->End)
     report_fatal_error("Starting a function before ending the previous one!");
-  MCWin64EHUnwindInfo *Frame = new MCWin64EHUnwindInfo;
+  MCWinFrameInfo *Frame = new MCWinFrameInfo;
   Frame->Begin = getContext().CreateTempSymbol();
   Frame->Function = Symbol;
   EmitLabel(Frame->Begin);
@@ -438,7 +438,7 @@ void MCStreamer::EmitWinCFIStartProc(con
 
 void MCStreamer::EmitWinCFIEndProc() {
   EnsureValidW64UnwindInfo();
-  MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+  MCWinFrameInfo *CurFrame = CurrentW64UnwindInfo;
   if (CurFrame->ChainedParent)
     report_fatal_error("Not all chained regions terminated!");
   CurFrame->End = getContext().CreateTempSymbol();
@@ -447,8 +447,8 @@ void MCStreamer::EmitWinCFIEndProc() {
 
 void MCStreamer::EmitWinCFIStartChained() {
   EnsureValidW64UnwindInfo();
-  MCWin64EHUnwindInfo *Frame = new MCWin64EHUnwindInfo;
-  MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+  MCWinFrameInfo *Frame = new MCWinFrameInfo;
+  MCWinFrameInfo *CurFrame = CurrentW64UnwindInfo;
   Frame->Begin = getContext().CreateTempSymbol();
   Frame->Function = CurFrame->Function;
   Frame->ChainedParent = CurFrame;
@@ -458,7 +458,7 @@ void MCStreamer::EmitWinCFIStartChained(
 
 void MCStreamer::EmitWinCFIEndChained() {
   EnsureValidW64UnwindInfo();
-  MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+  MCWinFrameInfo *CurFrame = CurrentW64UnwindInfo;
   if (!CurFrame->ChainedParent)
     report_fatal_error("End of a chained region outside a chained region!");
   CurFrame->End = getContext().CreateTempSymbol();
@@ -469,7 +469,7 @@ void MCStreamer::EmitWinCFIEndChained()
 void MCStreamer::EmitWinEHHandler(const MCSymbol *Sym, bool Unwind,
                                   bool Except) {
   EnsureValidW64UnwindInfo();
-  MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+  MCWinFrameInfo *CurFrame = CurrentW64UnwindInfo;
   if (CurFrame->ChainedParent)
     report_fatal_error("Chained unwind areas can't have handlers!");
   CurFrame->ExceptionHandler = Sym;
@@ -483,14 +483,14 @@ void MCStreamer::EmitWinEHHandler(const
 
 void MCStreamer::EmitWinEHHandlerData() {
   EnsureValidW64UnwindInfo();
-  MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+  MCWinFrameInfo *CurFrame = CurrentW64UnwindInfo;
   if (CurFrame->ChainedParent)
     report_fatal_error("Chained unwind areas can't have handlers!");
 }
 
 void MCStreamer::EmitWinCFIPushReg(unsigned Register) {
   EnsureValidW64UnwindInfo();
-  MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+  MCWinFrameInfo *CurFrame = CurrentW64UnwindInfo;
   MCSymbol *Label = getContext().CreateTempSymbol();
   MCWin64EHInstruction Inst(Win64EH::UOP_PushNonVol, Label, Register);
   EmitLabel(Label);
@@ -499,7 +499,7 @@ void MCStreamer::EmitWinCFIPushReg(unsig
 
 void MCStreamer::EmitWinCFISetFrame(unsigned Register, unsigned Offset) {
   EnsureValidW64UnwindInfo();
-  MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+  MCWinFrameInfo *CurFrame = CurrentW64UnwindInfo;
   if (CurFrame->LastFrameInst >= 0)
     report_fatal_error("Frame register and offset already specified!");
   if (Offset & 0x0F)
@@ -519,7 +519,7 @@ void MCStreamer::EmitWinCFIAllocStack(un
     report_fatal_error("Allocation size must be non-zero!");
   if (Size & 7)
     report_fatal_error("Misaligned stack allocation!");
-  MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+  MCWinFrameInfo *CurFrame = CurrentW64UnwindInfo;
   MCSymbol *Label = getContext().CreateTempSymbol();
   MCWin64EHInstruction Inst(Label, Size);
   EmitLabel(Label);
@@ -530,7 +530,7 @@ void MCStreamer::EmitWinCFISaveReg(unsig
   EnsureValidW64UnwindInfo();
   if (Offset & 7)
     report_fatal_error("Misaligned saved register offset!");
-  MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+  MCWinFrameInfo *CurFrame = CurrentW64UnwindInfo;
   MCSymbol *Label = getContext().CreateTempSymbol();
   MCWin64EHInstruction Inst(
      Offset > 512*1024-8 ? Win64EH::UOP_SaveNonVolBig : Win64EH::UOP_SaveNonVol,
@@ -543,7 +543,7 @@ void MCStreamer::EmitWinCFISaveXMM(unsig
   EnsureValidW64UnwindInfo();
   if (Offset & 0x0F)
     report_fatal_error("Misaligned saved vector register offset!");
-  MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+  MCWinFrameInfo *CurFrame = CurrentW64UnwindInfo;
   MCSymbol *Label = getContext().CreateTempSymbol();
   MCWin64EHInstruction Inst(
     Offset > 512*1024-16 ? Win64EH::UOP_SaveXMM128Big : Win64EH::UOP_SaveXMM128,
@@ -554,7 +554,7 @@ void MCStreamer::EmitWinCFISaveXMM(unsig
 
 void MCStreamer::EmitWinCFIPushFrame(bool Code) {
   EnsureValidW64UnwindInfo();
-  MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+  MCWinFrameInfo *CurFrame = CurrentW64UnwindInfo;
   if (CurFrame->Instructions.size() > 0)
     report_fatal_error("If present, PushMachFrame must be the first UOP");
   MCSymbol *Label = getContext().CreateTempSymbol();
@@ -565,7 +565,7 @@ void MCStreamer::EmitWinCFIPushFrame(boo
 
 void MCStreamer::EmitWinCFIEndProlog() {
   EnsureValidW64UnwindInfo();
-  MCWin64EHUnwindInfo *CurFrame = CurrentW64UnwindInfo;
+  MCWinFrameInfo *CurFrame = CurrentW64UnwindInfo;
   CurFrame->PrologEnd = getContext().CreateTempSymbol();
   EmitLabel(CurFrame->PrologEnd);
 }

Modified: llvm/trunk/lib/MC/MCWin64EH.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCWin64EH.cpp?rev=212881&r1=212880&r2=212881&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCWin64EH.cpp (original)
+++ llvm/trunk/lib/MC/MCWin64EH.cpp Sat Jul 12 15:49:09 2014
@@ -138,7 +138,7 @@ static void EmitSymbolRefWithOfs(MCStrea
 }
 
 static void EmitRuntimeFunction(MCStreamer &streamer,
-                                const MCWin64EHUnwindInfo *info) {
+                                const MCWinFrameInfo *info) {
   MCContext &context = streamer.getContext();
 
   streamer.EmitValueToAlignment(4);
@@ -149,7 +149,7 @@ static void EmitRuntimeFunction(MCStream
                                              context), 4);
 }
 
-static void EmitUnwindInfo(MCStreamer &streamer, MCWin64EHUnwindInfo *info) {
+static void EmitUnwindInfo(MCStreamer &streamer, MCWinFrameInfo *info) {
   // If this UNWIND_INFO already has a symbol, it's already been emitted.
   if (info->Symbol) return;
 
@@ -259,7 +259,7 @@ static const MCSection *getWin64EHFuncTa
 }
 
 void MCWin64EHUnwindEmitter::EmitUnwindInfo(MCStreamer &streamer,
-                                            MCWin64EHUnwindInfo *info) {
+                                            MCWinFrameInfo *info) {
   // Switch sections (the static function above is meant to be called from
   // here and from Emit().
   MCContext &context = streamer.getContext();





More information about the llvm-commits mailing list