X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FWritingAnLLVMPass.html;h=07e736da691e55ae8a2aa1325e72dc0c9e2205f1;hb=6fa1c051dc515b6fd1f9a26ac12fed985469bff5;hp=aae0dec6b1a0a3ea8a5775bef428a638cba91de4;hpb=8528e78f0d281de4d683de4e1b93b6ff9bed7f5c;p=oota-llvm.git diff --git a/docs/WritingAnLLVMPass.html b/docs/WritingAnLLVMPass.html index aae0dec6b1a..07e736da691 100644 --- a/docs/WritingAnLLVMPass.html +++ b/docs/WritingAnLLVMPass.html @@ -292,13 +292,19 @@ function.
initialization value is not important.- RegisterPass<Hello> X("hello", "Hello World Pass"); + RegisterPass<Hello> X("hello", "Hello World Pass", + false /* Only looks at CFG */, + false /* Analysis Pass */); } // end of anonymous namespace
Lastly, we register our class Hello, giving it a command line -argument "hello", and a name "Hello World Pass".
+argument "hello", and a name "Hello World Pass". +Last two RegisterPass arguments are optional. Their default value is false. +If a pass walks CFG without modifying it then third argument is set to true. +If a pass is an analysis pass, for example dominator tree pass, then true +is supplied as fourth argument.As a whole, the .cpp file looks like:
@@ -1376,7 +1382,8 @@ the LLVM program representation for a single function at a time, instead of traversing the entire program. It reduces the memory consumption of compiler, because, for example, only one DominatorSet -needs to be calculated at a time. This also makes it possible some interesting enhancements in the future.