Verifier: Diagnose an instruction using its own result values.

This commit is contained in:
Dan Gohman
2018-03-28 20:09:49 -07:00
parent 23ab07b54e
commit db2be8ee01
2 changed files with 65 additions and 7 deletions

View File

@@ -0,0 +1,16 @@
test verifier
; Test verification that uses properly dominate defs.
function %non_dominating(i32) -> i32 native {
ebb0(v0: i32):
v1 = iadd.i32 v2, v0 ; error: uses value from non-dominating
v2 = iadd.i32 v1, v0
return v2
}
function %inst_uses_its_own_values(i32) -> i32 native {
ebb0(v0: i32):
v1 = iadd.i32 v1, v0 ; error: uses value from itself
return v1
}