D63793 removed float-divide-by-zero from the "undefined" set but it
failed to add it to getSupportedSanitizers(), thus the sanitizer is
rejected by the driver:
clang-9: error: unsupported option '-fsanitize=float-divide-by-zero' for target 'x86_64-unknown-linux-gnu'
Also, add SanitizerMask::FloatDivideByZero to a few other masks to make -fsanitize-trap, -fsanitize-recover, -fsanitize-minimal-runtime and -fsanitize-coverage work.
Duplicating this list of "all sanitizers covered by the ubsan runtime" in many places is leading to lots of bugs.
This change misses getPPTransparentSanitizers() in include/clang/Basic/Sanitizers.h. Previous changes forgot to add UnsignedIntegerOverflow and LocalBounds to that function and also here and in SupportsCoverage and RecoverableByDefault below (but did update TrappingSupported and getSupportedSanitizers).
A better approach would be to change Sanitizers.def to specify the relevant properties of the sanitizer (whether it's in the ubsan runtime, whether it's recoverable, whether it supports coverage, whether it supports trapping, whether it affects preprocessing) along with its definition.