return TLOF->isFunctionEHFrameSymbolPrivate();
}
- bool getSupportsCompactUnwindInfo() const {
- return TLOF->getSupportsCompactUnwindInfo();
- }
-
const unsigned *getCalleeSavedRegs(MachineFunction *MF = 0) const {
return TRI->getCalleeSavedRegs(MF);
}
/// non-.globl label. This defaults to true.
bool IsFunctionEHFrameSymbolPrivate;
- /// SupportsCompactUnwindInfo - This flag is set to true if the CIE and FDE
- /// information should be emitted in a compact form.
- bool SupportsCompactUnwindInfo;
-
public:
MCContext &getContext() const { return *Ctx; }
bool getCommDirectiveSupportsAlignment() const {
return CommDirectiveSupportsAlignment;
}
- bool getSupportsCompactUnwindInfo() const {
- return SupportsCompactUnwindInfo;
- }
const MCSection *getTextSection() const { return TextSection; }
const MCSection *getDataSection() const { return DataSection; }
// .comm doesn't support alignment before Leopard.
Triple T(((LLVMTargetMachine&)TM).getTargetTriple());
- if (T.isMacOSX()) {
- if (T.isMacOSXVersionLT(10, 5))
- CommDirectiveSupportsAlignment = false;
- if (!T.isMacOSXVersionLT(10, 6))
- SupportsCompactUnwindInfo = true;
- }
+ if (T.isMacOSX() && T.isMacOSXVersionLT(10, 5))
+ CommDirectiveSupportsAlignment = false;
TargetLoweringObjectFile::Initialize(Ctx, TM);
LSDASection = getContext().getMachOSection("__TEXT", "__gcc_except_tab", 0,
SectionKind::getReadOnlyWithRel());
- CompactUnwindSection =
- getContext().getMachOSection("__LD", "__compact_unwind",
- MCSectionMachO::S_ATTR_DEBUG,
- SectionKind::getReadOnly());
+ if (T.isMacOSX() && !T.isMacOSXVersionLT(10, 6))
+ CompactUnwindSection =
+ getContext().getMachOSection("__LD", "__compact_unwind",
+ MCSectionMachO::S_ATTR_DEBUG,
+ SectionKind::getReadOnly());
// Debug Information.
DwarfAbbrevSection =
CIEKey key(frame.Personality, frame.PersonalityEncoding,
frame.LsdaEncoding);
const MCSymbol *&cieStart = isEH ? CIEStarts[key] : DummyDebugKey;
- if (isEH && asmInfo.getSupportsCompactUnwindInfo() &&
+ if (isEH && asmInfo.getCompactUnwindSection() &&
Emitter.EmitCompactUnwind(streamer, frame))
continue;
IsFunctionEHFrameSymbolPrivate = true;
SupportsWeakOmittedEHFrame = true;
- SupportsCompactUnwindInfo = false;
}
TargetLoweringObjectFile::~TargetLoweringObjectFile() {