Zhengyang Liu via llvm-dev
2016-Jun-27 14:10 UTC
[llvm-dev] [GSoC'16] Weekly Status - June 27 - Zhengyang Liu
Dear LLVM and SVA community: This is to brief you the progress of this week. I mainly focused on minor fixes this week. Following is what I finished this week. 1. Move the implementation of runOnModule of RegisterGlobalVar pass from .h back to .cpp file. 2. Introduce two new functions to register and unregister function prototypes on llvm.compiler.used. 3. Added two regression tests for PromoteArrayAllocas pases. 4. Rewrite InitAllocas pass. This pass is originally written as a function pass. Rewrite this pass to Module pass to make the intrinsic function llvm.malloc 5. The customized malloc, calloc, and realloc in safecode/runtime/BBRuntime/AlignedMalloc.cpp could be overrided by system implementation on some environments. Thus I added a __sc_bb_ prefix to these customized heap allocation functions. I also write a module pass to automatically rename all malloc / calloc / realloc to __sc_bb_malloc ... Regression tests are also completed for this pass. This week, I plan to 1. Test SAFECode’s bbac implementation on more real-world programs, and fix possible crashes. 2. Discuss with my mentor Prof. John Criswell about the insertion point of free in PromoteArrayAllocas pass. Best regards, Zhengyang. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160627/9269b456/attachment.html>
Zhengyang Liu via llvm-dev
2016-Jul-11 13:09 UTC
[llvm-dev] [GSoC'16] Weekly Status - July 11 - Zhengyang Liu
Dear community, This is to brief you the progress of this week. Following is what I finished this week. 1. The GEPChecks in SAFECode was not able to handle the vectorized getelementptr instrument. I fix this and make GEPChecks support vectorized GEP. 2. Found a linkage bug in BaggyBoundsChecks pass. The original implementation will automatically change a external with common linkage to a global with external linkage. A global variable with common linkage must have a zero initializer, which is not applicable in bbac. Rewrite linkage will allow bbac style tentative global definition. However, the target linkage is wrong in this case, the correct target linkage is WeakAnyLinkage. 3. Found a bug in the poolcheck runtime functions. The check function will do nothing if the length argument of function is 0. 4. Write a temp wrapper function for getline and getdelim. 5. Make RewriteOOB insert a pchk_getActualValue() call before each GEP instruction. Best regards, Zhengyang.
Reasonably Related Threads
- [GSoC 2016] SAFECode's Memory Policy Hardening - Midterm Report - Zhengyang Liu
- [GSoC'16] Add a Scheme Frontend for LLVM
- [GSoC'16] Proposal for Enhance SAFECode’s Baggy Bounds Checking
- [GSoC'16] Need details on New Transformations and Analyses
- [GSoC'16] Need details on New Transformations and Analyses