test: Add a lit config variable to check if LTO is enabled.
authorDaniel Dunbar <daniel@zuster.org>
Thu, 18 Oct 2012 20:43:11 +0000 (20:43 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Thu, 18 Oct 2012 20:43:11 +0000 (20:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166225 91177308-0d34-0410-b5e6-96231b3b80d8

test/Makefile
test/lit.cfg
test/lit.site.cfg.in

index 3c6b5b68a4ff788fab862fbd12efbbebf663e764..810fdded465a698830ee41ae328a2e5616869eae 100644 (file)
@@ -117,6 +117,16 @@ else
 ENABLE_ASSERTIONS=1
 endif
 
+# Derive whether or not LTO is enabled by checking the extra options.
+LTO_IS_ENABLED := 0
+ifneq ($(findstring -flto,$(CompileCommonOpts)),)
+LTO_IS_ENABLED := 1
+else
+ifneq ($(findstring -O4,$(CompileCommonOpts)),)
+LTO_IS_ENABLED := 1
+endif
+endif
+
 lit.site.cfg: FORCE
        @echo "Making LLVM 'lit.site.cfg' file..."
        @$(ECHOPATH) s=@TARGET_TRIPLE@=$(TARGET_TRIPLE)=g > lit.tmp
@@ -129,6 +139,7 @@ lit.site.cfg: FORCE
        @$(ECHOPATH) s=@OCAMLOPT@=$(OCAMLOPT) -cc $(subst *,'\\\"',*$(subst =,"\\=",$(CXX_FOR_OCAMLOPT))*) -I $(LibDir)/ocaml=g >> lit.tmp
        @$(ECHOPATH) s=@ENABLE_SHARED@=$(ENABLE_SHARED)=g >> lit.tmp
        @$(ECHOPATH) s=@ENABLE_ASSERTIONS@=$(ENABLE_ASSERTIONS)=g >> lit.tmp
+       @$(ECHOPATH) s=@LTO_IS_ENABLED@=$(LTO_IS_ENABLED)=g >> lit.tmp
        @$(ECHOPATH) s=@TARGETS_TO_BUILD@=$(TARGETS_TO_BUILD)=g >> lit.tmp
        @$(ECHOPATH) s=@LLVM_BINDINGS@=$(BINDINGS_TO_BUILD)=g >> lit.tmp
        @$(ECHOPATH) s=@HOST_OS@=$(HOST_OS)=g >> lit.tmp
index f24a854dc7a9d8fdbdb230f77dfca36dc0dc4fff..9273cd7b930d9e96415b49476d6713d7f2975e83 100644 (file)
@@ -245,6 +245,10 @@ else:
 if loadable_module:
     config.available_features.add('loadable_module')
 
+# LTO
+if config.lto_is_enabled == "1":
+    config.available_features.add('lto')
+
 # llc knows whether he is compiled with -DNDEBUG.
 import subprocess
 try:
index 178b22f10f3367dc49d3e2f9dbf788dbac826113..2bbe63e6348ecb8b633b6f1f538e76f47c1b778c 100644 (file)
@@ -11,6 +11,7 @@ config.python_executable = "@PYTHON_EXECUTABLE@"
 config.ocamlopt_executable = "@OCAMLOPT@"
 config.enable_shared = @ENABLE_SHARED@
 config.enable_assertions = @ENABLE_ASSERTIONS@
+config.lto_is_enabled = "@LTO_IS_ENABLED@"
 config.targets_to_build = "@TARGETS_TO_BUILD@"
 config.llvm_bindings = "@LLVM_BINDINGS@"
 config.host_os = "@HOST_OS@"