mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-08 08:11:34 +00:00
fix laf-intel split switches
This commit is contained in:
parent
21ebfec79c
commit
110cc27632
@ -118,8 +118,6 @@ BasicBlock *SplitSwitchesTransform::switchConvert(
|
||||
std::vector<uint8_t> setSizes;
|
||||
std::vector<std::set<uint8_t> > byteSets(BytesInValue, std::set<uint8_t>());
|
||||
|
||||
assert(ValTypeBitWidth >= 8 && ValTypeBitWidth <= 64);
|
||||
|
||||
/* for each of the possible cases we iterate over all bytes of the values
|
||||
* build a set of possible values at each byte position in byteSets */
|
||||
for (CaseExpr &Case : Cases) {
|
||||
@ -350,9 +348,9 @@ bool SplitSwitchesTransform::splitSwitches(Module &M) {
|
||||
|
||||
/* If there is only the default destination or the condition checks 8 bit or
|
||||
* less, don't bother with the code below. */
|
||||
if (!SI->getNumCases() || bitw <= 8) {
|
||||
if (SI->getNumCases() < 2 || bitw % 8 || bitw > 64) {
|
||||
|
||||
// if (!be_quiet) errs() << "skip trivial switch..\n";
|
||||
// if (!be_quiet) errs() << "skip switch..\n";
|
||||
continue;
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user