[PATCH] D76848: [CodeGen][ARM] Error when writing to specific reserved registers in inline asm
Manoj Gupta via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 26 03:11:16 PDT 2020
manojgupta added a comment.
I believe chromium's version is a copy of compiler-rt's implementation of clear_cache [1] .
@vhscampos Can you please fix compiler-rt version as well?
#define __ARM_NR_cacheflush 0x0f0002
register int start_reg __asm("r0") = (int)(intptr_t)start;
const register int end_reg __asm("r1") = (int)(intptr_t)end;
const register int flags __asm("r2") = 0;
const register int syscall_nr __asm("r7") = __ARM_NR_cacheflush;
__asm __volatile("svc 0x0"
: "=r"(start_reg)
: "r"(syscall_nr), "r"(start_reg), "r"(end_reg), "r"(flags));
[1]: compiler-rt/lib/builtins/clear_cache.c <https://github.com/llvm/llvm-project/blob/master/compiler-rt/lib/builtins/clear_cache.c#L79>
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D76848/new/
https://reviews.llvm.org/D76848
More information about the llvm-commits
mailing list