diff options
author | Andrea Fioraldi <andreafioraldi@gmail.com> | 2019-12-28 18:22:15 +0100 |
---|---|---|
committer | Andrea Fioraldi <andreafioraldi@gmail.com> | 2019-12-28 18:22:15 +0100 |
commit | 58c7a0f8fe1ae5a31a46ea215f678a3a27fc4537 (patch) | |
tree | c298e5013a0807ff0a706766b04e0b6df6279d1e /llvm_mode/split-compares-pass.so.cc | |
parent | 9a2f2f1ee9bb4e72367325a51cbb0e215b0f65c3 (diff) | |
parent | c983e2c5b1c47618a4fac58154cb06020b31bbe3 (diff) | |
download | afl++-58c7a0f8fe1ae5a31a46ea215f678a3a27fc4537.tar.gz |
Merge branch 'master' of github.com:vanhauser-thc/AFLplusplus
Diffstat (limited to 'llvm_mode/split-compares-pass.so.cc')
-rw-r--r-- | llvm_mode/split-compares-pass.so.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm_mode/split-compares-pass.so.cc b/llvm_mode/split-compares-pass.so.cc index db884cde..eeac4a55 100644 --- a/llvm_mode/split-compares-pass.so.cc +++ b/llvm_mode/split-compares-pass.so.cc @@ -470,7 +470,9 @@ size_t SplitComparesTransform::splitFPCompares(Module &M) { if (selectcmpInst->getPredicate() == CmpInst::FCMP_OEQ || selectcmpInst->getPredicate() == CmpInst::FCMP_ONE || selectcmpInst->getPredicate() == CmpInst::FCMP_UNE || + selectcmpInst->getPredicate() == CmpInst::FCMP_UGT || selectcmpInst->getPredicate() == CmpInst::FCMP_OGT || + selectcmpInst->getPredicate() == CmpInst::FCMP_ULT || selectcmpInst->getPredicate() == CmpInst::FCMP_OLT) { auto op0 = selectcmpInst->getOperand(0); @@ -655,6 +657,7 @@ size_t SplitComparesTransform::splitFPCompares(Module &M) { CmpInst::Create(Instruction::ICmp, CmpInst::ICMP_NE, m_e0, m_e1); break; case CmpInst::FCMP_OGT: + case CmpInst::FCMP_UGT: Instruction *icmp_exponent; icmp_exponent = CmpInst::Create(Instruction::ICmp, CmpInst::ICMP_UGT, m_e0, m_e1); @@ -664,6 +667,7 @@ size_t SplitComparesTransform::splitFPCompares(Module &M) { BinaryOperator::Create(Instruction::Xor, icmp_exponent, t_s0); break; case CmpInst::FCMP_OLT: + case CmpInst::FCMP_ULT: icmp_exponent = CmpInst::Create(Instruction::ICmp, CmpInst::ICMP_ULT, m_e0, m_e1); signequal_bb->getInstList().insert( @@ -755,6 +759,7 @@ size_t SplitComparesTransform::splitFPCompares(Module &M) { CmpInst::Create(Instruction::ICmp, CmpInst::ICMP_NE, t_f0, t_f1); break; case CmpInst::FCMP_OGT: + case CmpInst::FCMP_UGT: Instruction *icmp_fraction; icmp_fraction = CmpInst::Create(Instruction::ICmp, CmpInst::ICMP_UGT, t_f0, t_f1); @@ -764,6 +769,7 @@ size_t SplitComparesTransform::splitFPCompares(Module &M) { BinaryOperator::Create(Instruction::Xor, icmp_fraction, t_s0); break; case CmpInst::FCMP_OLT: + case CmpInst::FCMP_ULT: icmp_fraction = CmpInst::Create(Instruction::ICmp, CmpInst::ICMP_ULT, t_f0, t_f1); middle_bb->getInstList().insert( @@ -802,6 +808,7 @@ size_t SplitComparesTransform::splitFPCompares(Module &M) { PN->addIncoming(icmp_fraction_result, middle_bb); break; case CmpInst::FCMP_OGT: + case CmpInst::FCMP_UGT: /* if op1 is negative goto true branch, else go on comparing */ PN->addIncoming(t_s1, bb); @@ -809,6 +816,7 @@ size_t SplitComparesTransform::splitFPCompares(Module &M) { PN->addIncoming(icmp_fraction_result, middle_bb); break; case CmpInst::FCMP_OLT: + case CmpInst::FCMP_ULT: /* if op0 is negative goto true branch, else go on comparing */ PN->addIncoming(t_s0, bb); |