Zhengyang Liu via llvm-dev
2016-Jul-25 07:34 UTC
[llvm-dev] [GSoC'16] Weekly Status - July 25 - Zhengyang Liu
Dear LLVM and SVA community: This is to brief you the progress of this week. Following is what I finished this week. 1. Fix a bug [1]. This bug happens in poolcheckui_debug() and poolcheck_debug() pool check functions. Because !(not) operator have higher precedence than &&(logic and) operator, the original code will make a wrong decision on the if statement. 2. Implemented a CastTo(Value *, Type *, Twine, BasicBlock *) utility function[2]. Before this, there is only a CastTo(Value *, Type *, Twine, Instruction *), which adds a cast instruction before the last argument instruction. Since I need to insert many cast instructions on the last of a basicblock in my following work, I implemented this simple CastTo alternative. 3. A new pass InlineBBRuntimeFunctions [3]. This pass inlines boundscheckui_debug(), poolcheckui_debug(), poolregister_debug(), poolunregister_debug(). 4. A new pass InlineGetActualValue [4]. This pass inlines all pck_getActualValue() calls. 5. Test the performance of current bbac implementation on gzip-1.8, by compressing a 1024 MB random file.[5] Best regards, Zhengyang. [1] https://github.com/zhengyangl/safecode-llvm37/commit/8b01412ffe8df802f5eb51501a8d4174ed09ab3b [2] https://github.com/zhengyangl/safecode-llvm37/commit/6cd900391c3c22d06e3cee7a4af314070a357db2 [3] https://github.com/zhengyangl/safecode-llvm37/commit/4c7da11bd193f9d124d657b716b50a7f23a8d8b6 [4] https://github.com/zhengyangl/safecode-llvm37/commit/7eed57bf6976df55566fa72d11a61c4bfabd4e8d [5] https://docs.google.com/document/d/1S4mviKi2PX0LOIRCpzL6QFQU-yijUMmIyt1J8k49uJ4/edit