Commit ecb78409 authored by nagayama15's avatar nagayama15

オペランドスワップ透かし埋め込みパスを実装

parent 15c8a036
......@@ -81,28 +81,20 @@ namespace
std::size_t num_embedded_bits = 0;
bool is_changed = false;
llvm::errs() << "V-------------------------------V" << "\n";
for (auto& inst : block)
{
llvm::errs() << inst.getOpcode();
if (auto bin_op = llvm::dyn_cast<llvm::BinaryOperator>(&inst))
{
bool is_swapped = !bin_op->swapOperands();
is_changed = is_swapped || is_changed;
llvm::errs() << ", " << "binop";
is_changed = !bin_op->swapOperands() || is_changed;
num_embedded_bits += 1;
}
else if (auto cmp_inst = llvm::dyn_cast<llvm::CmpInst>(&inst))
{
cmp_inst->swapOperands();
bool is_swapped = !cmp_inst->isCommutative();
is_changed = is_swapped || is_changed;
llvm::errs() << ", " << "cmpinst";
is_changed = true;
num_embedded_bits += 1;
}
llvm::errs() << "\n";
}
llvm::errs() << block.getParent()->getName() << "," << block.size() << "," << num_embedded_bits << "\n";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment