15 Commits

Author SHA1 Message Date
vanhauser-thc
1fcb52957e fix frida 2021-06-24 09:59:00 +02:00
hexcoder-
35c23be973 adapt for LLVM 3.8.0 2021-06-11 21:34:56 +02:00
vanhauser-thc
581593ccab code format 2021-06-11 11:05:57 +02:00
Michael Rodler
0978c08f4b
split-comparison llvm pass refactor for smaller compilation times (and a small bug fix) (#964)
* Refactored split compare pass to be more efficient in LTO usage and allow splitting to other minimum bitwidths.

Efficiency: avoid looping over the whole llvm module N times, when once is also enough.

Bitwidth: Previously, due to fallthrough in switch-case, all comparisons were split to 8-bit, which might not be desirable e.g., 16 or 32 bit might be enough. So now all comparison are split until they are smaller or equal to the target bitwidth, which is controlled through the `AFL_LLVM_LAF_SPLIT_COMPARES_BITW` environment variable.

* fixed miscompilation due to incorrectly trying to split a signed comparison operator

* minor formatting updates and use IRBuilder when inserting multiple instructions

* added @hexcoder-'s test-int_cases.c to make test

* Avoid recursion; switch to smallvector in splitAndSimplify; use switch case for icmp type;

* Fixed issue when splitting < where the inverse comparison was not further split

* some cleanup
2021-06-11 11:02:29 +02:00
hexcoder-
a4cb2414d5 Revert "add test cases for splitting integer comparisons"
This reverts commit e0aa411647e1a525a3a0488d929ec71611388d54.
2021-06-09 21:29:41 +02:00
hexcoder-
e0aa411647 add test cases for splitting integer comparisons 2021-06-09 20:26:37 +02:00
vanhauser-thc
7b907e45ad we do not support 80 + 128 bit FP in laf 2021-03-05 19:55:29 +01:00
vanhauser-thc
41ad23041b remove warnings 2021-03-05 14:58:37 +01:00
vanhauser-thc
0ad56167c5 fix scan-build issues 2021-02-07 07:51:29 +01:00
van Hauser
d367b033a2 add missing FCMP_UEQ to split-compares-pass.so.cc 2021-01-04 23:08:46 +01:00
hexcoder-
7f4b3a460a more code cleanup (instrumentation) 2021-01-04 22:23:04 +01:00
van Hauser
f7d8643dc4 update clang-format to 11 2020-11-30 22:08:26 +01:00
van Hauser
abac876b3a better warn if skipping large dict 2020-10-29 10:45:32 +01:00
van Hauser
383cd487a2 small improvements to Marcel's patch, fix laf-intel + redqueen crashes 2020-09-29 15:02:57 +02:00
vanhauser-thc
996986bed5 first batch of changes 2020-09-05 12:11:48 +02:00