aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Target
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2007-01-17 10:33:08 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2007-01-17 10:33:08 +0000
commit5032e5a61381437174e035de2a7dd728978f7bd5 (patch)
treed3490b98b33a202ee2b2a399692d9c7b169ac1c8 /include/llvm/Target
parente911615c4769d793588087b5321d303ecb9661c7 (diff)
downloadexternal_llvm-5032e5a61381437174e035de2a7dd728978f7bd5.zip
external_llvm-5032e5a61381437174e035de2a7dd728978f7bd5.tar.gz
external_llvm-5032e5a61381437174e035de2a7dd728978f7bd5.tar.bz2
* Fix one more bug in PIC codegen: extra load is needed for *all*
non-statics. * Introduce new option to output zero-initialized data to .bss section. This can reduce size of binaries. Enable it by default for ELF & Cygwin/Mingw targets. Probably, Darwin should be also added. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33299 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target')
-rw-r--r--include/llvm/Target/TargetAsmInfo.h7
-rw-r--r--include/llvm/Target/TargetOptions.h2
2 files changed, 9 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetAsmInfo.h b/include/llvm/Target/TargetAsmInfo.h
index 6d80a7e..1b95789 100644
--- a/include/llvm/Target/TargetAsmInfo.h
+++ b/include/llvm/Target/TargetAsmInfo.h
@@ -38,6 +38,10 @@ namespace llvm {
/// DataSection - Section directive for standard data.
///
const char *DataSection; // Defaults to ".data".
+
+ /// BSSSection - Section directive for uninitialized data.
+ ///
+ const char *BSSSection; // Default to ".bss".
/// AddressSize - Size of addresses used in file.
///
@@ -313,6 +317,9 @@ namespace llvm {
const char *getDataSection() const {
return DataSection;
}
+ const char *getBSSSection() const {
+ return BSSSection;
+ }
unsigned getAddressSize() const {
return AddressSize;
}
diff --git a/include/llvm/Target/TargetOptions.h b/include/llvm/Target/TargetOptions.h
index 4d21b0b..89234de 100644
--- a/include/llvm/Target/TargetOptions.h
+++ b/include/llvm/Target/TargetOptions.h
@@ -54,6 +54,8 @@ namespace llvm {
/// generate libcalls to the software floating point library instead of
/// target FP instructions.
extern bool UseSoftFloat;
+
+ extern bool NoZerosInBSS;
} // End llvm namespace
#endif