ruby-llvm 3.4.0 → 11.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +19 -4
  3. data/ext/ruby-llvm-support/Rakefile +20 -8
  4. data/ext/ruby-llvm-support/support.cpp +0 -20
  5. data/lib/llvm.rb +0 -6
  6. data/lib/llvm/analysis_ffi.rb +30 -28
  7. data/lib/llvm/config.rb +4 -4
  8. data/lib/llvm/core.rb +45 -2
  9. data/lib/llvm/core/bitcode.rb +10 -10
  10. data/lib/llvm/core/bitcode_ffi.rb +92 -70
  11. data/lib/llvm/core/builder.rb +2 -3
  12. data/lib/llvm/core/context.rb +1 -1
  13. data/lib/llvm/core/pass_manager.rb +4 -2
  14. data/lib/llvm/core/type.rb +2 -2
  15. data/lib/llvm/core/value.rb +155 -28
  16. data/lib/llvm/core_ffi.rb +4038 -3716
  17. data/lib/llvm/execution_engine.rb +176 -8
  18. data/lib/llvm/execution_engine_ffi.rb +245 -272
  19. data/lib/llvm/linker.rb +2 -19
  20. data/lib/llvm/linker_ffi.rb +24 -25
  21. data/lib/llvm/support.rb +4 -12
  22. data/lib/llvm/target.rb +11 -17
  23. data/lib/llvm/target_ffi.rb +336 -362
  24. data/lib/llvm/transforms/builder.rb +8 -3
  25. data/lib/llvm/transforms/builder_ffi.rb +57 -58
  26. data/lib/llvm/transforms/ipo.rb +1 -1
  27. data/lib/llvm/transforms/ipo_ffi.rb +60 -61
  28. data/lib/llvm/transforms/scalar_ffi.rb +208 -136
  29. data/lib/llvm/transforms/vectorize_ffi.rb +15 -16
  30. data/lib/llvm/version.rb +3 -2
  31. data/test/basic_block_test.rb +0 -1
  32. data/test/bitcode_test.rb +1 -2
  33. data/test/call_test.rb +1 -1
  34. data/test/double_test.rb +8 -7
  35. data/test/equality_test.rb +2 -4
  36. data/test/function_test.rb +27 -0
  37. data/test/generic_value_test.rb +1 -1
  38. data/test/instruction_test.rb +0 -2
  39. data/test/ipo_test.rb +1 -1
  40. data/test/linker_test.rb +0 -9
  41. data/test/mcjit_test.rb +100 -0
  42. data/test/module_test.rb +31 -1
  43. data/test/pass_manager_builder_test.rb +23 -3
  44. data/test/target_test.rb +7 -24
  45. data/test/test_helper.rb +4 -1
  46. metadata +117 -94
@@ -17,6 +17,9 @@ rescue LoadError
17
17
  end
18
18
 
19
19
  require "minitest/autorun"
20
+ require 'minitest/reporters'
21
+
22
+ Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
20
23
 
21
24
  require "llvm/core"
22
25
  require "llvm/execution_engine"
@@ -46,7 +49,7 @@ def define_function(host_module, function_name, argument_types, return_type)
46
49
  end
47
50
 
48
51
  def run_function_on_module(host_module, function_name, *argument_values)
49
- LLVM::JITCompiler.new(host_module).
52
+ LLVM::MCJITCompiler.new(host_module).
50
53
  run_function(host_module.functions[function_name], *argument_values)
51
54
  end
52
55
 
metadata CHANGED
@@ -1,102 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-llvm
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 11.0.1
5
5
  platform: ruby
6
6
  authors:
7
+ - Jesse Johnson
7
8
  - Jeremy Voorhis
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-02-04 00:00:00.000000000 Z
12
+ date: 2020-12-10 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: rake
15
+ name: ffi
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - ~>
18
+ - - "~>"
18
19
  - !ruby/object:Gem::Version
19
- version: '0.9'
20
+ version: 1.13.1
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
- - - ~>
25
+ - - "~>"
25
26
  - !ruby/object:Gem::Version
26
- version: '0.9'
27
+ version: 1.13.1
27
28
  - !ruby/object:Gem::Dependency
28
- name: ffi
29
+ name: rake
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
- - - ~>
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '12'
35
+ - - "<"
32
36
  - !ruby/object:Gem::Version
33
- version: '1.7'
37
+ version: '14'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
37
41
  requirements:
38
- - - ~>
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: '12'
45
+ - - "<"
46
+ - !ruby/object:Gem::Version
47
+ version: '14'
48
+ - !ruby/object:Gem::Dependency
49
+ name: ffi_gen
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 1.2.0
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
39
60
  - !ruby/object:Gem::Version
40
- version: '1.7'
61
+ version: 1.2.0
41
62
  - !ruby/object:Gem::Dependency
42
63
  name: minitest
43
64
  requirement: !ruby/object:Gem::Requirement
44
65
  requirements:
45
- - - ~>
66
+ - - "~>"
46
67
  - !ruby/object:Gem::Version
47
- version: '5.0'
68
+ version: 5.14.1
48
69
  type: :development
49
70
  prerelease: false
50
71
  version_requirements: !ruby/object:Gem::Requirement
51
72
  requirements:
52
- - - ~>
73
+ - - "~>"
53
74
  - !ruby/object:Gem::Version
54
- version: '5.0'
75
+ version: 5.14.1
55
76
  - !ruby/object:Gem::Dependency
56
- name: ffi_gen
77
+ name: minitest-reporters
57
78
  requirement: !ruby/object:Gem::Requirement
58
79
  requirements:
59
- - - ~>
80
+ - - "~>"
60
81
  - !ruby/object:Gem::Version
61
- version: 1.1.0
82
+ version: 1.4.2
62
83
  type: :development
63
84
  prerelease: false
64
85
  version_requirements: !ruby/object:Gem::Requirement
65
86
  requirements:
66
- - - ~>
87
+ - - "~>"
67
88
  - !ruby/object:Gem::Version
68
- version: 1.1.0
89
+ version: 1.4.2
69
90
  - !ruby/object:Gem::Dependency
70
91
  name: simplecov
71
92
  requirement: !ruby/object:Gem::Requirement
72
93
  requirements:
73
- - - '>='
94
+ - - ">="
74
95
  - !ruby/object:Gem::Version
75
96
  version: '0'
76
97
  type: :development
77
98
  prerelease: false
78
99
  version_requirements: !ruby/object:Gem::Requirement
79
100
  requirements:
80
- - - '>='
101
+ - - ">="
81
102
  - !ruby/object:Gem::Version
82
103
  version: '0'
83
104
  - !ruby/object:Gem::Dependency
84
105
  name: yard
85
106
  requirement: !ruby/object:Gem::Requirement
86
107
  requirements:
87
- - - ~>
108
+ - - "~>"
88
109
  - !ruby/object:Gem::Version
89
- version: 0.8.3
110
+ version: 0.9.8
90
111
  type: :development
91
112
  prerelease: false
92
113
  version_requirements: !ruby/object:Gem::Requirement
93
114
  requirements:
94
- - - ~>
115
+ - - "~>"
95
116
  - !ruby/object:Gem::Version
96
- version: 0.8.3
117
+ version: 0.9.8
97
118
  description: Ruby-LLVM is a Ruby language binding to the LLVM compiler infrastructure
98
119
  library.
99
- email: jvoorhis@gmail.com
120
+ email:
121
+ - jesse@hightechsorcery.com
122
+ - jvoorhis@gmail.com
100
123
  executables: []
101
124
  extensions:
102
125
  - ext/ruby-llvm-support/Rakefile
@@ -104,66 +127,67 @@ extra_rdoc_files:
104
127
  - README.md
105
128
  - LICENSE
106
129
  files:
130
+ - LICENSE
131
+ - README.md
132
+ - ext/ruby-llvm-support/Rakefile
133
+ - ext/ruby-llvm-support/support.cpp
134
+ - lib/llvm.rb
107
135
  - lib/llvm/analysis.rb
108
- - lib/llvm/core_ffi.rb
109
- - lib/llvm/transforms/ipo_ffi.rb
110
- - lib/llvm/transforms/vectorize_ffi.rb
111
- - lib/llvm/transforms/scalar_ffi.rb
112
- - lib/llvm/transforms/builder.rb
113
- - lib/llvm/transforms/ipo.rb
114
- - lib/llvm/transforms/vectorize.rb
115
- - lib/llvm/transforms/builder_ffi.rb
116
- - lib/llvm/transforms/scalar.rb
117
- - lib/llvm/support.rb
118
- - lib/llvm/target.rb
119
- - lib/llvm/core/pass_manager.rb
136
+ - lib/llvm/analysis_ffi.rb
137
+ - lib/llvm/config.rb
138
+ - lib/llvm/core.rb
139
+ - lib/llvm/core/bitcode.rb
140
+ - lib/llvm/core/bitcode_ffi.rb
120
141
  - lib/llvm/core/builder.rb
142
+ - lib/llvm/core/context.rb
121
143
  - lib/llvm/core/module.rb
122
- - lib/llvm/core/value.rb
123
- - lib/llvm/core/bitcode.rb
144
+ - lib/llvm/core/pass_manager.rb
124
145
  - lib/llvm/core/type.rb
125
- - lib/llvm/core/context.rb
126
- - lib/llvm/core/bitcode_ffi.rb
127
- - lib/llvm/linker.rb
128
- - lib/llvm/config.rb
129
- - lib/llvm/execution_engine_ffi.rb
146
+ - lib/llvm/core/value.rb
147
+ - lib/llvm/core_ffi.rb
130
148
  - lib/llvm/execution_engine.rb
149
+ - lib/llvm/execution_engine_ffi.rb
150
+ - lib/llvm/linker.rb
131
151
  - lib/llvm/linker_ffi.rb
132
- - lib/llvm/version.rb
133
- - lib/llvm/core.rb
152
+ - lib/llvm/support.rb
153
+ - lib/llvm/target.rb
134
154
  - lib/llvm/target_ffi.rb
135
- - lib/llvm/analysis_ffi.rb
136
- - lib/llvm.rb
137
- - ext/ruby-llvm-support/Rakefile
138
- - ext/ruby-llvm-support/support.cpp
139
- - README.md
140
- - LICENSE
141
- - test/type_test.rb
142
- - test/ipo_test.rb
143
- - test/binary_operations_test.rb
144
- - test/module_test.rb
155
+ - lib/llvm/transforms/builder.rb
156
+ - lib/llvm/transforms/builder_ffi.rb
157
+ - lib/llvm/transforms/ipo.rb
158
+ - lib/llvm/transforms/ipo_ffi.rb
159
+ - lib/llvm/transforms/scalar.rb
160
+ - lib/llvm/transforms/scalar_ffi.rb
161
+ - lib/llvm/transforms/vectorize.rb
162
+ - lib/llvm/transforms/vectorize_ffi.rb
163
+ - lib/llvm/version.rb
164
+ - test/array_test.rb
145
165
  - test/basic_block_test.rb
146
- - test/test_helper.rb
147
- - test/phi_test.rb
166
+ - test/binary_operations_test.rb
148
167
  - test/bitcode_test.rb
168
+ - test/branch_test.rb
169
+ - test/call_test.rb
170
+ - test/comparisons_test.rb
171
+ - test/conversions_test.rb
149
172
  - test/double_test.rb
150
- - test/instruction_test.rb
151
173
  - test/equality_test.rb
152
- - test/pass_manager_builder_test.rb
174
+ - test/function_test.rb
153
175
  - test/generic_value_test.rb
176
+ - test/instruction_test.rb
177
+ - test/ipo_test.rb
154
178
  - test/linker_test.rb
155
- - test/comparisons_test.rb
156
- - test/select_test.rb
157
- - test/function_test.rb
179
+ - test/mcjit_test.rb
158
180
  - test/memory_access_test.rb
159
- - test/struct_test.rb
181
+ - test/module_test.rb
160
182
  - test/parameter_collection_test.rb
161
- - test/call_test.rb
162
- - test/vector_test.rb
183
+ - test/pass_manager_builder_test.rb
184
+ - test/phi_test.rb
185
+ - test/select_test.rb
186
+ - test/struct_test.rb
163
187
  - test/target_test.rb
164
- - test/array_test.rb
165
- - test/branch_test.rb
166
- - test/conversions_test.rb
188
+ - test/test_helper.rb
189
+ - test/type_test.rb
190
+ - test/vector_test.rb
167
191
  homepage: http://github.com/ruby-llvm/ruby-llvm
168
192
  licenses: []
169
193
  metadata: {}
@@ -173,45 +197,44 @@ require_paths:
173
197
  - lib
174
198
  required_ruby_version: !ruby/object:Gem::Requirement
175
199
  requirements:
176
- - - '>='
200
+ - - ">="
177
201
  - !ruby/object:Gem::Version
178
202
  version: '0'
179
203
  required_rubygems_version: !ruby/object:Gem::Requirement
180
204
  requirements:
181
- - - '>='
205
+ - - ">="
182
206
  - !ruby/object:Gem::Version
183
207
  version: '0'
184
208
  requirements: []
185
- rubyforge_project:
186
- rubygems_version: 2.0.14
209
+ rubygems_version: 3.1.2
187
210
  signing_key:
188
211
  specification_version: 4
189
212
  summary: LLVM bindings for Ruby
190
213
  test_files:
214
+ - test/double_test.rb
191
215
  - test/type_test.rb
216
+ - test/basic_block_test.rb
217
+ - test/struct_test.rb
218
+ - test/array_test.rb
219
+ - test/vector_test.rb
220
+ - test/instruction_test.rb
192
221
  - test/ipo_test.rb
222
+ - test/branch_test.rb
193
223
  - test/binary_operations_test.rb
194
- - test/module_test.rb
195
- - test/basic_block_test.rb
196
- - test/test_helper.rb
197
- - test/phi_test.rb
198
224
  - test/bitcode_test.rb
199
- - test/double_test.rb
200
- - test/instruction_test.rb
201
- - test/equality_test.rb
202
225
  - test/pass_manager_builder_test.rb
203
- - test/generic_value_test.rb
204
- - test/linker_test.rb
205
- - test/comparisons_test.rb
206
- - test/select_test.rb
226
+ - test/equality_test.rb
207
227
  - test/function_test.rb
208
- - test/memory_access_test.rb
209
- - test/struct_test.rb
210
228
  - test/parameter_collection_test.rb
211
- - test/call_test.rb
212
- - test/vector_test.rb
229
+ - test/memory_access_test.rb
230
+ - test/select_test.rb
231
+ - test/module_test.rb
232
+ - test/test_helper.rb
233
+ - test/comparisons_test.rb
213
234
  - test/target_test.rb
214
- - test/array_test.rb
215
- - test/branch_test.rb
235
+ - test/call_test.rb
216
236
  - test/conversions_test.rb
217
- has_rdoc: yard
237
+ - test/linker_test.rb
238
+ - test/generic_value_test.rb
239
+ - test/phi_test.rb
240
+ - test/mcjit_test.rb