projects/compiler-rt/lib/builtins/clear_cache.c I suggest two small changes here. 1. Mark it however required to avoid inlining, i.e. for the x86/amd64 case. Control transfer is required. I realize it is likely anyway, you aren't likely to "fall from" the caller into the code. 2. #elif defined(_WIN32) && (defined(__arm__) || defined(__aarch64__)) be changed to just: #elif defined(_WIN32) since Win32 hypothetically/historically runs on more than just x86/amd64/arm/arm64, and FlushInstructionCache has been and presumably will remain omnipresent. - Jay -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180415/83b0bac5/attachment.html>
Nemanja Ivanovic via llvm-dev
2018-Apr-17 18:57 UTC
[llvm-dev] __clear_cache / clear_cache.c
Jay, is this an answer to a question? If so, it's always best to leave the original question in the email for context. Otherwise, is this a request for a fix/feature in compiler-rt? If so, it is probably best to start with a PR on bugs.llvm.org if it's a bug, a patch on reviews.llvm.org if you're suggesting a change and/or an RFC on this list to explain your reasoning if you feel that this change may in some way be controversial or require input from the wider community. On Sun, Apr 15, 2018 at 9:23 AM, Jay K via llvm-dev <llvm-dev at lists.llvm.org> wrote:> projects/compiler-rt/lib/builtins/clear_cache.c > > I suggest two small changes here. > > 1. Mark it however required to avoid inlining, i.e. for the x86/amd64 case. > Control transfer is required. I realize it is likely anyway, you aren't > likely > to "fall from" the caller into the code. > > 2. #elif defined(_WIN32) && (defined(__arm__) || defined(__aarch64__)) > be changed to just: > #elif defined(_WIN32) > > since Win32 hypothetically/historically runs on more than just > x86/amd64/arm/arm64, and > FlushInstructionCache has been and presumably will remain omnipresent. > > - Jay > > > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180417/f87c4f59/attachment.html>
Apparently Analagous Threads
- [LLVMdev] [PATCH][Compiler-rt] Windows implementation of mmap functionality in clear_cache_test and enable_execute_stack_test
- compiler-rt linux-arm builtins/clear_cache.c depends on kernel headers
- [LLVMdev] __clear_cache on arm
- [LLVMdev] [llvm-commits] [PATCH][Compiler-rt] Windows implementation of mmap functionality in clear_cache_test and enable_execute_stack_test
- [LLVMdev] [llvm-commits] [PATCH][Compiler-rt] Windows implementation of mmap functionality in clear_cache_test and enable_execute_stack_test