[llvm-branch-commits] [compiler-rt] 414d3dc - [VE][compiler-rt] Support VE in clear_cache.c
Kazushi Marukawa via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Dec 7 00:38:31 PST 2020
Author: Kazushi (Jam) Marukawa
Date: 2020-12-07T17:38:23+09:00
New Revision: 414d3dc62c706f41226b0d552210c79f5080df43
URL: https://github.com/llvm/llvm-project/commit/414d3dc62c706f41226b0d552210c79f5080df43
DIFF: https://github.com/llvm/llvm-project/commit/414d3dc62c706f41226b0d552210c79f5080df43.diff
LOG: [VE][compiler-rt] Support VE in clear_cache.c
Support SX Aurora VE by __clear_cache() function. This modification
allows VE to run written data, e.g. clear_cache_test.c under compiler-rt
test. We still have code alignment problem in enable_execute_stack_test.c,
though.
Reviewed By: simoll
Differential Revision: https://reviews.llvm.org/D92703
Added:
Modified:
compiler-rt/lib/builtins/clear_cache.c
Removed:
################################################################################
diff --git a/compiler-rt/lib/builtins/clear_cache.c b/compiler-rt/lib/builtins/clear_cache.c
index e9e291467bd9..5a443ddd4b03 100644
--- a/compiler-rt/lib/builtins/clear_cache.c
+++ b/compiler-rt/lib/builtins/clear_cache.c
@@ -167,6 +167,8 @@ void __clear_cache(void *start, void *end) {
#if __APPLE__
// On Darwin, sys_icache_invalidate() provides this functionality
sys_icache_invalidate(start, end - start);
+#elif defined(__ve__)
+ __asm__ volatile("fencec 2");
#else
compilerrt_abort();
#endif
More information about the llvm-branch-commits
mailing list