From 99094151811bbbabadc2f9991d270b54c76083d6 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Thu, 18 Oct 2012 20:43:11 +0000 Subject: [PATCH] test: Add a lit config variable to check if LTO is enabled. llvm-svn: 166225 --- llvm/test/Makefile | 11 +++++++++++ llvm/test/lit.cfg | 4 ++++ llvm/test/lit.site.cfg.in | 1 + 3 files changed, 16 insertions(+) diff --git a/llvm/test/Makefile b/llvm/test/Makefile index 3c6b5b68a4ff..810fdded465a 100644 --- a/llvm/test/Makefile +++ b/llvm/test/Makefile @@ -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 diff --git a/llvm/test/lit.cfg b/llvm/test/lit.cfg index f24a854dc7a9..9273cd7b930d 100644 --- a/llvm/test/lit.cfg +++ b/llvm/test/lit.cfg @@ -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: diff --git a/llvm/test/lit.site.cfg.in b/llvm/test/lit.site.cfg.in index 178b22f10f33..2bbe63e6348e 100644 --- a/llvm/test/lit.site.cfg.in +++ b/llvm/test/lit.site.cfg.in @@ -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@"