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



33
34
35
36
37
# File 'lib/llvm.rb', line 33

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



55
56
57
58
59
# File 'lib/llvm.rb', line 55

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

Instance Method Details

#allocaObject



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

VALUE llvm_builder_alloca(VALUE, VALUE, VALUE);

#bin_opObject



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

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

#brObject



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

VALUE llvm_builder_br(VALUE, VALUE);

#callObject



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

VALUE llvm_builder_call(int, VALUE*, VALUE);

#castObject



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

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

#cond_brObject



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

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

#create_global_string_ptrObject



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

VALUE llvm_builder_create_global_string_ptr(VALUE);

#extract_elementObject



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

VALUE llvm_builder_extract_element(VALUE, VALUE, VALUE);

#fcmpObject



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

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

#freeObject



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

VALUE llvm_builder_free(VALUE, VALUE);

#gepObject



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

VALUE llvm_builder_gep(VALUE, VALUE, VALUE);

#get_globalObject



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

VALUE llvm_builder_get_global(VALUE);

#icmpObject



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

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

#insert_elementObject



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

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

#int_castObject



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

VALUE llvm_builder_int_cast(VALUE, VALUE, VALUE);

#int_to_ptrObject



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

VALUE llvm_builder_int_to_ptr(VALUE, VALUE, VALUE);

#loadObject



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

VALUE llvm_builder_load(VALUE, VALUE);

#mallocObject



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

VALUE llvm_builder_malloc(VALUE, VALUE, VALUE);

#phiObject



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

VALUE llvm_builder_phi(VALUE, VALUE);

#returnObject



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

VALUE llvm_builder_return(VALUE, VALUE);

#set_insert_pointObject



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

VALUE llvm_builder_set_insert_point(VALUE, VALUE);

#storeObject



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

VALUE llvm_builder_store(VALUE, VALUE, VALUE);

#struct_gepObject



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

VALUE llvm_builder_struct_gep(VALUE, VALUE, VALUE);

#switchObject



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

VALUE llvm_builder_switch(VALUE, VALUE, VALUE);

#write(&b) ⇒ Object



74
75
76
# File 'lib/llvm.rb', line 74

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