The `memref.alloca` lowering computed the allocation size incorrectly when there were 0 dimensions. Previously: ``` memref.alloca() : memref<10x0x2xf32> --> llvm.alloca 20xf32 ``` Now: ``` memref.alloca() : memref<10x0x2xf32> --> llvm.alloca 0xf32 ``` From the `llvm.alloca` documentation: ``` Allocating zero bytes is legal, but the returned pointer may not be unique. ```
15 KiB
15 KiB