aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaCodeComplete.cpp
diff options
context:
space:
mode:
authorwangjue <wangjue@zhcomputing.com>2025-04-17 14:01:00 +0800
committerGitHub <noreply@github.com>2025-04-16 23:01:00 -0700
commitdbb79c30c9f3578b7afd9ea0ec33f82e70e472c7 (patch)
treecc5d5d4272d49f25bbd858f62e793e9b277342d6 /clang/lib/Sema/SemaCodeComplete.cpp
parenta2029ee91ddf0738f8b521ec8159068b6d65010f (diff)
downloadllvm-dbb79c30c9f3578b7afd9ea0ec33f82e70e472c7.zip
llvm-dbb79c30c9f3578b7afd9ea0ec33f82e70e472c7.tar.gz
llvm-dbb79c30c9f3578b7afd9ea0ec33f82e70e472c7.tar.bz2
[BOLT][Instrumentation] Initial instrumentation support for RISCV64 (#133882)
This patch adds code generation for RISCV64 instrumentation.The work involved includes the following three points: a) Implements support for instrumenting direct function call and jump on RISC-V which relies on , Atomic instructions (used to increment counters) are only available on RISC-V when the A extension is used. b) Implements support for instrumenting direct function inderect call by implementing the createInstrumentedIndCallHandlerEntryBB and createInstrumentedIndCallHandlerExitBB interfaces. In this process, we need to accurately record the target address and IndCallID to ensure the correct recording of the indirect call counters. c)Implemented the RISCV64 Bolt runtime library, implemented some system call interfaces through embedded assembly. Get the difference between runtime addrress of .text section andstatic address in section header table, which in turn can be used to search for indirect call description. However, the community code currently has problems with relocation in some scenarios, but this has nothing to do with instrumentation. We may continue to submit patches to fix the related bugs.
Diffstat (limited to 'clang/lib/Sema/SemaCodeComplete.cpp')
0 files changed, 0 insertions, 0 deletions