[llvm-commits] [PATCH] Machine code verifier pass

Jakob Stoklund Olesen stoklund at 2pi.dk
Fri May 8 14:38:32 PDT 2009


Hi,

The attached patch creates a machine code verifier pass, enabled with - 
verify-machineinstrs. The verifier pass is run immediately after - 
print-machineinstrs would run. It verifies the following:

Operand counts: All explicit operands must be present.

Register classes: All physical and virtual register operands must be  
compatible with the register class required by the instruction  
descriptor.

Register live intervals: Registers must be defined only once, and must  
be defined before use.

The double-definition checking is disabled until LiveVariables has run.

If I have misunderstood something about valid machine code, please let  
me know.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: machine-verifier.patch
Type: application/octet-stream
Size: 23284 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20090508/9c3eef4d/attachment.obj>
-------------- next part --------------



More information about the llvm-commits mailing list