Some tweaks to sanitizer builds. (#3663)

- Don't restrict to debug builds. To reproduce issues it may be
necessary to run optimized buids, particularly for TSan.

- Support Android, where just -fsanitize=address results in a link error
with lld. See https://github.com/android/ndk/issues/1088

- Fix a typo in cmake messages.
diff --git a/build_tools/cmake/iree_copts.cmake b/build_tools/cmake/iree_copts.cmake
index dd3b3c0..11c5f50 100644
--- a/build_tools/cmake/iree_copts.cmake
+++ b/build_tools/cmake/iree_copts.cmake
@@ -140,48 +140,45 @@
 
 include(CheckCXXCompilerFlag)
 if(${IREE_ENABLE_ASAN})
-  if(NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug")
-    message(FATAL_ERROR "IREE_ENABLE_ASAN requires Debug build")
-  endif()
   set(CMAKE_REQUIRED_FLAGS "-fsanitize=address")
   check_cxx_compiler_flag(-fsanitize=address COMPILER_SUPPORTS_ASAN)
   unset(CMAKE_REQUIRED_FLAGS)
   if(${COMPILER_SUPPORTS_ASAN})
-    list(APPEND IREE_C_FLAGS_DEBUG_LIST "-fsanitize=address")
-    list(APPEND IREE_CXX_FLAGS_DEBUG_LIST "-fsanitize=address")
+    list(APPEND IREE_DEFAULT_COPTS "-fsanitize=address")
+    if(ANDROID)
+      list(APPEND IREE_DEFAULT_LINKOPTS "-fuse-ld=gold")
+    endif()
   else()
     message(FATAL_ERROR "The compiler does not support address sanitizer "
                         "or is missing configuration for address sanitizer")
   endif()
 endif()
 if(${IREE_ENABLE_MSAN})
-  if(NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug")
-    message(FATAL_ERROR "IREE_ENABLE_MSAN requires Debug build")
-  endif()
   set(CMAKE_REQUIRED_FLAGS "-fsanitize=memory")
   check_cxx_compiler_flag(-fsanitize=memory COMPILER_SUPPORTS_MSAN)
   unset(CMAKE_REQUIRED_FLAGS)
   if(${COMPILER_SUPPORTS_MSAN})
-    list(APPEND IREE_C_FLAGS_DEBUG_LIST "-fsanitize=memory")
-    list(APPEND IREE_CXX_FLAGS_DEBUG_LIST "-fsanitize=memory")
+    list(APPEND IREE_DEFAULT_COPTS "-fsanitize=memory")
+    if(ANDROID)
+      list(APPEND IREE_DEFAULT_LINKOPTS "-fuse-ld=gold")
+    endif()
   else()
     message(FATAL_ERROR "The compiler does not support memory sanitizer "
-                        "or is missing configuration for address sanitizer")
+                        "or is missing configuration for memory sanitizer")
   endif()
 endif()
 if(${IREE_ENABLE_TSAN})
-  if(NOT ${CMAKE_BUILD_TYPE} STREQUAL "Debug")
-    message(FATAL_ERROR "IREE_ENABLE_TSAN requires Debug build")
-  endif()
   set(CMAKE_REQUIRED_FLAGS "-fsanitize=thread")
   check_cxx_compiler_flag(-fsanitize=thread COMPILER_SUPPORTS_TSAN)
   unset(CMAKE_REQUIRED_FLAGS)
   if(${COMPILER_SUPPORTS_TSAN})
-    list(APPEND IREE_C_FLAGS_DEBUG_LIST "-fsanitize=thread")
-    list(APPEND IREE_CXX_FLAGS_DEBUG_LIST "-fsanitize=thread")
+    list(APPEND IREE_DEFAULT_COPTS "-fsanitize=thread")
+    if(ANDROID)
+      list(APPEND IREE_DEFAULT_LINKOPTS "-fuse-ld=gold")
+    endif()
   else()
     message(FATAL_ERROR "The compiler does not support thread sanitizer "
-                        "or is missing configuration for address sanitizer")
+                        "or is missing configuration for thread sanitizer")
   endif()
 endif()