4 research outputs found
Vectorization, Obfuscation and P4 LLVM Tool-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
P4LLVM: An LLVM Based P4 Compiler
We propose P4LLVM, an LLVM based P4 compiler for achieving better optimizations to improve the runtime performance of the network. The front-end of P4LLVM converts P4-16's code to LLVM's Intermediate Representation (IR). This IR is passed through various optimizations of LLVM and is translated to JSON for targeting a BMV2 Switch. We show the performance improvements obtained by running LLVM optimization passes in P4LLVM when compared to P4C
Improved Loop Distribution in LLVM using Polyhedral Dependences
We propose a framework that can be used for improving loop-optimizations in LLVM using the Polyhedral framework of Polly. In our framework, we use the precise polyhedral dependences from Polly (provided by PolyhedralInfo), to construct a dependence graph, and perform loop transformations. As the first transformation case study of such a framework, we implemented loop distribution targeting improvement of inner-loop vectorization. Our loop distribution pass shows promising results on the TSVC benchmark; it is able to distribute 11 loops, while the earlier distribution pass is unable to distribute at all. We also have preliminary performance numbers from SPEC 2006. We believe that our work is the first step towards scalable and pre-defined loop-transformations in LLVM using exact dependences from Polly
