[clang][ubsan] Split Implicit Integer Truncation Sanitizer into unsigned and signed checks
As per IRC disscussion, it seems we really want to have more fine-grained -fsanitize=implicit-integer-truncation:
- A check when both of the types are unsigned.
- Another check for the other cases (either one of the types is signed, or both of the types is signed).
This is clang part.
Compiler-rt part is D50902.
Reviewers: rsmith, vsk, Sanitizers
Reviewed by: rsmith
Differential Revision: https://reviews.llvm.org/D50901