diff options
author | Venkatraman Govindaraju <venkatra@cs.wisc.edu> | 2013-09-26 14:49:40 +0000 |
---|---|---|
committer | Venkatraman Govindaraju <venkatra@cs.wisc.edu> | 2013-09-26 14:49:40 +0000 |
commit | 83ba58e5f0a5afbb23d7d2092d817accded4455a (patch) | |
tree | e5060436fd0f6aa01caeb7a73e3ea6b156fdf167 /include/llvm | |
parent | 268c743a3ba44ada364938bc5ff9b1be219df54f (diff) | |
download | external_llvm-83ba58e5f0a5afbb23d7d2092d817accded4455a.zip external_llvm-83ba58e5f0a5afbb23d7d2092d817accded4455a.tar.gz external_llvm-83ba58e5f0a5afbb23d7d2092d817accded4455a.tar.bz2 |
Implements parsing and emitting of .cfi_window_save in MC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191431 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r-- | include/llvm/MC/MCDwarf.h | 8 | ||||
-rw-r--r-- | include/llvm/MC/MCStreamer.h | 1 |
2 files changed, 8 insertions, 1 deletions
diff --git a/include/llvm/MC/MCDwarf.h b/include/llvm/MC/MCDwarf.h index 7a06cc0..65b920b 100644 --- a/include/llvm/MC/MCDwarf.h +++ b/include/llvm/MC/MCDwarf.h @@ -290,7 +290,8 @@ public: OpEscape, OpRestore, OpUndefined, - OpRegister + OpRegister, + OpWindowSave }; private: @@ -364,6 +365,11 @@ public: return MCCFIInstruction(OpRegister, L, Register1, Register2); } + /// \brief .cfi_window_save SPARC register window is saved. + static MCCFIInstruction createWindowSave(MCSymbol *L) { + return MCCFIInstruction(OpWindowSave, L, 0, 0, ""); + } + /// \brief .cfi_restore says that the rule for Register is now the same as it /// was at the beginning of the function, after all initial instructions added /// by .cfi_startproc were executed. diff --git a/include/llvm/MC/MCStreamer.h b/include/llvm/MC/MCStreamer.h index 8cb5c49..a5f8bc0 100644 --- a/include/llvm/MC/MCStreamer.h +++ b/include/llvm/MC/MCStreamer.h @@ -578,6 +578,7 @@ public: virtual void EmitCFISignalFrame(); virtual void EmitCFIUndefined(int64_t Register); virtual void EmitCFIRegister(int64_t Register1, int64_t Register2); + virtual void EmitCFIWindowSave(); virtual void EmitWin64EHStartProc(const MCSymbol *Symbol); virtual void EmitWin64EHEndProc(); |