[llvm-dev] [GSoC'16] Weekly Status - June 19 - Zhengyang Liu
Zhengyang Liu via llvm-dev
llvm-dev at lists.llvm.org
Mon Jun 20 03:40:45 PDT 2016
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>
More information about the llvm-dev
mailing list