Preprocess the kernel before building the cache key
Also makes sure that TemporaryVariable.storage_shape can be hashed if it involves a symbolic expression.
Related: #80 (closed)
Also makes sure that TemporaryVariable.storage_shape can be hashed if it involves a symbolic expression.
Related: #80 (closed)