mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 21:00:29 +00:00
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:
parent
6222076cd1
commit
eb15d2084a
2
Makefile
2
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
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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>
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user