analyse(llvm::Function &f, llvm::Pass *p, int(IdiomsAnalysis::*exchanger)(llvm::Function &, llvm::Pass *) const, const char *fname) | retdec::bin2llvmir::IdiomsAnalysis | private |
analyse(llvm::BasicBlock &bb, llvm::Instruction *(IdiomsAnalysis::*exchanger)(llvm::BasicBlock::iterator) const, const char *fname) | retdec::bin2llvmir::IdiomsAnalysis | private |
divisorByMagicNumberSigned(int magic_number, unsigned sh_post) | retdec::bin2llvmir::IdiomsMagicDivMod | privatestatic |
divisorByMagicNumberSigned2(int magic_number, unsigned sh_post) | retdec::bin2llvmir::IdiomsMagicDivMod | privatestatic |
divisorByMagicNumberSigned3(unsigned magic_number, unsigned shift) | retdec::bin2llvmir::IdiomsMagicDivMod | privatestatic |
divisorByMagicNumberSigned4(unsigned magic_number, unsigned shift) | retdec::bin2llvmir::IdiomsMagicDivMod | privatestatic |
divisorByMagicNumberUnsigned(unsigned magic_number, unsigned sh_pre, unsigned sh_post) | retdec::bin2llvmir::IdiomsMagicDivMod | privatestatic |
divisorByMagicNumberUnsigned2(unsigned magic_number, unsigned sh_post) | retdec::bin2llvmir::IdiomsMagicDivMod | privatestatic |
doAnalysis(llvm::Function &f, llvm::Pass *p) override | retdec::bin2llvmir::IdiomsAnalysis | virtual |
eraseInstFromBasicBlock(llvm::Value *val, llvm::BasicBlock *bb) | retdec::bin2llvmir::IdiomsAbstract | protectedstatic |
exchangeAndZeroAssign(llvm::BasicBlock::iterator) const | retdec::bin2llvmir::IdiomsVStudio | protected |
exchangeBitShiftMul(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsCommon | protected |
exchangeBitShiftSDiv1(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsCommon | protected |
exchangeBitShiftUDiv(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsCommon | protected |
exchangeCompareEq(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsLLVM | protected |
exchangeCompareNeq(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsLLVM | protected |
exchangeCompareSle(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsLLVM | protected |
exchangeCompareSlt(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsLLVM | protected |
exchangeCondBitShiftDiv1(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsGCC | protected |
exchangeCondBitShiftDiv2(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsGCC | protected |
exchangeCondBitShiftDiv3(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsGCC | protected |
exchangeCondBitShiftDivMultiBB(llvm::Function &f, llvm::Pass *pass) const | retdec::bin2llvmir::IdiomsGCC | protected |
exchangeCopysign(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsGCC | protected |
exchangeDivByMinusTwo(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsCommon | protected |
exchangeFloatAbs(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsGCC | protected |
exchangeFloatNeg(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsGCC | protected |
exchangeGreaterEqualZero(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsCommon | protected |
exchangeIsGreaterThanMinusOne(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsLLVM | protected |
exchangeLessThanZero(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsCommon | protected |
exchangeOrMinusOneAssign(llvm::BasicBlock::iterator) const | retdec::bin2llvmir::IdiomsVStudio | protected |
exchangeSignedModulo2n(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsCommon | protected |
exchangeSignedModuloByTwo(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsGCC | protected |
exchangeUnsignedModulo2n(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsCommon | protected |
exchangeXorMinusOne(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsGCC | protected |
findBranchDependingOn(llvm::BranchInst **br, llvm::BasicBlock &bb, const llvm::Value *val) const | retdec::bin2llvmir::IdiomsAbstract | protected |
getArch() const | retdec::bin2llvmir::IdiomsAbstract | inlineprotected |
getCompiler() const | retdec::bin2llvmir::IdiomsAbstract | inlineprotected |
getModule() const | retdec::bin2llvmir::IdiomsAbstract | inlineprotected |
IdiomsAbstract() | retdec::bin2llvmir::IdiomsAbstract | protected |
IdiomsAnalysis(llvm::Module *M, CC_compiler cc, CC_arch arch) | retdec::bin2llvmir::IdiomsAnalysis | inline |
init(llvm::Module *M, CC_compiler cc, CC_arch arch) | retdec::bin2llvmir::IdiomsAbstract | protected |
isPowerOfTwo(unsigned x) | retdec::bin2llvmir::IdiomsAbstract | protectedstatic |
isPowerOfTwoRepresentable(const llvm::ConstantInt *cnst) | retdec::bin2llvmir::IdiomsAbstract | protectedstatic |
m_arch | retdec::bin2llvmir::IdiomsAbstract | private |
m_compiler | retdec::bin2llvmir::IdiomsAbstract | private |
m_module | retdec::bin2llvmir::IdiomsAbstract | private |
magicSignedDiv1(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
magicSignedDiv2(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
magicSignedDiv3(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
magicSignedDiv4(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
magicSignedDiv5(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
magicSignedDiv6(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
magicSignedDiv7(llvm::BasicBlock::iterator iter, bool negative) const | retdec::bin2llvmir::IdiomsMagicDivMod | private |
magicSignedDiv7neg(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
magicSignedDiv7pos(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
magicSignedDiv8(llvm::BasicBlock::iterator iter, bool negative) const | retdec::bin2llvmir::IdiomsMagicDivMod | private |
magicSignedDiv8neg(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
magicSignedDiv8pos(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
magicUnsignedDiv1(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
magicUnsignedDiv2(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
signedMod1(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
signedMod2(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
unsignedMod(llvm::BasicBlock::iterator iter) const | retdec::bin2llvmir::IdiomsMagicDivMod | protected |
~IdiomsAbstract()=default | retdec::bin2llvmir::IdiomsAbstract | protectedvirtual |