LLVM Tracer使用教程

2021-10-24 12:46:00 字數 1059 閱讀 9546

參考:

0. 環境安裝(用的docker)

docker pull xyzsam/gem5-aladdin

docker run -it --rm --mount source=gem5-aladdin-workspace,target=/workspace xyzsam/gem5-aladdin

1.使用
go to /your/path/to/llvm-tracer/example/triad

export workload=triad

export tracer_home=/your/path/to/llvm-tracer

# 第乙個出錯點:clang路徑是$/lib/clang/6.0.0/include,教程裡寫的6.0

$/bin/get-labeled-stmts triad.c -- -i$/lib/clang/6.0.0/include

clang -g -o1 -s -fno-slp-vectorize -fno-vectorize -fno-unroll-loops -fno-inline -emit-llvm -o triad.llvm triad.c

# 第二個出錯點:full_trace.so在$/build/full-trace下

# -trace-all-callees是可選項,我沒有加,預設是false

opt -s -load=

$/build/full-trace/full_trace.so -fulltrace -labelmapwriter triad.llvm -o triad-opt.llvm

llc -filetype=asm -o full.s full.llvm

# 第三個出錯點:困了我蠻久,算是個小坑兒,最後很玄學的解決了……

g++ -fno-inline -o triad-instrumented full.s -lm -lz -no-pie

./triad-instrumented

注:幾乎每一步都會生成不同的檔案,可以每執行一句後,ls檢視triad資料夾裡的變化

SVN使用使用教程

本人在公司孤兒式開發,是用不到svn這種工具的,但是怕突然某一天電腦壞掉,消失所以還是使用上 管理工具。簡單概括一下svn它是 幹什麼的 一群人寫 每乙個人寫的部分都不一樣,但是專案是乙個整體,每個人的 需要合到一起才是乙個完整的專案,但是每乙個人寫的 又不可能出現在其他人的電腦上,所以使用svn專...

Git使用教程

提起git,大家無疑會想到github,沒錯,我就是通過眾多的github專案鏈結了解到的git,不知你是否也在走這條路呢?如果是的話,本文有一些有用的總結性文字以及一些 git教程 可以教會你如何去使用 git.當然,這些對 github 同樣適用.這裡我又翻到了個幻燈片,可以供大家 寫給大家的 ...

mii tool使用教程

mii tool 這是專門設定網絡卡工作模式的命令 1.檢視網絡卡的工作模式,輸入命令 mii tool v eth0 negotiated 100basetx fd,link ok product info vendor 00 05 be,model 8 rev 0 basic status au...