diff options
author | David Majnemer <david.majnemer@gmail.com> | 2014-01-27 17:20:25 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2014-01-27 17:20:25 +0000 |
commit | 0fd23cd6c240999baa6d34f48b8dce45bb2f3cc6 (patch) | |
tree | b25dec392a84f045a48e0d1d78c511cc7f0fa908 /include | |
parent | bb0bb73da142c765506e2bcd18d68edbfb4e98e0 (diff) | |
download | llvm-0fd23cd6c240999baa6d34f48b8dce45bb2f3cc6.tar.gz llvm-0fd23cd6c240999baa6d34f48b8dce45bb2f3cc6.tar.bz2 llvm-0fd23cd6c240999baa6d34f48b8dce45bb2f3cc6.tar.xz |
MC: Add support for .cfi_startproc simple
This commit allows LLVM MC to process .cfi_startproc directives when
they are followed by an additional `simple' identifier. This signals to
elide the emission of target specific CFI instructions that would
normally occur initially.
This fixes PR16587.
Differential Revision: http://llvm-reviews.chandlerc.com/D2624
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200227 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/MC/MCDwarf.h | 3 | ||||
-rw-r--r-- | include/llvm/MC/MCStreamer.h | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/include/llvm/MC/MCDwarf.h b/include/llvm/MC/MCDwarf.h index 65b920bf23..fd59280f67 100644 --- a/include/llvm/MC/MCDwarf.h +++ b/include/llvm/MC/MCDwarf.h @@ -438,7 +438,7 @@ struct MCDwarfFrameInfo { MCDwarfFrameInfo() : Begin(0), End(0), Personality(0), Lsda(0), Function(0), Instructions(), PersonalityEncoding(), LsdaEncoding(0), CompactUnwindEncoding(0), - IsSignalFrame(false) {} + IsSignalFrame(false), IsSimple(false) {} MCSymbol *Begin; MCSymbol *End; const MCSymbol *Personality; @@ -449,6 +449,7 @@ struct MCDwarfFrameInfo { unsigned LsdaEncoding; uint32_t CompactUnwindEncoding; bool IsSignalFrame; + bool IsSimple; }; class MCDwarfFrameEmitter { diff --git a/include/llvm/MC/MCStreamer.h b/include/llvm/MC/MCStreamer.h index 4055d2b1d6..9a4bafe3cd 100644 --- a/include/llvm/MC/MCStreamer.h +++ b/include/llvm/MC/MCStreamer.h @@ -626,7 +626,7 @@ public: virtual void EmitCompactUnwindEncoding(uint32_t CompactUnwindEncoding); virtual void EmitCFISections(bool EH, bool Debug); - void EmitCFIStartProc(); + void EmitCFIStartProc(bool IsSimple); void EmitCFIEndProc(); virtual void EmitCFIDefCfa(int64_t Register, int64_t Offset); virtual void EmitCFIDefCfaOffset(int64_t Offset); |