ruby-llvm 3.0.0.beta → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +6 -3
- data/ext/ruby-llvm-support/Rakefile +1 -0
- data/lib/llvm/analysis.rb +8 -18
- data/lib/llvm/analysis_ffi.rb +68 -0
- data/lib/llvm/core.rb +2 -598
- data/lib/llvm/core/bitcode.rb +12 -16
- data/lib/llvm/core/bitcode_ffi.rb +104 -0
- data/lib/llvm/core/builder.rb +85 -84
- data/lib/llvm/core/context.rb +5 -3
- data/lib/llvm/core/module.rb +24 -22
- data/lib/llvm/core/pass_manager.rb +13 -11
- data/lib/llvm/core/type.rb +56 -24
- data/lib/llvm/core/value.rb +98 -99
- data/lib/llvm/core_ffi.rb +4712 -0
- data/lib/llvm/execution_engine.rb +46 -57
- data/lib/llvm/execution_engine_ffi.rb +310 -0
- data/lib/llvm/support.rb +2 -2
- data/lib/llvm/target.rb +2 -4
- data/lib/llvm/target_ffi.rb +217 -0
- data/lib/llvm/transforms/ipo.rb +3 -8
- data/lib/llvm/transforms/ipo_ffi.rb +122 -0
- data/lib/llvm/transforms/scalar.rb +22 -46
- data/lib/llvm/transforms/scalar_ffi.rb +250 -0
- data/lib/llvm/version.rb +1 -1
- data/test/conversions_test.rb +6 -0
- data/test/equality_test.rb +2 -2
- data/test/struct_test.rb +11 -2
- metadata +97 -83
@@ -0,0 +1,250 @@
|
|
1
|
+
# Generated by ffi_gen. Please do not change this file by hand.
|
2
|
+
|
3
|
+
require 'ffi'
|
4
|
+
|
5
|
+
module LLVM::C
|
6
|
+
extend FFI::Library
|
7
|
+
ffi_lib 'LLVM-3.0'
|
8
|
+
|
9
|
+
# (Not documented)
|
10
|
+
#
|
11
|
+
# @method add_aggressive_dce_pass(pm)
|
12
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
13
|
+
# @return [nil]
|
14
|
+
# @scope class
|
15
|
+
attach_function :add_aggressive_dce_pass, :LLVMAddAggressiveDCEPass, [:pointer], :void
|
16
|
+
|
17
|
+
# See llvm::createCFGSimplificationPass function.
|
18
|
+
#
|
19
|
+
# @method add_cfg_simplification_pass(pm)
|
20
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
21
|
+
# @return [nil]
|
22
|
+
# @scope class
|
23
|
+
attach_function :add_cfg_simplification_pass, :LLVMAddCFGSimplificationPass, [:pointer], :void
|
24
|
+
|
25
|
+
# See llvm::createDeadStoreEliminationPass function.
|
26
|
+
#
|
27
|
+
# @method add_dead_store_elimination_pass(pm)
|
28
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
29
|
+
# @return [nil]
|
30
|
+
# @scope class
|
31
|
+
attach_function :add_dead_store_elimination_pass, :LLVMAddDeadStoreEliminationPass, [:pointer], :void
|
32
|
+
|
33
|
+
# See llvm::createGVNPass function.
|
34
|
+
#
|
35
|
+
# @method add_gvn_pass(pm)
|
36
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
37
|
+
# @return [nil]
|
38
|
+
# @scope class
|
39
|
+
attach_function :add_gvn_pass, :LLVMAddGVNPass, [:pointer], :void
|
40
|
+
|
41
|
+
# See llvm::createIndVarSimplifyPass function.
|
42
|
+
#
|
43
|
+
# @method add_ind_var_simplify_pass(pm)
|
44
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
45
|
+
# @return [nil]
|
46
|
+
# @scope class
|
47
|
+
attach_function :add_ind_var_simplify_pass, :LLVMAddIndVarSimplifyPass, [:pointer], :void
|
48
|
+
|
49
|
+
# See llvm::createInstructionCombiningPass function.
|
50
|
+
#
|
51
|
+
# @method add_instruction_combining_pass(pm)
|
52
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
53
|
+
# @return [nil]
|
54
|
+
# @scope class
|
55
|
+
attach_function :add_instruction_combining_pass, :LLVMAddInstructionCombiningPass, [:pointer], :void
|
56
|
+
|
57
|
+
# See llvm::createJumpThreadingPass function.
|
58
|
+
#
|
59
|
+
# @method add_jump_threading_pass(pm)
|
60
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
61
|
+
# @return [nil]
|
62
|
+
# @scope class
|
63
|
+
attach_function :add_jump_threading_pass, :LLVMAddJumpThreadingPass, [:pointer], :void
|
64
|
+
|
65
|
+
# See llvm::createLICMPass function.
|
66
|
+
#
|
67
|
+
# @method add_licm_pass(pm)
|
68
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
69
|
+
# @return [nil]
|
70
|
+
# @scope class
|
71
|
+
attach_function :add_licm_pass, :LLVMAddLICMPass, [:pointer], :void
|
72
|
+
|
73
|
+
# See llvm::createLoopDeletionPass function.
|
74
|
+
#
|
75
|
+
# @method add_loop_deletion_pass(pm)
|
76
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
77
|
+
# @return [nil]
|
78
|
+
# @scope class
|
79
|
+
attach_function :add_loop_deletion_pass, :LLVMAddLoopDeletionPass, [:pointer], :void
|
80
|
+
|
81
|
+
# See llvm::createLoopIdiomPass function
|
82
|
+
#
|
83
|
+
# @method add_loop_idiom_pass(pm)
|
84
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
85
|
+
# @return [nil]
|
86
|
+
# @scope class
|
87
|
+
attach_function :add_loop_idiom_pass, :LLVMAddLoopIdiomPass, [:pointer], :void
|
88
|
+
|
89
|
+
# See llvm::createLoopRotatePass function.
|
90
|
+
#
|
91
|
+
# @method add_loop_rotate_pass(pm)
|
92
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
93
|
+
# @return [nil]
|
94
|
+
# @scope class
|
95
|
+
attach_function :add_loop_rotate_pass, :LLVMAddLoopRotatePass, [:pointer], :void
|
96
|
+
|
97
|
+
# See llvm::createLoopUnrollPass function.
|
98
|
+
#
|
99
|
+
# @method add_loop_unroll_pass(pm)
|
100
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
101
|
+
# @return [nil]
|
102
|
+
# @scope class
|
103
|
+
attach_function :add_loop_unroll_pass, :LLVMAddLoopUnrollPass, [:pointer], :void
|
104
|
+
|
105
|
+
# See llvm::createLoopUnswitchPass function.
|
106
|
+
#
|
107
|
+
# @method add_loop_unswitch_pass(pm)
|
108
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
109
|
+
# @return [nil]
|
110
|
+
# @scope class
|
111
|
+
attach_function :add_loop_unswitch_pass, :LLVMAddLoopUnswitchPass, [:pointer], :void
|
112
|
+
|
113
|
+
# See llvm::createMemCpyOptPass function.
|
114
|
+
#
|
115
|
+
# @method add_mem_cpy_opt_pass(pm)
|
116
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
117
|
+
# @return [nil]
|
118
|
+
# @scope class
|
119
|
+
attach_function :add_mem_cpy_opt_pass, :LLVMAddMemCpyOptPass, [:pointer], :void
|
120
|
+
|
121
|
+
# See llvm::createPromoteMemoryToRegisterPass function.
|
122
|
+
#
|
123
|
+
# @method add_promote_memory_to_register_pass(pm)
|
124
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
125
|
+
# @return [nil]
|
126
|
+
# @scope class
|
127
|
+
attach_function :add_promote_memory_to_register_pass, :LLVMAddPromoteMemoryToRegisterPass, [:pointer], :void
|
128
|
+
|
129
|
+
# See llvm::createReassociatePass function.
|
130
|
+
#
|
131
|
+
# @method add_reassociate_pass(pm)
|
132
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
133
|
+
# @return [nil]
|
134
|
+
# @scope class
|
135
|
+
attach_function :add_reassociate_pass, :LLVMAddReassociatePass, [:pointer], :void
|
136
|
+
|
137
|
+
# See llvm::createSCCPPass function.
|
138
|
+
#
|
139
|
+
# @method add_sccp_pass(pm)
|
140
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
141
|
+
# @return [nil]
|
142
|
+
# @scope class
|
143
|
+
attach_function :add_sccp_pass, :LLVMAddSCCPPass, [:pointer], :void
|
144
|
+
|
145
|
+
# See llvm::createScalarReplAggregatesPass function.
|
146
|
+
#
|
147
|
+
# @method add_scalar_repl_aggregates_pass(pm)
|
148
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
149
|
+
# @return [nil]
|
150
|
+
# @scope class
|
151
|
+
attach_function :add_scalar_repl_aggregates_pass, :LLVMAddScalarReplAggregatesPass, [:pointer], :void
|
152
|
+
|
153
|
+
# See llvm::createScalarReplAggregatesPass function.
|
154
|
+
#
|
155
|
+
# @method add_scalar_repl_aggregates_pass_ssa(pm)
|
156
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
157
|
+
# @return [nil]
|
158
|
+
# @scope class
|
159
|
+
attach_function :add_scalar_repl_aggregates_pass_ssa, :LLVMAddScalarReplAggregatesPassSSA, [:pointer], :void
|
160
|
+
|
161
|
+
# See llvm::createScalarReplAggregatesPass function.
|
162
|
+
#
|
163
|
+
# @method add_scalar_repl_aggregates_pass_with_threshold(pm, threshold)
|
164
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
165
|
+
# @param [Integer] threshold
|
166
|
+
# @return [nil]
|
167
|
+
# @scope class
|
168
|
+
attach_function :add_scalar_repl_aggregates_pass_with_threshold, :LLVMAddScalarReplAggregatesPassWithThreshold, [:pointer, :int], :void
|
169
|
+
|
170
|
+
# See llvm::createSimplifyLibCallsPass function.
|
171
|
+
#
|
172
|
+
# @method add_simplify_lib_calls_pass(pm)
|
173
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
174
|
+
# @return [nil]
|
175
|
+
# @scope class
|
176
|
+
attach_function :add_simplify_lib_calls_pass, :LLVMAddSimplifyLibCallsPass, [:pointer], :void
|
177
|
+
|
178
|
+
# See llvm::createTailCallEliminationPass function.
|
179
|
+
#
|
180
|
+
# @method add_tail_call_elimination_pass(pm)
|
181
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
182
|
+
# @return [nil]
|
183
|
+
# @scope class
|
184
|
+
attach_function :add_tail_call_elimination_pass, :LLVMAddTailCallEliminationPass, [:pointer], :void
|
185
|
+
|
186
|
+
# See llvm::createConstantPropagationPass function.
|
187
|
+
#
|
188
|
+
# @method add_constant_propagation_pass(pm)
|
189
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
190
|
+
# @return [nil]
|
191
|
+
# @scope class
|
192
|
+
attach_function :add_constant_propagation_pass, :LLVMAddConstantPropagationPass, [:pointer], :void
|
193
|
+
|
194
|
+
# See llvm::demotePromoteMemoryToRegisterPass function.
|
195
|
+
#
|
196
|
+
# @method add_demote_memory_to_register_pass(pm)
|
197
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
198
|
+
# @return [nil]
|
199
|
+
# @scope class
|
200
|
+
attach_function :add_demote_memory_to_register_pass, :LLVMAddDemoteMemoryToRegisterPass, [:pointer], :void
|
201
|
+
|
202
|
+
# See llvm::createVerifierPass function.
|
203
|
+
#
|
204
|
+
# @method add_verifier_pass(pm)
|
205
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
206
|
+
# @return [nil]
|
207
|
+
# @scope class
|
208
|
+
attach_function :add_verifier_pass, :LLVMAddVerifierPass, [:pointer], :void
|
209
|
+
|
210
|
+
# See llvm::createCorrelatedValuePropagationPass function
|
211
|
+
#
|
212
|
+
# @method add_correlated_value_propagation_pass(pm)
|
213
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
214
|
+
# @return [nil]
|
215
|
+
# @scope class
|
216
|
+
attach_function :add_correlated_value_propagation_pass, :LLVMAddCorrelatedValuePropagationPass, [:pointer], :void
|
217
|
+
|
218
|
+
# See llvm::createEarlyCSEPass function
|
219
|
+
#
|
220
|
+
# @method add_early_cse_pass(pm)
|
221
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
222
|
+
# @return [nil]
|
223
|
+
# @scope class
|
224
|
+
attach_function :add_early_cse_pass, :LLVMAddEarlyCSEPass, [:pointer], :void
|
225
|
+
|
226
|
+
# See llvm::createLowerExpectIntrinsicPass function
|
227
|
+
#
|
228
|
+
# @method add_lower_expect_intrinsic_pass(pm)
|
229
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
230
|
+
# @return [nil]
|
231
|
+
# @scope class
|
232
|
+
attach_function :add_lower_expect_intrinsic_pass, :LLVMAddLowerExpectIntrinsicPass, [:pointer], :void
|
233
|
+
|
234
|
+
# See llvm::createTypeBasedAliasAnalysisPass function
|
235
|
+
#
|
236
|
+
# @method add_type_based_alias_analysis_pass(pm)
|
237
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
238
|
+
# @return [nil]
|
239
|
+
# @scope class
|
240
|
+
attach_function :add_type_based_alias_analysis_pass, :LLVMAddTypeBasedAliasAnalysisPass, [:pointer], :void
|
241
|
+
|
242
|
+
# See llvm::createBasicAliasAnalysisPass function
|
243
|
+
#
|
244
|
+
# @method add_basic_alias_analysis_pass(pm)
|
245
|
+
# @param [FFI::Pointer(PassManagerRef)] pm
|
246
|
+
# @return [nil]
|
247
|
+
# @scope class
|
248
|
+
attach_function :add_basic_alias_analysis_pass, :LLVMAddBasicAliasAnalysisPass, [:pointer], :void
|
249
|
+
|
250
|
+
end
|
data/lib/llvm/version.rb
CHANGED
data/test/conversions_test.rb
CHANGED
@@ -56,6 +56,12 @@ class ConversionsTestCase < Test::Unit::TestCase
|
|
56
56
|
different_type_assertion(:bit_cast, LLVM::Int8.from_i(255), LLVM::Int8, :integer, -1)
|
57
57
|
end
|
58
58
|
|
59
|
+
def test_int64
|
60
|
+
integer_conversion_assertion(:zext, LLVM::Int64.from_i(2**62 + 123), LLVM::Int64, LLVM_SIGNED, 2**62 + 123)
|
61
|
+
integer_conversion_assertion(:zext, LLVM::Int64.from_i(-2**62 - 123), LLVM::Int64, LLVM_SIGNED, -2**62 - 123)
|
62
|
+
integer_conversion_assertion(:zext, LLVM::Int64.from_i(2**63 + 123), LLVM::Int64, LLVM_UNSIGNED, 2**63 + 123)
|
63
|
+
end
|
64
|
+
|
59
65
|
def integer_conversion_assertion(operation, operand, return_type, signed, expected_result)
|
60
66
|
result = run_conversion_operation(operation, operand, return_type)
|
61
67
|
assert_equal expected_result, result.to_i(signed)
|
data/test/equality_test.rb
CHANGED
@@ -59,9 +59,9 @@ class EqualityTestCase < Test::Unit::TestCase
|
|
59
59
|
|
60
60
|
def test_type
|
61
61
|
type1 = LLVM::Float.type
|
62
|
-
type2 = LLVM::Type.from_ptr(type1.to_ptr)
|
62
|
+
type2 = LLVM::Type.from_ptr(type1.to_ptr, nil)
|
63
63
|
type3 = LLVM::Double.type
|
64
|
-
type4 = MyType.from_ptr(type1.to_ptr)
|
64
|
+
type4 = MyType.from_ptr(type1.to_ptr, :mytype)
|
65
65
|
|
66
66
|
assert_equalities :equal => [type1, type2, type4],
|
67
67
|
:not_equal => [type1, type3],
|
data/test/struct_test.rb
CHANGED
@@ -11,14 +11,23 @@ class StructTestCase < Test::Unit::TestCase
|
|
11
11
|
|
12
12
|
def test_simple_struct
|
13
13
|
struct = LLVM::Struct(LLVM::Int, LLVM::Float)
|
14
|
-
assert_instance_of LLVM::
|
14
|
+
assert_instance_of LLVM::StructType, struct
|
15
|
+
assert_equal 2, struct.element_types.size
|
16
|
+
assert_equal LLVM::Int.type, struct.element_types[0]
|
17
|
+
assert_equal LLVM::Float.type, struct.element_types[1]
|
15
18
|
end
|
16
19
|
|
17
20
|
def test_named_struct
|
18
21
|
struct = LLVM::Struct(LLVM::Int, LLVM::Float, "struct100")
|
19
|
-
assert_instance_of LLVM::
|
22
|
+
assert_instance_of LLVM::StructType, struct
|
20
23
|
assert_equal "struct100", struct.name
|
21
24
|
end
|
25
|
+
|
26
|
+
def test_deferred_element_type_setting
|
27
|
+
struct = LLVM::Struct("struct200")
|
28
|
+
struct.element_types = [LLVM::Int, LLVM::Float]
|
29
|
+
assert_equal 2, struct.element_types.size
|
30
|
+
end
|
22
31
|
|
23
32
|
def test_unpacked_constant_struct_from_size
|
24
33
|
struct = LLVM::ConstantStruct.const(2, LLVM_UNPACKED) { |i| LLVM::Int(i) }
|
metadata
CHANGED
@@ -1,70 +1,97 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-llvm
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 3
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
version: 3.0.0
|
6
10
|
platform: ruby
|
7
|
-
authors:
|
11
|
+
authors:
|
8
12
|
- Jeremy Voorhis
|
9
13
|
autorequire:
|
10
14
|
bindir: bin
|
11
15
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
16
|
+
|
17
|
+
date: 2012-03-02 00:00:00 -08:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: ffi
|
16
|
-
|
17
|
-
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 1
|
29
|
+
- 0
|
30
|
+
- 0
|
21
31
|
version: 1.0.0
|
22
32
|
type: :runtime
|
33
|
+
version_requirements: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: ffi_gen
|
23
36
|
prerelease: false
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '0'
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
segments:
|
42
|
+
- 0
|
43
|
+
version: "0"
|
33
44
|
type: :development
|
45
|
+
version_requirements: *id002
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rake
|
34
48
|
prerelease: false
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: '0'
|
49
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
segments:
|
54
|
+
- 0
|
55
|
+
version: "0"
|
44
56
|
type: :development
|
57
|
+
version_requirements: *id003
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: rcov
|
45
60
|
prerelease: false
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
61
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
62
|
+
requirements:
|
63
|
+
- - ">="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
segments:
|
66
|
+
- 0
|
67
|
+
version: "0"
|
55
68
|
type: :development
|
69
|
+
version_requirements: *id004
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: yard
|
56
72
|
prerelease: false
|
57
|
-
|
73
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
segments:
|
78
|
+
- 0
|
79
|
+
version: "0"
|
80
|
+
type: :development
|
81
|
+
version_requirements: *id005
|
58
82
|
description: LLVM bindings for Ruby
|
59
83
|
email: jvoorhis@gmail.com
|
60
84
|
executables: []
|
61
|
-
|
85
|
+
|
86
|
+
extensions:
|
62
87
|
- ext/ruby-llvm-support/Rakefile
|
63
|
-
extra_rdoc_files:
|
88
|
+
extra_rdoc_files:
|
64
89
|
- README.rdoc
|
65
|
-
files:
|
90
|
+
files:
|
66
91
|
- lib/llvm/analysis.rb
|
92
|
+
- lib/llvm/analysis_ffi.rb
|
67
93
|
- lib/llvm/core/bitcode.rb
|
94
|
+
- lib/llvm/core/bitcode_ffi.rb
|
68
95
|
- lib/llvm/core/builder.rb
|
69
96
|
- lib/llvm/core/context.rb
|
70
97
|
- lib/llvm/core/module.rb
|
@@ -72,64 +99,52 @@ files:
|
|
72
99
|
- lib/llvm/core/type.rb
|
73
100
|
- lib/llvm/core/value.rb
|
74
101
|
- lib/llvm/core.rb
|
102
|
+
- lib/llvm/core_ffi.rb
|
75
103
|
- lib/llvm/execution_engine.rb
|
104
|
+
- lib/llvm/execution_engine_ffi.rb
|
76
105
|
- lib/llvm/support.rb
|
77
106
|
- lib/llvm/target.rb
|
107
|
+
- lib/llvm/target_ffi.rb
|
78
108
|
- lib/llvm/transforms/ipo.rb
|
109
|
+
- lib/llvm/transforms/ipo_ffi.rb
|
79
110
|
- lib/llvm/transforms/scalar.rb
|
111
|
+
- lib/llvm/transforms/scalar_ffi.rb
|
80
112
|
- lib/llvm/version.rb
|
81
113
|
- lib/llvm.rb
|
82
114
|
- ext/ruby-llvm-support/Rakefile
|
83
115
|
- ext/ruby-llvm-support/support.cpp
|
84
116
|
- README.rdoc
|
85
|
-
|
86
|
-
- test/basic_block_test.rb
|
87
|
-
- test/basic_test.rb
|
88
|
-
- test/binary_operations_test.rb
|
89
|
-
- test/bitcode_test.rb
|
90
|
-
- test/branch_test.rb
|
91
|
-
- test/call_test.rb
|
92
|
-
- test/comparisons_test.rb
|
93
|
-
- test/conversions_test.rb
|
94
|
-
- test/double_test.rb
|
95
|
-
- test/equality_test.rb
|
96
|
-
- test/generic_value_test.rb
|
97
|
-
- test/instruction_test.rb
|
98
|
-
- test/ipo_test.rb
|
99
|
-
- test/memory_access_test.rb
|
100
|
-
- test/module_test.rb
|
101
|
-
- test/parameter_collection_test.rb
|
102
|
-
- test/phi_test.rb
|
103
|
-
- test/select_test.rb
|
104
|
-
- test/struct_test.rb
|
105
|
-
- test/test_helper.rb
|
106
|
-
- test/type_test.rb
|
107
|
-
- test/vector_test.rb
|
117
|
+
has_rdoc: true
|
108
118
|
homepage: http://github.com/jvoorhis/ruby-llvm
|
109
119
|
licenses: []
|
120
|
+
|
110
121
|
post_install_message:
|
111
122
|
rdoc_options: []
|
112
|
-
|
123
|
+
|
124
|
+
require_paths:
|
113
125
|
- lib
|
114
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
requirements:
|
123
|
-
- -
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
|
126
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
segments:
|
131
|
+
- 0
|
132
|
+
version: "0"
|
133
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
segments:
|
138
|
+
- 0
|
139
|
+
version: "0"
|
126
140
|
requirements: []
|
141
|
+
|
127
142
|
rubyforge_project:
|
128
|
-
rubygems_version: 1.
|
143
|
+
rubygems_version: 1.3.6
|
129
144
|
signing_key:
|
130
145
|
specification_version: 3
|
131
146
|
summary: LLVM bindings for Ruby
|
132
|
-
test_files:
|
147
|
+
test_files:
|
133
148
|
- test/array_test.rb
|
134
149
|
- test/basic_block_test.rb
|
135
150
|
- test/basic_test.rb
|
@@ -153,4 +168,3 @@ test_files:
|
|
153
168
|
- test/test_helper.rb
|
154
169
|
- test/type_test.rb
|
155
170
|
- test/vector_test.rb
|
156
|
-
has_rdoc: true
|