code: def alloca(self, typ, size=None, name=''):
          
          if size is None:
              pass
          elif isinstance(size, (values.Value, values.Constant)):
              assert isinstance(size.type, types.IntType)
          else:
              # If it is not a Value instance,
              # assume to be a Python integer.
              size = values.Constant(types.IntType(32), size)
  
          al = instructions.AllocaInstr(self.block, typ, size, name)
          self._insert(al)
          return al
docs: Stack-allocate a slot for *size* elements of the given type.
          (default one element)