Use the CompactUnwindEncoding from the Frame, if it's defined.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135451 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2011-07-19 00:06:12 +00:00
parent e060a5cd06
commit e52e3f2c02

View File

@ -687,9 +687,6 @@ void FrameEmitterImpl::EmitCFIInstructions(MCStreamer &streamer,
/// normal CIE and FDE. /// normal CIE and FDE.
bool FrameEmitterImpl::EmitCompactUnwind(MCStreamer &Streamer, bool FrameEmitterImpl::EmitCompactUnwind(MCStreamer &Streamer,
const MCDwarfFrameInfo &Frame) { const MCDwarfFrameInfo &Frame) {
#if 1
return false;
#else
MCContext &Context = Streamer.getContext(); MCContext &Context = Streamer.getContext();
const TargetAsmInfo &TAI = Context.getTargetAsmInfo(); const TargetAsmInfo &TAI = Context.getTargetAsmInfo();
bool VerboseAsm = Streamer.isVerboseAsm(); bool VerboseAsm = Streamer.isVerboseAsm();
@ -716,9 +713,7 @@ bool FrameEmitterImpl::EmitCompactUnwind(MCStreamer &Streamer,
// .quad __gxx_personality // .quad __gxx_personality
// .quad except_tab1 // .quad except_tab1
uint32_t Encoding = uint32_t Encoding = Frame.CompactUnwindEncoding;
TAI.getCompactUnwindEncoding(Frame.Instructions,
getDataAlignmentFactor(Streamer), IsEH);
if (!Encoding) return false; if (!Encoding) return false;
// The encoding needs to know we have an LSDA. // The encoding needs to know we have an LSDA.
@ -745,6 +740,7 @@ bool FrameEmitterImpl::EmitCompactUnwind(MCStreamer &Streamer,
Twine(llvm::utohexstr(Encoding))); Twine(llvm::utohexstr(Encoding)));
Streamer.EmitIntValue(Encoding, Size); Streamer.EmitIntValue(Encoding, Size);
// Personality Function // Personality Function
Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_absptr); Size = getSizeForEncoding(Streamer, dwarf::DW_EH_PE_absptr);
if (VerboseAsm) Streamer.AddComment("Personality Function"); if (VerboseAsm) Streamer.AddComment("Personality Function");
@ -762,7 +758,6 @@ bool FrameEmitterImpl::EmitCompactUnwind(MCStreamer &Streamer,
Streamer.EmitIntValue(0, Size); // No LSDA Streamer.EmitIntValue(0, Size); // No LSDA
return true; return true;
#endif
} }
const MCSymbol &FrameEmitterImpl::EmitCIE(MCStreamer &streamer, const MCSymbol &FrameEmitterImpl::EmitCIE(MCStreamer &streamer,