func (c *Compiler) emitMakeChan(expr *ssa.MakeChan) (llvm.Value, error) {
	chanType := c.mod.GetTypeByName("runtime.channel")
	size := c.targetData.TypeAllocSize(chanType)
	sizeValue := llvm.ConstInt(c.uintptrType, size, false)
	ptr := c.createRuntimeCall("alloc", []llvm.Value{sizeValue}, "chan.alloc")
	ptr = c.builder.CreateBitCast(ptr, llvm.PointerType(chanType, 0), "chan")
	return ptr, nil
}
// emitMakeChan returns a new channel value for the given channel type.
emitMakeChan returns a new channel value for the given channel type.
// emitMakeChan returns a new channel value for the given channel type .
func (c *Compiler) emitMakeChan(expr *ssa.MakeChan) (llvm.Value, error) {
	chanType := c.mod.GetTypeByName("runtime.channel")
	size := c.targetData.TypeAllocSize(chanType)
	sizeValue := llvm.ConstInt(c.uintptrType, size, false)
	ptr := c.createRuntimeCall("alloc", []llvm.Value{sizeValue}, "chan.alloc")
	ptr = c.builder.CreateBitCast(ptr, llvm.PointerType(chanType, 0), "chan")
	return ptr, nil
}
func ( c * Compiler ) emitMakeChan ( expr * ssa . MakeChan ) ( llvm . Value , error ) { chanType := c . mod . GetTypeByName ( " " ) size := c . targetData . TypeAllocSize ( chanType ) sizeValue := llvm . ConstInt ( c . uintptrType , size , false ) ptr := c . createRuntimeCall ( " " , [ ] llvm . Value { sizeValue } , " " ) ptr = c . builder . CreateBitCast ( ptr , llvm . PointerType ( chanType , 0 ) , " " ) return ptr , nil }
emitMakeChan returns a new channel value for the given channel type.
emitMakeChan returns a new channel value for the given channel type .