ruby-llvm 3.0.0 → 3.1.0.beta.1
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 +1 -1
- data/ext/ruby-llvm-support/Rakefile +1 -1
- data/lib/llvm.rb +1 -1
- data/lib/llvm/analysis_ffi.rb +26 -19
- data/lib/llvm/core/bitcode_ffi.rb +24 -18
- data/lib/llvm/core/builder.rb +15 -3
- data/lib/llvm/core/type.rb +16 -1
- data/lib/llvm/core/value.rb +25 -2
- data/lib/llvm/core_ffi.rb +3014 -2470
- data/lib/llvm/execution_engine_ffi.rb +101 -99
- data/lib/llvm/support.rb +1 -1
- data/lib/llvm/target_ffi.rb +155 -93
- data/lib/llvm/transforms/ipo_ffi.rb +23 -17
- data/lib/llvm/transforms/scalar_ffi.rb +39 -33
- data/lib/llvm/version.rb +2 -2
- data/test/array_test.rb +2 -2
- data/test/vector_test.rb +2 -2
- metadata +93 -89
@@ -4,8 +4,14 @@ require 'ffi'
|
|
4
4
|
|
5
5
|
module LLVM::C
|
6
6
|
extend FFI::Library
|
7
|
-
ffi_lib 'LLVM-3.
|
8
|
-
|
7
|
+
ffi_lib 'LLVM-3.1'
|
8
|
+
|
9
|
+
def self.attach_function(name, *_)
|
10
|
+
begin; super; rescue FFI::NotFoundError => e
|
11
|
+
(class << self; self; end).class_eval { define_method(name) { |*_| raise e } }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
9
15
|
# (Not documented)
|
10
16
|
#
|
11
17
|
# @method add_argument_promotion_pass(pm)
|
@@ -13,7 +19,7 @@ module LLVM::C
|
|
13
19
|
# @return [nil]
|
14
20
|
# @scope class
|
15
21
|
attach_function :add_argument_promotion_pass, :LLVMAddArgumentPromotionPass, [:pointer], :void
|
16
|
-
|
22
|
+
|
17
23
|
# See llvm::createConstantMergePass function.
|
18
24
|
#
|
19
25
|
# @method add_constant_merge_pass(pm)
|
@@ -21,7 +27,7 @@ module LLVM::C
|
|
21
27
|
# @return [nil]
|
22
28
|
# @scope class
|
23
29
|
attach_function :add_constant_merge_pass, :LLVMAddConstantMergePass, [:pointer], :void
|
24
|
-
|
30
|
+
|
25
31
|
# See llvm::createDeadArgEliminationPass function.
|
26
32
|
#
|
27
33
|
# @method add_dead_arg_elimination_pass(pm)
|
@@ -29,7 +35,7 @@ module LLVM::C
|
|
29
35
|
# @return [nil]
|
30
36
|
# @scope class
|
31
37
|
attach_function :add_dead_arg_elimination_pass, :LLVMAddDeadArgEliminationPass, [:pointer], :void
|
32
|
-
|
38
|
+
|
33
39
|
# See llvm::createFunctionAttrsPass function.
|
34
40
|
#
|
35
41
|
# @method add_function_attrs_pass(pm)
|
@@ -37,7 +43,7 @@ module LLVM::C
|
|
37
43
|
# @return [nil]
|
38
44
|
# @scope class
|
39
45
|
attach_function :add_function_attrs_pass, :LLVMAddFunctionAttrsPass, [:pointer], :void
|
40
|
-
|
46
|
+
|
41
47
|
# See llvm::createFunctionInliningPass function.
|
42
48
|
#
|
43
49
|
# @method add_function_inlining_pass(pm)
|
@@ -45,7 +51,7 @@ module LLVM::C
|
|
45
51
|
# @return [nil]
|
46
52
|
# @scope class
|
47
53
|
attach_function :add_function_inlining_pass, :LLVMAddFunctionInliningPass, [:pointer], :void
|
48
|
-
|
54
|
+
|
49
55
|
# See llvm::createAlwaysInlinerPass function.
|
50
56
|
#
|
51
57
|
# @method add_always_inliner_pass(pm)
|
@@ -53,7 +59,7 @@ module LLVM::C
|
|
53
59
|
# @return [nil]
|
54
60
|
# @scope class
|
55
61
|
attach_function :add_always_inliner_pass, :LLVMAddAlwaysInlinerPass, [:pointer], :void
|
56
|
-
|
62
|
+
|
57
63
|
# See llvm::createGlobalDCEPass function.
|
58
64
|
#
|
59
65
|
# @method add_global_dce_pass(pm)
|
@@ -61,7 +67,7 @@ module LLVM::C
|
|
61
67
|
# @return [nil]
|
62
68
|
# @scope class
|
63
69
|
attach_function :add_global_dce_pass, :LLVMAddGlobalDCEPass, [:pointer], :void
|
64
|
-
|
70
|
+
|
65
71
|
# See llvm::createGlobalOptimizerPass function.
|
66
72
|
#
|
67
73
|
# @method add_global_optimizer_pass(pm)
|
@@ -69,7 +75,7 @@ module LLVM::C
|
|
69
75
|
# @return [nil]
|
70
76
|
# @scope class
|
71
77
|
attach_function :add_global_optimizer_pass, :LLVMAddGlobalOptimizerPass, [:pointer], :void
|
72
|
-
|
78
|
+
|
73
79
|
# See llvm::createIPConstantPropagationPass function.
|
74
80
|
#
|
75
81
|
# @method add_ip_constant_propagation_pass(pm)
|
@@ -77,7 +83,7 @@ module LLVM::C
|
|
77
83
|
# @return [nil]
|
78
84
|
# @scope class
|
79
85
|
attach_function :add_ip_constant_propagation_pass, :LLVMAddIPConstantPropagationPass, [:pointer], :void
|
80
|
-
|
86
|
+
|
81
87
|
# See llvm::createPruneEHPass function.
|
82
88
|
#
|
83
89
|
# @method add_prune_eh_pass(pm)
|
@@ -85,7 +91,7 @@ module LLVM::C
|
|
85
91
|
# @return [nil]
|
86
92
|
# @scope class
|
87
93
|
attach_function :add_prune_eh_pass, :LLVMAddPruneEHPass, [:pointer], :void
|
88
|
-
|
94
|
+
|
89
95
|
# See llvm::createIPSCCPPass function.
|
90
96
|
#
|
91
97
|
# @method add_ipsccp_pass(pm)
|
@@ -93,7 +99,7 @@ module LLVM::C
|
|
93
99
|
# @return [nil]
|
94
100
|
# @scope class
|
95
101
|
attach_function :add_ipsccp_pass, :LLVMAddIPSCCPPass, [:pointer], :void
|
96
|
-
|
102
|
+
|
97
103
|
# See llvm::createInternalizePass function.
|
98
104
|
#
|
99
105
|
# @method add_internalize_pass(pass_manager_ref, all_but_main)
|
@@ -102,7 +108,7 @@ module LLVM::C
|
|
102
108
|
# @return [nil]
|
103
109
|
# @scope class
|
104
110
|
attach_function :add_internalize_pass, :LLVMAddInternalizePass, [:pointer, :uint], :void
|
105
|
-
|
111
|
+
|
106
112
|
# See llvm::createStripDeadPrototypesPass function.
|
107
113
|
#
|
108
114
|
# @method add_strip_dead_prototypes_pass(pm)
|
@@ -110,7 +116,7 @@ module LLVM::C
|
|
110
116
|
# @return [nil]
|
111
117
|
# @scope class
|
112
118
|
attach_function :add_strip_dead_prototypes_pass, :LLVMAddStripDeadPrototypesPass, [:pointer], :void
|
113
|
-
|
119
|
+
|
114
120
|
# See llvm::createStripSymbolsPass function.
|
115
121
|
#
|
116
122
|
# @method add_strip_symbols_pass(pm)
|
@@ -118,5 +124,5 @@ module LLVM::C
|
|
118
124
|
# @return [nil]
|
119
125
|
# @scope class
|
120
126
|
attach_function :add_strip_symbols_pass, :LLVMAddStripSymbolsPass, [:pointer], :void
|
121
|
-
|
122
|
-
end
|
127
|
+
|
128
|
+
end
|
@@ -4,8 +4,14 @@ require 'ffi'
|
|
4
4
|
|
5
5
|
module LLVM::C
|
6
6
|
extend FFI::Library
|
7
|
-
ffi_lib 'LLVM-3.
|
8
|
-
|
7
|
+
ffi_lib 'LLVM-3.1'
|
8
|
+
|
9
|
+
def self.attach_function(name, *_)
|
10
|
+
begin; super; rescue FFI::NotFoundError => e
|
11
|
+
(class << self; self; end).class_eval { define_method(name) { |*_| raise e } }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
9
15
|
# (Not documented)
|
10
16
|
#
|
11
17
|
# @method add_aggressive_dce_pass(pm)
|
@@ -13,7 +19,7 @@ module LLVM::C
|
|
13
19
|
# @return [nil]
|
14
20
|
# @scope class
|
15
21
|
attach_function :add_aggressive_dce_pass, :LLVMAddAggressiveDCEPass, [:pointer], :void
|
16
|
-
|
22
|
+
|
17
23
|
# See llvm::createCFGSimplificationPass function.
|
18
24
|
#
|
19
25
|
# @method add_cfg_simplification_pass(pm)
|
@@ -21,7 +27,7 @@ module LLVM::C
|
|
21
27
|
# @return [nil]
|
22
28
|
# @scope class
|
23
29
|
attach_function :add_cfg_simplification_pass, :LLVMAddCFGSimplificationPass, [:pointer], :void
|
24
|
-
|
30
|
+
|
25
31
|
# See llvm::createDeadStoreEliminationPass function.
|
26
32
|
#
|
27
33
|
# @method add_dead_store_elimination_pass(pm)
|
@@ -29,7 +35,7 @@ module LLVM::C
|
|
29
35
|
# @return [nil]
|
30
36
|
# @scope class
|
31
37
|
attach_function :add_dead_store_elimination_pass, :LLVMAddDeadStoreEliminationPass, [:pointer], :void
|
32
|
-
|
38
|
+
|
33
39
|
# See llvm::createGVNPass function.
|
34
40
|
#
|
35
41
|
# @method add_gvn_pass(pm)
|
@@ -37,7 +43,7 @@ module LLVM::C
|
|
37
43
|
# @return [nil]
|
38
44
|
# @scope class
|
39
45
|
attach_function :add_gvn_pass, :LLVMAddGVNPass, [:pointer], :void
|
40
|
-
|
46
|
+
|
41
47
|
# See llvm::createIndVarSimplifyPass function.
|
42
48
|
#
|
43
49
|
# @method add_ind_var_simplify_pass(pm)
|
@@ -45,7 +51,7 @@ module LLVM::C
|
|
45
51
|
# @return [nil]
|
46
52
|
# @scope class
|
47
53
|
attach_function :add_ind_var_simplify_pass, :LLVMAddIndVarSimplifyPass, [:pointer], :void
|
48
|
-
|
54
|
+
|
49
55
|
# See llvm::createInstructionCombiningPass function.
|
50
56
|
#
|
51
57
|
# @method add_instruction_combining_pass(pm)
|
@@ -53,7 +59,7 @@ module LLVM::C
|
|
53
59
|
# @return [nil]
|
54
60
|
# @scope class
|
55
61
|
attach_function :add_instruction_combining_pass, :LLVMAddInstructionCombiningPass, [:pointer], :void
|
56
|
-
|
62
|
+
|
57
63
|
# See llvm::createJumpThreadingPass function.
|
58
64
|
#
|
59
65
|
# @method add_jump_threading_pass(pm)
|
@@ -61,7 +67,7 @@ module LLVM::C
|
|
61
67
|
# @return [nil]
|
62
68
|
# @scope class
|
63
69
|
attach_function :add_jump_threading_pass, :LLVMAddJumpThreadingPass, [:pointer], :void
|
64
|
-
|
70
|
+
|
65
71
|
# See llvm::createLICMPass function.
|
66
72
|
#
|
67
73
|
# @method add_licm_pass(pm)
|
@@ -69,7 +75,7 @@ module LLVM::C
|
|
69
75
|
# @return [nil]
|
70
76
|
# @scope class
|
71
77
|
attach_function :add_licm_pass, :LLVMAddLICMPass, [:pointer], :void
|
72
|
-
|
78
|
+
|
73
79
|
# See llvm::createLoopDeletionPass function.
|
74
80
|
#
|
75
81
|
# @method add_loop_deletion_pass(pm)
|
@@ -77,7 +83,7 @@ module LLVM::C
|
|
77
83
|
# @return [nil]
|
78
84
|
# @scope class
|
79
85
|
attach_function :add_loop_deletion_pass, :LLVMAddLoopDeletionPass, [:pointer], :void
|
80
|
-
|
86
|
+
|
81
87
|
# See llvm::createLoopIdiomPass function
|
82
88
|
#
|
83
89
|
# @method add_loop_idiom_pass(pm)
|
@@ -85,7 +91,7 @@ module LLVM::C
|
|
85
91
|
# @return [nil]
|
86
92
|
# @scope class
|
87
93
|
attach_function :add_loop_idiom_pass, :LLVMAddLoopIdiomPass, [:pointer], :void
|
88
|
-
|
94
|
+
|
89
95
|
# See llvm::createLoopRotatePass function.
|
90
96
|
#
|
91
97
|
# @method add_loop_rotate_pass(pm)
|
@@ -93,7 +99,7 @@ module LLVM::C
|
|
93
99
|
# @return [nil]
|
94
100
|
# @scope class
|
95
101
|
attach_function :add_loop_rotate_pass, :LLVMAddLoopRotatePass, [:pointer], :void
|
96
|
-
|
102
|
+
|
97
103
|
# See llvm::createLoopUnrollPass function.
|
98
104
|
#
|
99
105
|
# @method add_loop_unroll_pass(pm)
|
@@ -101,7 +107,7 @@ module LLVM::C
|
|
101
107
|
# @return [nil]
|
102
108
|
# @scope class
|
103
109
|
attach_function :add_loop_unroll_pass, :LLVMAddLoopUnrollPass, [:pointer], :void
|
104
|
-
|
110
|
+
|
105
111
|
# See llvm::createLoopUnswitchPass function.
|
106
112
|
#
|
107
113
|
# @method add_loop_unswitch_pass(pm)
|
@@ -109,7 +115,7 @@ module LLVM::C
|
|
109
115
|
# @return [nil]
|
110
116
|
# @scope class
|
111
117
|
attach_function :add_loop_unswitch_pass, :LLVMAddLoopUnswitchPass, [:pointer], :void
|
112
|
-
|
118
|
+
|
113
119
|
# See llvm::createMemCpyOptPass function.
|
114
120
|
#
|
115
121
|
# @method add_mem_cpy_opt_pass(pm)
|
@@ -117,7 +123,7 @@ module LLVM::C
|
|
117
123
|
# @return [nil]
|
118
124
|
# @scope class
|
119
125
|
attach_function :add_mem_cpy_opt_pass, :LLVMAddMemCpyOptPass, [:pointer], :void
|
120
|
-
|
126
|
+
|
121
127
|
# See llvm::createPromoteMemoryToRegisterPass function.
|
122
128
|
#
|
123
129
|
# @method add_promote_memory_to_register_pass(pm)
|
@@ -125,7 +131,7 @@ module LLVM::C
|
|
125
131
|
# @return [nil]
|
126
132
|
# @scope class
|
127
133
|
attach_function :add_promote_memory_to_register_pass, :LLVMAddPromoteMemoryToRegisterPass, [:pointer], :void
|
128
|
-
|
134
|
+
|
129
135
|
# See llvm::createReassociatePass function.
|
130
136
|
#
|
131
137
|
# @method add_reassociate_pass(pm)
|
@@ -133,7 +139,7 @@ module LLVM::C
|
|
133
139
|
# @return [nil]
|
134
140
|
# @scope class
|
135
141
|
attach_function :add_reassociate_pass, :LLVMAddReassociatePass, [:pointer], :void
|
136
|
-
|
142
|
+
|
137
143
|
# See llvm::createSCCPPass function.
|
138
144
|
#
|
139
145
|
# @method add_sccp_pass(pm)
|
@@ -141,7 +147,7 @@ module LLVM::C
|
|
141
147
|
# @return [nil]
|
142
148
|
# @scope class
|
143
149
|
attach_function :add_sccp_pass, :LLVMAddSCCPPass, [:pointer], :void
|
144
|
-
|
150
|
+
|
145
151
|
# See llvm::createScalarReplAggregatesPass function.
|
146
152
|
#
|
147
153
|
# @method add_scalar_repl_aggregates_pass(pm)
|
@@ -149,7 +155,7 @@ module LLVM::C
|
|
149
155
|
# @return [nil]
|
150
156
|
# @scope class
|
151
157
|
attach_function :add_scalar_repl_aggregates_pass, :LLVMAddScalarReplAggregatesPass, [:pointer], :void
|
152
|
-
|
158
|
+
|
153
159
|
# See llvm::createScalarReplAggregatesPass function.
|
154
160
|
#
|
155
161
|
# @method add_scalar_repl_aggregates_pass_ssa(pm)
|
@@ -157,7 +163,7 @@ module LLVM::C
|
|
157
163
|
# @return [nil]
|
158
164
|
# @scope class
|
159
165
|
attach_function :add_scalar_repl_aggregates_pass_ssa, :LLVMAddScalarReplAggregatesPassSSA, [:pointer], :void
|
160
|
-
|
166
|
+
|
161
167
|
# See llvm::createScalarReplAggregatesPass function.
|
162
168
|
#
|
163
169
|
# @method add_scalar_repl_aggregates_pass_with_threshold(pm, threshold)
|
@@ -166,7 +172,7 @@ module LLVM::C
|
|
166
172
|
# @return [nil]
|
167
173
|
# @scope class
|
168
174
|
attach_function :add_scalar_repl_aggregates_pass_with_threshold, :LLVMAddScalarReplAggregatesPassWithThreshold, [:pointer, :int], :void
|
169
|
-
|
175
|
+
|
170
176
|
# See llvm::createSimplifyLibCallsPass function.
|
171
177
|
#
|
172
178
|
# @method add_simplify_lib_calls_pass(pm)
|
@@ -174,7 +180,7 @@ module LLVM::C
|
|
174
180
|
# @return [nil]
|
175
181
|
# @scope class
|
176
182
|
attach_function :add_simplify_lib_calls_pass, :LLVMAddSimplifyLibCallsPass, [:pointer], :void
|
177
|
-
|
183
|
+
|
178
184
|
# See llvm::createTailCallEliminationPass function.
|
179
185
|
#
|
180
186
|
# @method add_tail_call_elimination_pass(pm)
|
@@ -182,7 +188,7 @@ module LLVM::C
|
|
182
188
|
# @return [nil]
|
183
189
|
# @scope class
|
184
190
|
attach_function :add_tail_call_elimination_pass, :LLVMAddTailCallEliminationPass, [:pointer], :void
|
185
|
-
|
191
|
+
|
186
192
|
# See llvm::createConstantPropagationPass function.
|
187
193
|
#
|
188
194
|
# @method add_constant_propagation_pass(pm)
|
@@ -190,7 +196,7 @@ module LLVM::C
|
|
190
196
|
# @return [nil]
|
191
197
|
# @scope class
|
192
198
|
attach_function :add_constant_propagation_pass, :LLVMAddConstantPropagationPass, [:pointer], :void
|
193
|
-
|
199
|
+
|
194
200
|
# See llvm::demotePromoteMemoryToRegisterPass function.
|
195
201
|
#
|
196
202
|
# @method add_demote_memory_to_register_pass(pm)
|
@@ -198,7 +204,7 @@ module LLVM::C
|
|
198
204
|
# @return [nil]
|
199
205
|
# @scope class
|
200
206
|
attach_function :add_demote_memory_to_register_pass, :LLVMAddDemoteMemoryToRegisterPass, [:pointer], :void
|
201
|
-
|
207
|
+
|
202
208
|
# See llvm::createVerifierPass function.
|
203
209
|
#
|
204
210
|
# @method add_verifier_pass(pm)
|
@@ -206,7 +212,7 @@ module LLVM::C
|
|
206
212
|
# @return [nil]
|
207
213
|
# @scope class
|
208
214
|
attach_function :add_verifier_pass, :LLVMAddVerifierPass, [:pointer], :void
|
209
|
-
|
215
|
+
|
210
216
|
# See llvm::createCorrelatedValuePropagationPass function
|
211
217
|
#
|
212
218
|
# @method add_correlated_value_propagation_pass(pm)
|
@@ -214,7 +220,7 @@ module LLVM::C
|
|
214
220
|
# @return [nil]
|
215
221
|
# @scope class
|
216
222
|
attach_function :add_correlated_value_propagation_pass, :LLVMAddCorrelatedValuePropagationPass, [:pointer], :void
|
217
|
-
|
223
|
+
|
218
224
|
# See llvm::createEarlyCSEPass function
|
219
225
|
#
|
220
226
|
# @method add_early_cse_pass(pm)
|
@@ -222,7 +228,7 @@ module LLVM::C
|
|
222
228
|
# @return [nil]
|
223
229
|
# @scope class
|
224
230
|
attach_function :add_early_cse_pass, :LLVMAddEarlyCSEPass, [:pointer], :void
|
225
|
-
|
231
|
+
|
226
232
|
# See llvm::createLowerExpectIntrinsicPass function
|
227
233
|
#
|
228
234
|
# @method add_lower_expect_intrinsic_pass(pm)
|
@@ -230,7 +236,7 @@ module LLVM::C
|
|
230
236
|
# @return [nil]
|
231
237
|
# @scope class
|
232
238
|
attach_function :add_lower_expect_intrinsic_pass, :LLVMAddLowerExpectIntrinsicPass, [:pointer], :void
|
233
|
-
|
239
|
+
|
234
240
|
# See llvm::createTypeBasedAliasAnalysisPass function
|
235
241
|
#
|
236
242
|
# @method add_type_based_alias_analysis_pass(pm)
|
@@ -238,7 +244,7 @@ module LLVM::C
|
|
238
244
|
# @return [nil]
|
239
245
|
# @scope class
|
240
246
|
attach_function :add_type_based_alias_analysis_pass, :LLVMAddTypeBasedAliasAnalysisPass, [:pointer], :void
|
241
|
-
|
247
|
+
|
242
248
|
# See llvm::createBasicAliasAnalysisPass function
|
243
249
|
#
|
244
250
|
# @method add_basic_alias_analysis_pass(pm)
|
@@ -246,5 +252,5 @@ module LLVM::C
|
|
246
252
|
# @return [nil]
|
247
253
|
# @scope class
|
248
254
|
attach_function :add_basic_alias_analysis_pass, :LLVMAddBasicAliasAnalysisPass, [:pointer], :void
|
249
|
-
|
250
|
-
end
|
255
|
+
|
256
|
+
end
|
data/lib/llvm/version.rb
CHANGED
data/test/array_test.rb
CHANGED
@@ -9,13 +9,13 @@ class ArrayTestCase < Test::Unit::TestCase
|
|
9
9
|
def test_constant_array_from_size
|
10
10
|
array = LLVM::ConstantArray.const(LLVM::Int, 2) { |i| LLVM::Int(i) }
|
11
11
|
assert_instance_of LLVM::ConstantArray, array
|
12
|
-
assert_equal 2, array.
|
12
|
+
assert_equal 2, array.size
|
13
13
|
end
|
14
14
|
|
15
15
|
def test_constant_array_from_array
|
16
16
|
array = LLVM::ConstantArray.const(LLVM::Int, [LLVM::Int(0), LLVM::Int(1)])
|
17
17
|
assert_instance_of LLVM::ConstantArray, array
|
18
|
-
assert_equal 2, array.
|
18
|
+
assert_equal 2, array.size
|
19
19
|
end
|
20
20
|
|
21
21
|
def test_array_values
|
data/test/vector_test.rb
CHANGED
@@ -15,13 +15,13 @@ class VectorTestCase < Test::Unit::TestCase
|
|
15
15
|
def test_constant_vector_from_size
|
16
16
|
vector = LLVM::ConstantVector.const(2) { |i| LLVM::Int(i) }
|
17
17
|
assert_instance_of LLVM::ConstantVector, vector
|
18
|
-
assert_equal 2, vector.
|
18
|
+
assert_equal 2, vector.size
|
19
19
|
end
|
20
20
|
|
21
21
|
def test_constant_vector_from_array
|
22
22
|
vector = LLVM::ConstantVector.const([LLVM::Int(0), LLVM::Int(1)])
|
23
23
|
assert_instance_of LLVM::ConstantVector, vector
|
24
|
-
assert_equal 2, vector.
|
24
|
+
assert_equal 2, vector.size
|
25
25
|
end
|
26
26
|
|
27
27
|
def test_vector_elements
|
metadata
CHANGED
@@ -1,93 +1,79 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-llvm
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 3
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
version: 3.0.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 3.1.0.beta.1
|
5
|
+
prerelease: 6
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Jeremy Voorhis
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-09-21 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: ffi
|
22
|
-
|
23
|
-
|
24
|
-
requirements:
|
25
|
-
- -
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
segments:
|
28
|
-
- 1
|
29
|
-
- 0
|
30
|
-
- 0
|
16
|
+
requirement: &70118972255960 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
31
21
|
version: 1.0.0
|
32
22
|
type: :runtime
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: ffi_gen
|
36
23
|
prerelease: false
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
24
|
+
version_requirements: *70118972255960
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: ffi_gen
|
27
|
+
requirement: &70118972255040 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
44
33
|
type: :development
|
45
|
-
version_requirements: *id002
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: rake
|
48
34
|
prerelease: false
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
35
|
+
version_requirements: *70118972255040
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rake
|
38
|
+
requirement: &70118972254200 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
56
44
|
type: :development
|
57
|
-
version_requirements: *id003
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
-
name: rcov
|
60
45
|
prerelease: false
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
46
|
+
version_requirements: *70118972254200
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rcov
|
49
|
+
requirement: &70118972251640 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
68
55
|
type: :development
|
69
|
-
version_requirements: *id004
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: yard
|
72
56
|
prerelease: false
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
57
|
+
version_requirements: *70118972251640
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: yard
|
60
|
+
requirement: &70118972250100 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
80
66
|
type: :development
|
81
|
-
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *70118972250100
|
82
69
|
description: LLVM bindings for Ruby
|
83
70
|
email: jvoorhis@gmail.com
|
84
71
|
executables: []
|
85
|
-
|
86
|
-
extensions:
|
72
|
+
extensions:
|
87
73
|
- ext/ruby-llvm-support/Rakefile
|
88
|
-
extra_rdoc_files:
|
74
|
+
extra_rdoc_files:
|
89
75
|
- README.rdoc
|
90
|
-
files:
|
76
|
+
files:
|
91
77
|
- lib/llvm/analysis.rb
|
92
78
|
- lib/llvm/analysis_ffi.rb
|
93
79
|
- lib/llvm/core/bitcode.rb
|
@@ -114,37 +100,54 @@ files:
|
|
114
100
|
- ext/ruby-llvm-support/Rakefile
|
115
101
|
- ext/ruby-llvm-support/support.cpp
|
116
102
|
- README.rdoc
|
117
|
-
|
103
|
+
- test/array_test.rb
|
104
|
+
- test/basic_block_test.rb
|
105
|
+
- test/basic_test.rb
|
106
|
+
- test/binary_operations_test.rb
|
107
|
+
- test/bitcode_test.rb
|
108
|
+
- test/branch_test.rb
|
109
|
+
- test/call_test.rb
|
110
|
+
- test/comparisons_test.rb
|
111
|
+
- test/conversions_test.rb
|
112
|
+
- test/double_test.rb
|
113
|
+
- test/equality_test.rb
|
114
|
+
- test/generic_value_test.rb
|
115
|
+
- test/instruction_test.rb
|
116
|
+
- test/ipo_test.rb
|
117
|
+
- test/memory_access_test.rb
|
118
|
+
- test/module_test.rb
|
119
|
+
- test/parameter_collection_test.rb
|
120
|
+
- test/phi_test.rb
|
121
|
+
- test/select_test.rb
|
122
|
+
- test/struct_test.rb
|
123
|
+
- test/test_helper.rb
|
124
|
+
- test/type_test.rb
|
125
|
+
- test/vector_test.rb
|
118
126
|
homepage: http://github.com/jvoorhis/ruby-llvm
|
119
127
|
licenses: []
|
120
|
-
|
121
128
|
post_install_message:
|
122
129
|
rdoc_options: []
|
123
|
-
|
124
|
-
require_paths:
|
130
|
+
require_paths:
|
125
131
|
- lib
|
126
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
requirements:
|
135
|
-
- -
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
|
138
|
-
- 0
|
139
|
-
version: "0"
|
132
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
133
|
+
none: false
|
134
|
+
requirements:
|
135
|
+
- - ! '>='
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
140
|
+
requirements:
|
141
|
+
- - ! '>'
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: 1.3.1
|
140
144
|
requirements: []
|
141
|
-
|
142
145
|
rubyforge_project:
|
143
|
-
rubygems_version: 1.
|
146
|
+
rubygems_version: 1.8.11
|
144
147
|
signing_key:
|
145
148
|
specification_version: 3
|
146
149
|
summary: LLVM bindings for Ruby
|
147
|
-
test_files:
|
150
|
+
test_files:
|
148
151
|
- test/array_test.rb
|
149
152
|
- test/basic_block_test.rb
|
150
153
|
- test/basic_test.rb
|
@@ -168,3 +171,4 @@ test_files:
|
|
168
171
|
- test/test_helper.rb
|
169
172
|
- test/type_test.rb
|
170
173
|
- test/vector_test.rb
|
174
|
+
has_rdoc: true
|