Reimplement create_constant_zero in builder for Juno codegen
This implements the create_constant_zero
which had previously existed in the Hercules IR builder but now without using the zero
constant that has been removed.
This also required changing the create_constant_array
to take the extents to be dynamic constants (rather than just u32
but without this change there is actually no way to create a constant dynamically sized array which is necessary in many circumstances.
The create_constant_zero
is used in a few places in Juno codegen and would require substantial rewrites to remove (and the rewrite would in essence do the exact same thing this function does just using the representation of types from the front-end).
Edited by Aaron Councilman