mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-31 09:22:31 +00:00
Add a --enable-profiling option to configure to build Debug+Profile and
Opt+Profile tools. Now we can profile any kind of flavor we build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69351 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2ee3db3003
commit
dbefd0c15b
@ -215,7 +215,15 @@ RDYNAMIC := @RDYNAMIC@
|
||||
#ENABLE_OPTIMIZED = 1
|
||||
@ENABLE_OPTIMIZED@
|
||||
|
||||
# When DISABLE_ASSERTIONS is enabled, builds of all of the LLVM code will
|
||||
# When ENABLE_PROFILING is enabled, profile instrumentation is done
|
||||
# and output is put into the "<Flavor>+Profile" directories, where
|
||||
# <Flavor> is either Debug or Release depending on how other builkd
|
||||
# flags are set.. Otherwise, output is put in the <Flavor>
|
||||
# directories.
|
||||
#ENABLE_PROFILING = 1
|
||||
@ENABLE_PROFILING@
|
||||
|
||||
# When DISABLE_ASSERTIONS is enabled, builds of all of the LLVM code will
|
||||
# exclude assertion checks, otherwise they are included.
|
||||
#DISABLE_ASSERTIONS = 1
|
||||
@DISABLE_ASSERTIONS@
|
||||
|
@ -237,37 +237,36 @@ else
|
||||
OPTIMIZE_OPTION := -O3
|
||||
endif
|
||||
|
||||
ifdef ENABLE_PROFILING
|
||||
BuildMode := Profile
|
||||
CXX.Flags += $(OPTIMIZE_OPTION) -pg -g
|
||||
C.Flags += $(OPTIMIZE_OPTION) -pg -g
|
||||
LD.Flags += $(OPTIMIZE_OPTION) -pg -g
|
||||
KEEP_SYMBOLS := 1
|
||||
else
|
||||
ifeq ($(ENABLE_OPTIMIZED),1)
|
||||
BuildMode := Release
|
||||
# Don't use -fomit-frame-pointer on Darwin or FreeBSD.
|
||||
ifneq ($(OS),FreeBSD)
|
||||
ifneq ($(OS),Darwin)
|
||||
OmitFramePointer := -fomit-frame-pointer
|
||||
endif
|
||||
endif
|
||||
|
||||
# Darwin requires -fstrict-aliasing to be explicitly enabled.
|
||||
ifeq ($(OS),Darwin)
|
||||
EXTRA_OPTIONS += -fstrict-aliasing -Wstrict-aliasing
|
||||
endif
|
||||
|
||||
CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
|
||||
C.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
|
||||
LD.Flags += $(OPTIMIZE_OPTION)
|
||||
else
|
||||
BuildMode := Debug
|
||||
CXX.Flags += -g
|
||||
C.Flags += -g
|
||||
LD.Flags += -g
|
||||
KEEP_SYMBOLS := 1
|
||||
ifeq ($(ENABLE_OPTIMIZED),1)
|
||||
BuildMode := Release
|
||||
# Don't use -fomit-frame-pointer on Darwin or FreeBSD.
|
||||
ifneq ($(OS),FreeBSD)
|
||||
ifneq ($(OS),Darwin)
|
||||
OmitFramePointer := -fomit-frame-pointer
|
||||
endif
|
||||
endif
|
||||
|
||||
# Darwin requires -fstrict-aliasing to be explicitly enabled.
|
||||
ifeq ($(OS),Darwin)
|
||||
EXTRA_OPTIONS += -fstrict-aliasing -Wstrict-aliasing
|
||||
endif
|
||||
CXX.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
|
||||
C.Flags += $(OPTIMIZE_OPTION) $(OmitFramePointer)
|
||||
LD.Flags += $(OPTIMIZE_OPTION)
|
||||
else
|
||||
BuildMode := Debug
|
||||
CXX.Flags += -g
|
||||
C.Flags += -g
|
||||
LD.Flags += -g
|
||||
KEEP_SYMBOLS := 1
|
||||
endif
|
||||
|
||||
ifeq ($(ENABLE_PROFILING),1)
|
||||
BuildMode := $(BuildMode)+Profile
|
||||
CXX.Flags := $(filter-out -fomit-frame-pointer,$(CXX.Flags)) -pg -g
|
||||
C.Flags := $(filter-out -fomit-frame-pointer,$(C.Flags)) -pg -g
|
||||
LD.Flags := $(filter-out -fomit-frame-pointer,$(LD.Flags)) -pg -g
|
||||
KEEP_SYMBOLS := 1
|
||||
endif
|
||||
|
||||
#ifeq ($(ENABLE_VISIBILITY_INLINES_HIDDEN),1)
|
||||
|
@ -285,6 +285,15 @@ else
|
||||
AC_SUBST(ENABLE_OPTIMIZED,[[ENABLE_OPTIMIZED=1]])
|
||||
fi
|
||||
|
||||
dnl --enable-profiling : check whether they want to do a profile build:
|
||||
AC_ARG_ENABLE(profiling, AS_HELP_STRING(
|
||||
[--enable-profiling,Compile with profiling enabled (default is NO)]),,enableval="no")
|
||||
if test ${enableval} = "no" ; then
|
||||
AC_SUBST(ENABLE_PROFILING,[[]])
|
||||
else
|
||||
AC_SUBST(ENABLE_PROFILING,[[ENABLE_PROFILING=1]])
|
||||
fi
|
||||
|
||||
dnl --enable-assertions : check whether they want to turn on assertions or not:
|
||||
AC_ARG_ENABLE(assertions,AS_HELP_STRING(
|
||||
[--enable-assertions,Compile with assertion checks enabled (default is YES)]),, enableval="yes")
|
||||
|
Loading…
x
Reference in New Issue
Block a user