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.

llvm-svn: 107758
This commit is contained in:
Duncan Sands 2010-07-07 07:48:00 +00:00
parent 6222076cd1
commit eb15d2084a
6 changed files with 15 additions and 16 deletions

View File

@ -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

View File

@ -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

View File

@ -213,13 +213,13 @@ Building the Release</a></div>
<div class="doc_text">
The build of <tt>llvm</tt>, <tt>llvm-gcc</tt>, and <tt>clang</tt> 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.
<ol>
<li>debug: ENABLE_OPTIMIZED=0</li>
<li>release: ENABLE_OPTIMIZED=1</li>
<li>release-asserts: ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1</li>
<li>release+asserts: ENABLE_OPTIMIZED=1</li>
<li>release: ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1</li>
</ol>
</div>
@ -227,7 +227,7 @@ If all builds are clean, then the release passes build qualification.
<div class="doc_subsubsection"><a name="build">Build LLVM</a></div>
<div class="doc_text">
<p>
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
<a href="http://llvm.org/docs/GettingStarted.html#quickstart">here</a>.
</p>
@ -264,7 +264,7 @@ If all builds are clean, then the release passes build qualification.
Binary Distribution</a></div>
<div class="doc_text">
<p>
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:
</p>
@ -429,7 +429,7 @@ Qualification Details</a></div>
</a></div>
<div class="doc_text">
<p>
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.</p>
<p>FIXME: Add a note if anything needs to be done to the clang website.

View File

@ -652,7 +652,7 @@
the profiled tools (<tt>gmon.out</tt>).</dd>
<dt><a name="DISABLE_ASSERTIONS"><tt>DISABLE_ASSERTIONS</tt></a></dt>
<dd>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.</dd>
<dt><a name="EXPERIMENTAL_DIRS"><tt>EXPERIMENTAL_DIRS</tt></a></dt>

View File

@ -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.

View File

@ -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