nir: correct use of identity check in python
authorDylan Baker <dylan@pnwbakers.com>
Fri, 25 Oct 2019 20:48:38 +0000 (13:48 -0700)
committerDylan Baker <dylan@pnwbakers.com>
Mon, 4 Nov 2019 16:06:39 +0000 (16:06 +0000)
Python has the identity operator `is`, and the equality operator `==`.
Using `is` with strings sometimes works in CPython due to optimizations
(they have some kind of cache), but it may not always work.

Fixes: 96c4b135e34d0804e41bfbc28fc1b5050c49d71e
       ("nir/algebraic: Don't put quotes around floating point literals")
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/compiler/nir/nir_algebraic.py

index d8d0a95a6d332f3bfa1ec68f39397b1f22081a53..e13872869a5ffec84a79e7920dff87020ba1e9d9 100644 (file)
@@ -301,8 +301,8 @@ class Variable(Value):
       # constant.  If we want to support names that have numeric or
       # punctuation characters, we can me the first assertion more flexible.
       assert self.var_name.isalpha()
-      assert self.var_name is not 'True'
-      assert self.var_name is not 'False'
+      assert self.var_name != 'True'
+      assert self.var_name != 'False'
 
       self.is_constant = m.group('const') is not None
       self.cond = m.group('cond')