diff --git a/master/master.cfg b/master/master.cfg index e6783e20..a10cd082 100644 --- a/master/master.cfg +++ b/master/master.cfg @@ -158,7 +158,7 @@ c['workers'] = [Worker(n, properties={'WORKER_BUILD_PARALLELISM': cfg.j}) for n, cfg in _WORKERS] _SANITIZERS = [ - # 'asan', # TODO: weird error about precompiled header file + 'asan', 'fuzzer', # this isn't *technically* a sanitizer, but is close enough that it's a good fit ] @@ -715,7 +715,7 @@ def get_llvm_cmake_definitions(builder_type): 'LLVM_ENABLE_OCAMLDOC': 'OFF', 'LLVM_ENABLE_RTTI': 'ON', 'LLVM_ENABLE_TERMINFO': 'OFF', - 'LLVM_ENABLE_WARNINGS': 'ON', # silence them, it's not like we're gonna fix them + 'LLVM_ENABLE_WARNINGS': 'OFF', # silence them, it's not like we're gonna fix them 'LLVM_ENABLE_ZLIB': 'ON', 'LLVM_ENABLE_ZSTD': 'OFF', 'LLVM_INCLUDE_BENCHMARKS': 'OFF', @@ -814,6 +814,8 @@ def add_env_setup_step(factory, builder_type, enable_ccache=False): 'CC': cc, 'CXX': cxx, 'LD': ld, + # Only needed for ASAN builds, but easier to just always specify + 'ASAN_SYMBOLIZER_PATH': get_llvm_install_path(builder_type, 'bin/llvm-symbolizer') } # TODO: HALIDE_NODE_JS_PATH is only necessary until EMSDK updates their built-in version of Node @@ -966,14 +968,19 @@ def add_halide_cmake_build_steps(factory, builder_type): definitions=get_halide_cmake_definitions(builder_type), options=get_halide_cmake_options(builder_type, build_dir))) - factory.addStep( - ShellCommand(name='Build Halide', - description='Build Halide', - locks=[performance_lock.access('counting')], - haltOnFailure=True, - workdir=build_dir, - env=Property('env'), - command=get_cmake_build_command(builder_type, build_dir, targets=['all', 'install']))) + # Don't do this initial build: + # We always follow this with a call to add_halide_cmake_test_steps(), + # which will reconfigure CMake and rebuild. For most targets, the extra + # build is close to a no-op (building for `host` again), but for Sanitizer + # builds, it's just wasted effort. + # factory.addStep( + # ShellCommand(name='Build Halide', + # description='Build Halide', + # locks=[performance_lock.access('counting')], + # haltOnFailure=True, + # workdir=build_dir, + # env=Property('env'), + # command=get_cmake_build_command(builder_type, build_dir, targets=['all', 'install']))) def add_halide_cmake_package_steps(factory, builder_type):