How to change LLVMPass long opt command to a simple Command
I am working on LLVM obfuscation project. I have written a llvm pass(lets say flow flattening pass) which i am running on source (test.c) with following command: clang -emit-llvm test.c -c -o test.bc opt -load ../../.. LLVMFlattening.so -fla <test.bc>/dev/null But i have seen that in O-LLVM project they achieved same thing using: clang -emit-llvm test.c -c -o test.bc -mllvm -fla Can someone tell me what is -mllvm here and how this changed to a simple command? Kun Ling -mllvm means Additional arguments to forward to LLVM's option processing . Therefore -mllvm -fla will pass -fla to the LLVM's