class Crystal::CodeGenVisitor::Phi

Included Modules

Defined in:

compiler/crystal/codegen/phi.cr

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from module Crystal::LLVMBuilderHelper

and(*args, **options)
and(*args, **options, &)
and
, bit_cast(*args, **options)
bit_cast(*args, **options, &)
bit_cast
, br(*args, **options)
br(*args, **options, &)
br
, call(func : LLVMTypedFunction, name : String = "")
call(func : LLVMTypedFunction, arg : LLVM::Value, name : String = "")
call(func : LLVMTypedFunction, args : Array(LLVM::Value), name : String = "")
call
, cast_to(value : LLVM::ValueMethods, type : Type) cast_to, cast_to_pointer(value : LLVM::ValueMethods, type : Type) cast_to_pointer, cast_to_void_pointer(pointer : LLVM::ValueMethods) cast_to_void_pointer, cond(*args, **options)
cond(*args, **options, &)
cond
, equal?(value1, value2) equal?, extend_float(to_type, value) extend_float, extend_int(from_type, to_type, value) extend_int, extract_value(*args, **options)
extract_value(*args, **options, &)
extract_value
, float(value, type) float, float32(value) float32, float64(value) float64, float_to_int(from_type, to_type, value) float_to_int, gep(ptr : LLVM::Value, index0 : Int32, index1 : Int32, name = "")
gep(type : LLVM::Type, ptr : LLVM::Value, index0 : Int32, index1 : Int32, name = "")
gep(type : LLVM::Type, ptr : LLVM::Value, index0 : LLVM::Value, index1 : LLVM::Value, name = "")
gep(ptr : LLVM::Value, index0 : Int32, name = "")
gep(ptr : LLVM::Value, index0 : LLVM::Value, index1 : LLVM::Value, name = "")
gep(ptr : LLVM::Value, index0 : LLVM::Value, name = "")
gep(type : LLVM::Type, ptr : LLVM::Value, index0 : Int32, name = "")
gep(type : LLVM::Type, ptr : LLVM::Value, index0 : LLVM::Value, name = "")
gep
, insert_block(*args, **options)
insert_block(*args, **options, &)
insert_block
, int(n, type)
int(n)
int
, int1(n) int1, int128(n) int128, int16(n) int16, int2ptr(*args, **options)
int2ptr(*args, **options, &)
int2ptr
, int32(n) int32, int64(n) int64, int8(n) int8, int_to_float(from_type, to_type, value) int_to_float, invoke(func : LLVMTypedFunction, args : Array(LLVM::Value), a_then, a_catch, name : String = "") invoke, llvm_alignment(type) llvm_alignment, llvm_arg_type(*args, **options)
llvm_arg_type(*args, **options, &)
llvm_arg_type
, llvm_c_return_type(*args, **options)
llvm_c_return_type(*args, **options, &)
llvm_c_return_type
, llvm_c_type(*args, **options)
llvm_c_type(*args, **options, &)
llvm_c_type
, llvm_closure_type(type) llvm_closure_type, llvm_embedded_c_type(*args, **options)
llvm_embedded_c_type(*args, **options, &)
llvm_embedded_c_type
, llvm_embedded_type(*args, **options)
llvm_embedded_type(*args, **options, &)
llvm_embedded_type
, llvm_false llvm_false, llvm_intrinsic_return_type(*args, **options)
llvm_intrinsic_return_type(*args, **options, &)
llvm_intrinsic_return_type
, llvm_nil llvm_nil, llvm_proc_type(type) llvm_proc_type, llvm_return_type(*args, **options)
llvm_return_type(*args, **options, &)
llvm_return_type
, llvm_size(type) llvm_size, llvm_struct_alignment(type) llvm_struct_alignment, llvm_struct_size(type) llvm_struct_size, llvm_struct_type(*args, **options)
llvm_struct_type(*args, **options, &)
llvm_struct_type
, llvm_true llvm_true, llvm_type(*args, **options)
llvm_type(*args, **options, &)
llvm_type
, load(*args, **options)
load(*args, **options, &)
load
, load_volatile(*args, **options)
load_volatile(*args, **options, &)
load_volatile
, not(*args, **options)
not(*args, **options, &)
not
, not_equal?(value1, value2) not_equal?, not_null_pointer?(value) not_null_pointer?, null_pointer?(value) null_pointer?, or(*args, **options)
or(*args, **options, &)
or
, phi(*args, **options)
phi(*args, **options, &)
phi
, position_at_end(*args, **options)
position_at_end(*args, **options, &)
position_at_end
, ptr2int(*args, **options)
ptr2int(*args, **options, &)
ptr2int
, ret(value : Nil)
ret(value)
ret
ret
, size_t(value : LLVM::Value)
size_t(n)
size_t
size_t
, store(*args, **options)
store(*args, **options, &)
store
, store_volatile(*args, **options)
store_volatile(*args, **options, &)
store_volatile
, switch(*args, **options)
switch(*args, **options, &)
switch
, trunc(*args, **options)
trunc(*args, **options, &)
trunc
, trunc_float(to_type, value) trunc_float

Macros inherited from module Crystal::LLVMBuilderHelper

pointer_cast(value, type) pointer_cast

Instance methods inherited from class Reference

==(other : self)
==(other : JSON::Any)
==(other : YAML::Any)
==(other)
==
, dup dup, hash(hasher) hash, initialize initialize, inspect(io : IO) : Nil inspect, object_id : UInt64 object_id, pretty_print(pp) : Nil pretty_print, same?(other : Reference) : Bool
same?(other : Nil)
same?
, to_s(io : IO) : Nil to_s

Constructor methods inherited from class Reference

new new, unsafe_construct(address : Pointer, *args, **opts) : self unsafe_construct

Class methods inherited from class Reference

pre_initialize(address : Pointer) pre_initialize

Instance methods inherited from class Object

! : Bool !, !=(other) !=, !~(other) !~, ==(other) ==, ===(other : JSON::Any)
===(other : YAML::Any)
===(other)
===
, =~(other) =~, as(type : Class) as, as?(type : Class) as?, class class, dup dup, hash(hasher)
hash
hash
, in?(collection : Object) : Bool
in?(*values : Object) : Bool
in?
, inspect(io : IO) : Nil
inspect : String
inspect
, is_a?(type : Class) : Bool is_a?, itself itself, nil? : Bool nil?, not_nil!(message)
not_nil!
not_nil!
, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, responds_to?(name : Symbol) : Bool responds_to?, tap(&) tap, to_json(io : IO) : Nil
to_json : String
to_json
, to_pretty_json(indent : String = " ") : String
to_pretty_json(io : IO, indent : String = " ") : Nil
to_pretty_json
, to_s(io : IO) : Nil
to_s : String
to_s
, to_yaml(io : IO) : Nil
to_yaml : String
to_yaml
, try(&) try, unsafe_as(type : T.class) forall T unsafe_as

Class methods inherited from class Object

from_json(string_or_io : String | IO, root : String)
from_json(string_or_io : String | IO)
from_json
, from_yaml(string_or_io : String | IO) from_yaml

Macros inherited from class Object

class_getter(*names, &block) class_getter, class_getter!(*names) class_getter!, class_getter?(*names, &block) class_getter?, class_property(*names, &block) class_property, class_property!(*names) class_property!, class_property?(*names, &block) class_property?, class_setter(*names) class_setter, def_clone def_clone, def_equals(*fields) def_equals, def_equals_and_hash(*fields) def_equals_and_hash, def_hash(*fields) def_hash, delegate(*methods, to object) delegate, forward_missing_to(delegate) forward_missing_to, getter(*names, &block) getter, getter!(*names) getter!, getter?(*names, &block) getter?, property(*names, &block) property, property!(*names) property!, property?(*names, &block) property?, setter(*names) setter

Constructor Detail

def self.new(codegen : CodeGenVisitor, node : ASTNode, needs_value : Bool) #

[View source]
def self.new(codegen : CodeGenVisitor, node_type : Type | Nil, needs_value : Bool) #

[View source]

Class Method Detail

def self.open(codegen, node, needs_value = true, &) #

[View source]

Instance Method Detail

def add(value, type : Nil, last = false) #

[View source]
def add(value, type : NoReturnType, last = false) #

[View source]
def add(value, type : Type, last = false) #

[View source]
def builder #

[View source]
def close #

[View source]
def exit_block : LLVM::BasicBlock #

[View source]
def force_exit_block=(force_exit_block : Bool) #

[View source]
def force_exit_block? : Bool #

[View source]
def llvm_typer #

[View source]
def unreachable #

[View source]