compiler design
http://gnuu.org/2009/09/18/writing-your-own-toy-compiler/
To visualize the control flow graph, you can use a nifty feature of the
LLVM 'opt' tool. If you put this
LLVM IR into "t.ll" and run "
llvm-as <>viewCFG()" or "F->
viewCFGOnly()" (where F is a "Function*") either by inserting actual calls into the code and recompiling or by calling these in the debugger.
LLVM has many nice features for visualizing various graphs.
Viewing graphs while debugging code
LLVM IR is that it
requires all basic blocks to be "terminated" with a
control flow instruction such as return or branch. This means that all control flow,
including fall throughs must be made explicit in the
LLVM IR. If you violate this rule, the verifier will emit an error.
% llvm-gcc -O3 -emit-llvm hello.c -c -o hello.bc
The -emit-llvm option can be used with the -S or -c options to emit an LLVM ".ll" or ".bc" file (respectively) for the code. This allows you to use the standard LLVM tools on the bitcode file.
http://llvm.org/docs/Passes.html#basiccg
llvm project gen
http://llvm.org/docs/Projects.html
Refs:
搭建LLVM實驗環境[轉貼]
演講:窮得只剩下 Compiler -- 淺談編譯技術的革命
「身騎 LLVM,過三關:淺談編譯器技術的嶄新應用」簡報上線
拖稿很久的 LLVM 使用文
Hello,LLVM
沒有留言:
張貼留言