summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/MC/MCAsmInfo.h9
-rw-r--r--include/llvm/Target/TargetOptions.h7
-rw-r--r--lib/CodeGen/LLVMTargetMachine.cpp3
3 files changed, 17 insertions, 2 deletions
diff --git a/include/llvm/MC/MCAsmInfo.h b/include/llvm/MC/MCAsmInfo.h
index 0ecffa34bd..724c3d7f38 100644
--- a/include/llvm/MC/MCAsmInfo.h
+++ b/include/llvm/MC/MCAsmInfo.h
@@ -307,6 +307,9 @@ namespace llvm {
/// construction (see LLVMTargetMachine::initAsmInfo()).
bool UseIntegratedAssembler;
+ /// Compress DWARF debug sections. Defaults to false.
+ bool CompressDebugSections;
+
public:
explicit MCAsmInfo();
virtual ~MCAsmInfo();
@@ -538,6 +541,12 @@ namespace llvm {
virtual void setUseIntegratedAssembler(bool Value) {
UseIntegratedAssembler = Value;
}
+
+ bool compressDebugSections() const { return CompressDebugSections; }
+
+ void setCompressDebugSections(bool CompressDebugSections) {
+ this->CompressDebugSections = CompressDebugSections;
+ }
};
}
diff --git a/include/llvm/Target/TargetOptions.h b/include/llvm/Target/TargetOptions.h
index f50af6734b..1f873439c6 100644
--- a/include/llvm/Target/TargetOptions.h
+++ b/include/llvm/Target/TargetOptions.h
@@ -50,8 +50,8 @@ namespace llvm {
DisableTailCalls(false), StackAlignmentOverride(0),
EnableFastISel(false), PositionIndependentExecutable(false),
EnableSegmentedStacks(false), UseInitArray(false),
- DisableIntegratedAS(false), TrapFuncName(""),
- FloatABIType(FloatABI::Default),
+ DisableIntegratedAS(false), CompressDebugSections(false),
+ TrapFuncName(""), FloatABIType(FloatABI::Default),
AllowFPOpFusion(FPOpFusion::Standard) {}
/// PrintMachineCode - This flag is enabled when the -print-machineinstrs
@@ -161,6 +161,9 @@ namespace llvm {
/// Disable the integrated assembler.
unsigned DisableIntegratedAS : 1;
+ /// Compress DWARF debug sections.
+ unsigned CompressDebugSections : 1;
+
/// getTrapFunctionName - If this returns a non-empty string, this means
/// isel should lower Intrinsic::trap to a call to the specified function
/// name instead of an ISD::TRAP node.
diff --git a/lib/CodeGen/LLVMTargetMachine.cpp b/lib/CodeGen/LLVMTargetMachine.cpp
index 77f8377d9b..9c2718be7f 100644
--- a/lib/CodeGen/LLVMTargetMachine.cpp
+++ b/lib/CodeGen/LLVMTargetMachine.cpp
@@ -75,6 +75,9 @@ void LLVMTargetMachine::initAsmInfo() {
if (Options.DisableIntegratedAS)
TmpAsmInfo->setUseIntegratedAssembler(false);
+ if (Options.CompressDebugSections)
+ TmpAsmInfo->setCompressDebugSections(true);
+
AsmInfo = TmpAsmInfo;
}