Zhengyang Liu via llvm-dev
2016-Jun-20 10:40 UTC
[llvm-dev] [GSoC'16] Weekly Status - June 19 - 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. Add a prohibted function list to CFIChecks pass, which will make the pass ignore SAFECode runtime functions when create TargetList global. [1] 2. Add a template style registerExternal switch to RegisterGlobalVariables pass. When registerExternal is set to true, RegisterGlobalVariable will generate register functions for external variable (for debug_runtime). If registerExternal is set to false, RegisterGlobalVariable pass will not generate for external variable. [2][3] 3. Make InstrumentMemoryAccess’s doInitialization insert the __storecheck prototype and the __loadcheck prototype to llvm.compiler.used global, to make them survive from llvm optimizations. [4] 4. Implementated a PromoteArrayAllocas pass. This pass will translate array allocas to malloc calls. This supports the padded variable-length memory allocation. [5] This week's plan: 1. Test SAFECode’s bbac implementation on more real-world programs, and fix possible crashes. 2. Make transformed array allocas carry meta-data on the last of the padding area. Best regards, Zhengyang. [1] https://github.com/zhengyangl/safecode-llvm37/commit/b324534fca14d684ecef8981384002bf0ef6ea32 [2] https://github.com/zhengyangl/safecode-llvm37/commit/4b353ff9da1b2c61c709af99f3ade5b1c8d086e9 [3] https://github.com/zhengyangl/safecode-llvm37/commit/010a70d060a4a1942f58998c5fa6e83b0abf6156 [4] https://github.com/zhengyangl/safecode-llvm37/commit/ca1c707f1ae3b4acc2af1ffa160df9ebc6697a39 [5] https://github.com/zhengyangl/safecode-llvm37/commit/a6746c54c1d6e162dac716588465148d581916e9 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160620/4851fe09/attachment.html>