Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [ubsan] Omit superflous overflow checks for promoted arithmetic (PR20193) | Vedant Kumar | 2017-02-25 | 1 | -3/+1 |
| | | | | | | | | | | | | | | | | C requires the operands of arithmetic expressions to be promoted if their types are smaller than an int. Ubsan emits overflow checks when this sort of type promotion occurs, even if there is no way to actually get an overflow with the promoted type. This patch teaches clang how to omit the superflous overflow checks (addressing PR20193). Testing: check-clang and check-ubsan. Differential Revision: https://reviews.llvm.org/D29369 llvm-svn: 296213 | ||||
* | Reimplement -fsanitize-recover family of flags. | Alexey Samsonov | 2015-01-12 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | Introduce the following -fsanitize-recover flags: - -fsanitize-recover=<list>: Enable recovery for selected checks or group of checks. It is forbidden to explicitly list unrecoverable sanitizers here (that is, "address", "unreachable", "return"). - -fno-sanitize-recover=<list>: Disable recovery for selected checks or group of checks. - -f(no-)?sanitize-recover is now a synonym for -f(no-)?sanitize-recover=undefined,integer and will soon be deprecated. These flags are parsed left to right, and mask of "recoverable" sanitizer is updated accordingly, much like what we do for -fsanitize= flags. -fsanitize= and -fsanitize-recover= flag families are independent. CodeGen change: If there is a single UBSan handler function, responsible for implementing multiple checks, which have different recoverable setting, then we emit two handler calls instead of one: the first one for the set of "unrecoverable" checks, another one - for set of "recoverable" checks. If all checks implemented by a handler have the same recoverability setting, then the generated code will be the same. llvm-svn: 225719 | ||||
* | ubsan: Only emit constants for filenames and type descriptors once. | Will Dietz | 2013-11-08 | 1 | -2/+1 |
| | | | | | | | | Produces neater IR in significantly less time. (~18% faster -O0 compile time for sqlite3 with -fsanitize=undefined) llvm-svn: 194231 | ||||
* | [ubsan] Make static check data non-const so it can be used for deduplication. | Will Dietz | 2013-01-09 | 1 | -3/+3 |
| | | | | llvm-svn: 171947 | ||||
* | CodeGen/compound-assign-overflow.c: include stdint.h in freestanding mode | Dmitri Gribenko | 2013-01-08 | 1 | -1/+1 |
| | | | | | | This hopefully fixes the ARM buildbot. llvm-svn: 171853 | ||||
* | [ubsan] Use correct type for compound assignment ops. | Will Dietz | 2013-01-07 | 1 | -0/+36 |
llvm-svn: 171801 |