[LLVMdev] Changes between 2.6 and 2.7: SSA Verifier and visitFreeInst

Chris Lattner clattner at apple.com
Sat Mar 6 11:14:49 PST 2010


On Mar 6, 2010, at 9:13 AM, Jianzhou Zhao wrote:

> Hi llvm,
> 
> 1) The lib/VMCore/Verifier.cpp in 2.7 implements Verifier::VerifyType,
> which is empty in 2.6. I noticed that it does not check all types,
> for example, UnionTyID, OpaqueTyID, LabelTyID, MetadataTyID
> and etc are ignored in the 'default' branch. Does it mean we dont
> need to check them?

They are leaf types (just like integer type), there is nothing to check.

> Another question is: How much does Verifier.cpp check statically?
> Can I take it as a type checker for SSA? Is there any static
> semantics that has not been checked yet?

The verifier is best effort, it does not guarantee correctness.

> 2) visitFreeInst has been removed from lib/ExecutionEngine/Interpreter in 2.7
> Will this have any back-compatible problem when interpreting any
> *.bc from 2.6?

The .bc reader will eliminate freeinst from the ir when reading an old file.

-chris



More information about the llvm-dev mailing list