Class: LLVM::Builder

Inherits:
Object show all
Defined in:
ext/llvmruby.c,
lib/llvm.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.add_bin_op(op) ⇒ Object



37
38
39
40
41
# File 'lib/llvm.rb', line 37

def self.add_bin_op(op)
  define_method(op.downcase) do |x, y|
    bin_op(Instruction.const_get(op), x, y)
  end
end

.define_cast(name, inst) ⇒ Object



59
60
61
62
63
# File 'lib/llvm.rb', line 59

def self.define_cast(name, inst)
  define_method(name) do |val, dest_type|
    cast(inst, val, dest_type)
  end
end

Instance Method Details

#allocaObject



104
# File 'ext/llvmruby.c', line 104

VALUE llvm_builder_alloca(VALUE, VALUE, VALUE);

#bin_opObject



95
# File 'ext/llvmruby.c', line 95

VALUE llvm_builder_bin_op(VALUE, VALUE, VALUE, VALUE);

#brObject



98
# File 'ext/llvmruby.c', line 98

VALUE llvm_builder_br(VALUE, VALUE);

#callObject



114
# File 'ext/llvmruby.c', line 114

VALUE llvm_builder_call(int, VALUE*, VALUE);

#castObject



111
# File 'ext/llvmruby.c', line 111

VALUE llvm_builder_cast(VALUE, VALUE, VALUE, VALUE);

#cond_brObject



99
# File 'ext/llvmruby.c', line 99

VALUE llvm_builder_cond_br(VALUE, VALUE, VALUE, VALUE);

#create_global_string_ptrObject



118
# File 'ext/llvmruby.c', line 118

VALUE llvm_builder_create_global_string_ptr(VALUE);

#extract_elementObject



116
# File 'ext/llvmruby.c', line 116

VALUE llvm_builder_extract_element(VALUE, VALUE, VALUE);

#fcmpObject



108
# File 'ext/llvmruby.c', line 108

VALUE llvm_builder_fcmp(VALUE, VALUE, VALUE, VALUE);

#freeObject



103
# File 'ext/llvmruby.c', line 103

VALUE llvm_builder_free(VALUE, VALUE);

#gepObject



109
# File 'ext/llvmruby.c', line 109

VALUE llvm_builder_gep(VALUE, VALUE, VALUE);

#get_globalObject



117
# File 'ext/llvmruby.c', line 117

VALUE llvm_builder_get_global(VALUE);

#icmpObject



107
# File 'ext/llvmruby.c', line 107

VALUE llvm_builder_icmp(VALUE, VALUE, VALUE, VALUE);

#insert_elementObject



115
# File 'ext/llvmruby.c', line 115

VALUE llvm_builder_insert_element(VALUE, VALUE, VALUE, VALUE);

#int_castObject



113
# File 'ext/llvmruby.c', line 113

VALUE llvm_builder_int_cast(VALUE, VALUE, VALUE);

#int_to_ptrObject



112
# File 'ext/llvmruby.c', line 112

VALUE llvm_builder_int_to_ptr(VALUE, VALUE, VALUE);

#loadObject



105
# File 'ext/llvmruby.c', line 105

VALUE llvm_builder_load(VALUE, VALUE);

#mallocObject



102
# File 'ext/llvmruby.c', line 102

VALUE llvm_builder_malloc(VALUE, VALUE, VALUE);

#phiObject



96
# File 'ext/llvmruby.c', line 96

VALUE llvm_builder_phi(VALUE, VALUE);

#returnObject



97
# File 'ext/llvmruby.c', line 97

VALUE llvm_builder_return(VALUE, VALUE);

#set_insert_pointObject



94
# File 'ext/llvmruby.c', line 94

VALUE llvm_builder_set_insert_point(VALUE, VALUE);

#storeObject



106
# File 'ext/llvmruby.c', line 106

VALUE llvm_builder_store(VALUE, VALUE, VALUE);

#struct_gepObject



110
# File 'ext/llvmruby.c', line 110

VALUE llvm_builder_struct_gep(VALUE, VALUE, VALUE);

#switchObject



100
# File 'ext/llvmruby.c', line 100

VALUE llvm_builder_switch(VALUE, VALUE, VALUE);

#write(&b) ⇒ Object



78
79
80
# File 'lib/llvm.rb', line 78

def write(&b)
  instance_eval(&b)
end