module
Crystal::LLVMBuilderHelper
Direct including types
Defined in:
compiler/crystal/codegen/llvm_builder_helper.crMacro Summary
-
pointer_cast(value, type)
type must be a pointer type; on LLVM 15.0 or above type is not evaluated at all and value is returned unchanged, because all opaque pointer types (in the same context) are identical
Instance Method Summary
- #and(*args, **options)
- #and(*args, **options, &)
- #bit_cast(*args, **options)
- #bit_cast(*args, **options, &)
- #br(*args, **options)
- #br(*args, **options, &)
- #call(func : LLVMTypedFunction, name : String = "")
- #call(func : LLVMTypedFunction, arg : LLVM::Value, name : String = "")
- #call(func : LLVMTypedFunction, args : Array(LLVM::Value), name : String = "")
- #cast_to(value : LLVM::ValueMethods, type : Type)
- #cast_to_pointer(value : LLVM::ValueMethods, type : Type)
- #cast_to_void_pointer(pointer : LLVM::ValueMethods)
- #cond(*args, **options)
- #cond(*args, **options, &)
- #equal?(value1, value2)
- #extend_float(to_type, value)
- #extend_int(from_type, to_type, value)
- #extract_value(*args, **options)
- #extract_value(*args, **options, &)
- #float(value, type)
- #float32(value)
- #float64(value)
- #float_to_int(from_type, to_type, value)
- #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 = "")
- #insert_block(*args, **options)
- #insert_block(*args, **options, &)
- #int(n, type)
- #int(n)
- #int1(n)
- #int128(n)
- #int16(n)
- #int2ptr(*args, **options)
- #int2ptr(*args, **options, &)
- #int32(n)
- #int64(n)
- #int8(n)
- #int_to_float(from_type, to_type, value)
- #invoke(func : LLVMTypedFunction, args : Array(LLVM::Value), a_then, a_catch, name : String = "")
- #llvm_alignment(type)
- #llvm_arg_type(*args, **options)
- #llvm_arg_type(*args, **options, &)
- #llvm_c_return_type(*args, **options)
- #llvm_c_return_type(*args, **options, &)
- #llvm_c_type(*args, **options)
- #llvm_c_type(*args, **options, &)
- #llvm_closure_type(type)
- #llvm_embedded_c_type(*args, **options)
- #llvm_embedded_c_type(*args, **options, &)
- #llvm_embedded_type(*args, **options)
- #llvm_embedded_type(*args, **options, &)
- #llvm_false
- #llvm_intrinsic_return_type(*args, **options)
- #llvm_intrinsic_return_type(*args, **options, &)
- #llvm_nil
- #llvm_proc_type(type)
- #llvm_return_type(*args, **options)
- #llvm_return_type(*args, **options, &)
- #llvm_size(type)
- #llvm_struct_alignment(type)
- #llvm_struct_size(type)
- #llvm_struct_type(*args, **options)
- #llvm_struct_type(*args, **options, &)
- #llvm_true
- #llvm_type(*args, **options)
- #llvm_type(*args, **options, &)
- #load(*args, **options)
- #load(*args, **options, &)
- #load_volatile(*args, **options)
- #load_volatile(*args, **options, &)
- #not(*args, **options)
- #not(*args, **options, &)
- #not_equal?(value1, value2)
- #not_null_pointer?(value)
- #null_pointer?(value)
- #or(*args, **options)
- #or(*args, **options, &)
- #phi(*args, **options)
- #phi(*args, **options, &)
- #position_at_end(*args, **options)
- #position_at_end(*args, **options, &)
- #ptr2int(*args, **options)
- #ptr2int(*args, **options, &)
- #ret(value : Nil)
- #ret(value)
- #ret
- #size_t(value : LLVM::Value)
- #size_t(n)
- #size_t
- #store(*args, **options)
- #store(*args, **options, &)
- #store_volatile(*args, **options)
- #store_volatile(*args, **options, &)
- #switch(*args, **options)
- #switch(*args, **options, &)
- #trunc(*args, **options)
- #trunc(*args, **options, &)
- #trunc_float(to_type, value)
Macro Detail
macro pointer_cast(value, type)
#
type must be a pointer type; on LLVM 15.0 or above type is not evaluated at all and value is returned unchanged, because all opaque pointer types (in the same context) are identical
Instance Method Detail
def gep(type : LLVM::Type, ptr : LLVM::Value, index0 : LLVM::Value, index1 : LLVM::Value, name = "")
#
def invoke(func : LLVMTypedFunction, args : Array(LLVM::Value), a_then, a_catch, name : String = "")
#