summaryrefslogtreecommitdiffstats
path: root/llvm/utils/vim/syntax
diff options
context:
space:
mode:
authorManman Ren <manman.ren@gmail.com>2019-02-28 20:13:38 +0000
committerManman Ren <manman.ren@gmail.com>2019-02-28 20:13:38 +0000
commit1829512dd3a164f703d051995e81f99d70482280 (patch)
tree9f8296342ac834f708ea084f084b85eecfa5d126 /llvm/utils/vim/syntax
parent68f5e5456f85fbae04cdd2ddab254736b23d5e47 (diff)
downloadbcm5719-llvm-1829512dd3a164f703d051995e81f99d70482280.tar.gz
bcm5719-llvm-1829512dd3a164f703d051995e81f99d70482280.zip
Add a module pass for order file instrumentation
The basic idea of the pass is to use a circular buffer to log the execution ordering of the functions. We only log the function when it is first executed. We use a 8-byte hash to log the function symbol name. In this pass, we add three global variables: (1) an order file buffer: a circular buffer at its own llvm section. (2) a bitmap for each module: one byte for each function to say if the function is already executed. (3) a global index to the order file buffer. At the function prologue, if the function has not been executed (by checking the bitmap), log the function hash, then atomically increase the index. Differential Revision: https://reviews.llvm.org/D57463 llvm-svn: 355133
Diffstat (limited to 'llvm/utils/vim/syntax')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud