diff options
author | Bill Wendling <isanbard@gmail.com> | 2011-07-19 00:06:12 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2011-07-19 00:06:12 +0000 |
commit | 49bc680bdf48a1eebabc283e797fcb75b7c2897a (patch) | |
tree | e4916b407c6f4fb38cb36c8e35acc5d5f3e376a9 /llvm/lib/MC/MCDwarf.cpp | |
parent | b20453faae1d5405148fd62cafcb8d9b4a82725c (diff) | |
download | bcm5719-llvm-49bc680bdf48a1eebabc283e797fcb75b7c2897a.tar.gz bcm5719-llvm-49bc680bdf48a1eebabc283e797fcb75b7c2897a.zip |
Use the CompactUnwindEncoding from the Frame, if it's defined.
llvm-svn: 135451
Diffstat (limited to 'llvm/lib/MC/MCDwarf.cpp')
-rw-r--r-- | llvm/lib/MC/MCDwarf.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/llvm/lib/MC/MCDwarf.cpp b/llvm/lib/MC/MCDwarf.cpp index aba470e17cc..ba3bda0bc9a 100644 --- a/llvm/lib/MC/MCDwarf.cpp +++ b/llvm/lib/MC/MCDwarf.cpp @@ -687,9 +687,6 @@ void FrameEmitterImpl::EmitCFIInstructions(MCStreamer &streamer, /// normal CIE and FDE. bool FrameEmitterImpl::EmitCompactUnwind(MCStreamer &Streamer, const MCDwarfFrameInfo &Frame) { -#if 1 - return false; -#else MCContext &Context = Streamer.getContext(); const TargetAsmInfo &TAI = Context.getTargetAsmInfo(); bool VerboseAsm = Streamer.isVerboseAsm(); @@ -716,9 +713,7 @@ bool FrameEmitterImpl::EmitCompactUnwind(MCStreamer &Streamer, // .quad __gxx_personality // .quad except_tab1 - uint32_t Encoding = - TAI.getCompactUnwindEncoding(Frame.Instructions, - getDataAlignmentFactor(Streamer), IsEH); + uint32_t Encoding = Frame.CompactUnwindEncoding; if (!Encoding) return false; // The encoding needs to know we have an LSDA. @@ -745,6 +740,7 @@ bool FrameEmitterImpl::EmitCompactUnwind(MCStreamer &Streamer, Twine(llvm::utohexstr(Encoding))); Streamer.EmitIntValue(Encoding, Size); + // Personality Function Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_absptr); if (VerboseAsm) Streamer.AddComment("Personality Function"); @@ -762,7 +758,6 @@ bool FrameEmitterImpl::EmitCompactUnwind(MCStreamer &Streamer, Streamer.EmitIntValue(0, Size); // No LSDA return true; -#endif } const MCSymbol &FrameEmitterImpl::EmitCIE(MCStreamer &streamer, |