Vectorization, Obfuscation and P4 LLVMTool-chain

This thesis broadly focuses on three different areas: Loop Vectorization, Code Obfuscation, and P4LLVM compiler. The work in Loop vectorization starts with a comparison of Auto-vectorization of GCC, ICC and LLVM compilers and show their strengths and weakness. As an attempt to improve LLVM’s Auto-vectorization, we propose to improve Loop Distribution using exact dependences from Polly. Our work on Loop Distribution shows promising results. We developed an LLVM based Code Obfuscation engine with various obfuscation techniques as transformation passes, our techniques are novel and are different from existing works [1]. In hardware circuit obfuscation several methods were proposed at the hardware level to secure the IP. Our approach is to obfuscate the circuits at the software level, using code obfuscation techniques.