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
diff --git a/Makefile b/Makefile
index 2b2c97d..1ecdc2c 100644
--- a/Makefile
+++ b/Makefile
@@ -180,7 +180,7 @@
 # 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 14b5ce9..dc15c92 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -398,12 +398,11 @@
 
 # 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 c0ad6c9..933b158 100644
--- a/docs/HowToReleaseLLVM.html
+++ b/docs/HowToReleaseLLVM.html
@@ -213,13 +213,13 @@
 
 <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 @@
 <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 @@
 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 @@
 </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. 
diff --git a/docs/MakefileGuide.html b/docs/MakefileGuide.html
index b1f8292..5838250 100644
--- a/docs/MakefileGuide.html
+++ b/docs/MakefileGuide.html
@@ -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>
diff --git a/lib/Transforms/IPO/MergeFunctions.cpp b/lib/Transforms/IPO/MergeFunctions.cpp
index 74bb2c8..55d5e2a 100644
--- a/lib/Transforms/IPO/MergeFunctions.cpp
+++ b/lib/Transforms/IPO/MergeFunctions.cpp
@@ -146,7 +146,7 @@
   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 4287cc1..1b48168 100755
--- a/utils/NewNightlyTest.pl
+++ b/utils/NewNightlyTest.pl
@@ -47,8 +47,8 @@
 #  -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