From 8246adc1f0e2d28374da3aeab864aee5ff03f3ff Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Wed, 7 Jul 2010 07:48:00 +0000 Subject: [PATCH] Rename "Release" builds as "Release+Asserts"; rename "Release-Asserts" builds to "Release". The default build is unchanged (optimization on, assertions on), however it is now called Release+Asserts. The intent is that future LLVM releases released via llvm.org will be Release builds in the new sense, i.e. will have assertions disabled (currently they have assertions enabled, for a more than 20% slowdown). This will bring them in line with MacOS releases, which ship with assertions disabled. It also means that "Release" now means the same things in make and cmake builds: cmake already disables assertions for "Release" builds AFAICS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107758 91177308-0d34-0410-b5e6-96231b3b80d8 --- Makefile | 2 +- Makefile.rules | 9 ++++----- docs/HowToReleaseLLVM.html | 12 ++++++------ docs/MakefileGuide.html | 2 +- lib/Transforms/IPO/MergeFunctions.cpp | 2 +- utils/NewNightlyTest.pl | 4 ++-- 6 files changed, 15 insertions(+), 16 deletions(-) diff --git a/Makefile b/Makefile index 2b2c97dd4af..1ecdc2c585b 100644 --- a/Makefile +++ b/Makefile @@ -180,7 +180,7 @@ $(FilesToConfigPATH) : $(LLVM_OBJ_ROOT)/% : $(LLVM_SRC_ROOT)/%.in # that it gets executed last. ifneq ($(BUILD_DIRS_ONLY),1) all:: - $(Echo) '*****' Completed $(BuildMode)$(AssertMode) Build + $(Echo) '*****' Completed $(BuildMode) Build ifeq ($(BuildMode),Debug) $(Echo) '*****' Note: Debug build can be 10 times slower than an $(Echo) '*****' optimized build. Use 'make ENABLE_OPTIMIZED=1' to diff --git a/Makefile.rules b/Makefile.rules index 14b5ce9719d..dc15c921ffc 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -398,12 +398,11 @@ endif # If DISABLE_ASSERTIONS=1 is specified (make command line or configured), # then disable assertions by defining the appropriate preprocessor symbols. -ifdef DISABLE_ASSERTIONS - # Indicate that assertions are turned off using a minus sign - BuildMode := $(BuildMode)-Asserts - CPP.Defines += -DNDEBUG -else +ifndef DISABLE_ASSERTIONS + BuildMode := $(BuildMode)+Asserts CPP.Defines += -D_DEBUG +else + CPP.Defines += -DNDEBUG endif # If ENABLE_EXPENSIVE_CHECKS=1 is specified (make command line or diff --git a/docs/HowToReleaseLLVM.html b/docs/HowToReleaseLLVM.html index c0ad6c93813..933b158793b 100644 --- a/docs/HowToReleaseLLVM.html +++ b/docs/HowToReleaseLLVM.html @@ -213,13 +213,13 @@ Building the Release
The build of llvm, llvm-gcc, and clang must be free -of errors and warnings in both debug, release, and release-asserts builds. +of errors and warnings in both debug, release+asserts, and release builds. If all builds are clean, then the release passes build qualification.
  1. debug: ENABLE_OPTIMIZED=0
  2. -
  3. release: ENABLE_OPTIMIZED=1
  4. -
  5. release-asserts: ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1
  6. +
  7. release+asserts: ENABLE_OPTIMIZED=1
  8. +
  9. release: ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1
@@ -227,7 +227,7 @@ If all builds are clean, then the release passes build qualification.
Build LLVM

- Build both debug, release (optimized), and release-asserts versions of + Build both debug, release+asserts (optimized), and release versions of LLVM on all supported platforms. Direction to build llvm are here.

@@ -264,7 +264,7 @@ If all builds are clean, then the release passes build qualification. Binary Distribution

- Creating the Clang binary distribution (debug/release/release-asserts) requires + Creating the Clang binary distribution (debug/release/release) requires performing the following steps for each supported platform:

@@ -429,7 +429,7 @@ Qualification Details

- The final stages of the release process involving taging the release branch, + The final stages of the release process involving tagging the release branch, updating documentation that refers to the release, and updating the demo page.

FIXME: Add a note if anything needs to be done to the clang website. diff --git a/docs/MakefileGuide.html b/docs/MakefileGuide.html index b1f8292831e..5838250f0ae 100644 --- a/docs/MakefileGuide.html +++ b/docs/MakefileGuide.html @@ -652,7 +652,7 @@ the profiled tools (gmon.out).

DISABLE_ASSERTIONS
If set to any value, causes the build to disable assertions, even if - building a release or profile build. This will exclude all assertion check + building a debug or profile build. This will exclude all assertion check code from the build. LLVM will execute faster, but with little help when things go wrong.
EXPERIMENTAL_DIRS
diff --git a/lib/Transforms/IPO/MergeFunctions.cpp b/lib/Transforms/IPO/MergeFunctions.cpp index 74bb2c85ced..55d5e2ac4ab 100644 --- a/lib/Transforms/IPO/MergeFunctions.cpp +++ b/lib/Transforms/IPO/MergeFunctions.cpp @@ -146,7 +146,7 @@ static bool isEquivalentType(const Type *Ty1, const Type *Ty2) { switch(Ty1->getTypeID()) { default: llvm_unreachable("Unknown type!"); - // Fall through in Release-Asserts mode. + // Fall through in Release mode. case Type::IntegerTyID: case Type::OpaqueTyID: // Ty1 == Ty2 would have returned true earlier. diff --git a/utils/NewNightlyTest.pl b/utils/NewNightlyTest.pl index 4287cc1da54..1b48168262a 100755 --- a/utils/NewNightlyTest.pl +++ b/utils/NewNightlyTest.pl @@ -47,8 +47,8 @@ use Socket; # -noclean Do not run 'make clean' before building. # -nobuild Do not build llvm. If tests are enabled perform them # on the llvm build specified in the build directory -# -release Build an LLVM Release version -# -release-asserts Build an LLVM ReleaseAsserts version +# -release Build an LLVM Release+Asserts version +# -release-asserts Build an LLVM Release version # -disable-bindings Disable building LLVM bindings. # -with-clang Checkout Clang source into tools/clang. # -compileflags Next argument specifies extra options passed to make when -- 2.34.1