crypto mad via llvm-dev
2020-Apr-05 02:28 UTC
[llvm-dev] Fwd: exact usage of HotColdSplit pass and impact on ll files
Hi there! Recently I saw a presentation with title "*Hot Cold Splitting Optimization Pass In LLVM*" on youtube about hotcoldsplit LLVM pass . I want to use this built-in pass to optimize my IR but I don't know how it can optimize my code, I didn't find any result and contacted to the developer and he advised me to use test at LLVM for testing this pass . I tried *opt.ll* from llvm/test/intstrumentation/BoundsChecking and : *opt -S -hotcoldsplit opt.ll -o opt1.ll* The result is not what I expect because I used a diffing tool and see just some sorts of the following has been removed from the original source : *; CHECK: mul i64 {{.*}}, 4; CHECK: sub i64 4000, %; CHECK-NEXT: icmp ult i64 {{.*}}, 4; CHECK-NEXT: or i1; CHECK: trap* *; CHECK: mul i64 {{.*}}, 8; CHECK: mul i64 {{.*}}, 4; CHECK: add i64; CHECK: sub i64 16, %; CHECK-NEXT: icmp ult i64 16, %; CHECK-NEXT: icmp ult i64 {{.*}}, 4; CHECK-NEXT: or i1; CHECK: trap* Btw, I attached the source and output file as the result . As in my own code, I do not use these "* ; CHECK : *" things, I see no change on my own code after using hotcoldsplit and in fact I do expect this built-in pass to have impact on the real code but I didn't find this . Can someone please clarify how this hotcoldsplit pass , affect the real code and how exactly does it working and how I can use this built-in pass in the proper way to optimize my code? Thanks Azim -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200405/fa752eac/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: opt1.ll Type: application/octet-stream Size: 14222 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200405/fa752eac/attachment.obj> -------------- next part -------------- A non-text attachment was scrubbed... Name: opt.ll Type: application/octet-stream Size: 15493 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200405/fa752eac/attachment-0001.obj>