From 8a2f2e17920a8501582cff72cc6fbf32b18f9d30 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Fri, 22 Nov 2019 11:03:45 +0000 Subject: compiler plugins, just create const constants once. --- llvm_mode/LLVMInsTrim.so.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'llvm_mode/LLVMInsTrim.so.cc') diff --git a/llvm_mode/LLVMInsTrim.so.cc b/llvm_mode/LLVMInsTrim.so.cc index 89738812..f723a0fe 100644 --- a/llvm_mode/LLVMInsTrim.so.cc +++ b/llvm_mode/LLVMInsTrim.so.cc @@ -146,6 +146,9 @@ struct InsTrim : public ModulePass { M, Int32Ty, false, GlobalValue::ExternalLinkage, 0, "__afl_prev_loc", 0, GlobalVariable::GeneralDynamicTLSModel, 0, false); + ConstantInt *Zero = ConstantInt::get(Int8Ty, 0); + ConstantInt *One = ConstantInt::get(Int8Ty, 1); + u64 total_rs = 0; u64 total_hs = 0; @@ -368,7 +371,7 @@ struct InsTrim : public ModulePass { LoadInst *Counter = IRB.CreateLoad(MapPtrIdx); Counter->setMetadata(M.getMDKindID("nosanitize"), MDNode::get(C, None)); - Value *Incr = IRB.CreateAdd(Counter, ConstantInt::get(Int8Ty, 1)); + Value *Incr = IRB.CreateAdd(Counter, One); #if LLVM_VERSION_MAJOR < 9 if (neverZero_counters_str != @@ -390,7 +393,7 @@ struct InsTrim : public ModulePass { * Counter + 1 -> {Counter, OverflowFlag} * Counter + OverflowFlag -> Counter */ - auto cf = IRB.CreateICmpEQ(Incr, ConstantInt::get(Int8Ty, 0)); + auto cf = IRB.CreateICmpEQ(Incr, Zero); auto carry = IRB.CreateZExt(cf, Int8Ty); Incr = IRB.CreateAdd(Incr, carry); -- cgit 1.4.1