summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2014-03-27 20:45:41 +0000
committerDavid Blaikie <dblaikie@gmail.com>2014-03-27 20:45:41 +0000
commit8040d49d85fd0a7c26fdbc2676afe4556d12f15a (patch)
tree501c90479de2917983fb6d9169e17bf815504d16
parent0c0cd3a4ee0a9bf48b396b2c94bbd0504f2e0e57 (diff)
downloadllvm-8040d49d85fd0a7c26fdbc2676afe4556d12f15a.tar.gz
llvm-8040d49d85fd0a7c26fdbc2676afe4556d12f15a.tar.bz2
llvm-8040d49d85fd0a7c26fdbc2676afe4556d12f15a.tar.xz
DebugInfo: TargetOptions/MCAsmInfo support for compressed debug info sections
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204957 91177308-0d34-0410-b5e6-96231b3b80d8
-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;
}