Detect self-referential values.
[oota-llvm.git] / test / Other / lint.ll
index 4cf9fd7fce63eee9c4824c9e98c78d9238bf0a58..ea02d431ffda7bb54a491d3bae92ac301a3d1b0d 100644 (file)
@@ -122,3 +122,14 @@ exit:
   %t7 = inttoptr i64 %t6 to i32*
   ret i32* %t7
 }
+
+; CHECK: Undefined behavior: Undef pointer dereference
+define i32* @self_reference() {
+entry:
+  unreachable
+exit:
+  %t3 = phi i32* [ %t4, %exit ]
+  %t4 = bitcast i32* %t3 to i32*
+  %x = volatile load i32* %t3
+  br label %exit
+}