ruby-llvm 3.5.0 → 13.0.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.
Files changed (62) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +21 -4
  3. data/ext/ruby-llvm-support/Rakefile +17 -6
  4. data/lib/llvm/analysis.rb +2 -0
  5. data/lib/llvm/analysis_ffi.rb +27 -28
  6. data/lib/llvm/config.rb +4 -4
  7. data/lib/llvm/core/bitcode.rb +12 -10
  8. data/lib/llvm/core/bitcode_ffi.rb +89 -65
  9. data/lib/llvm/core/builder.rb +4 -3
  10. data/lib/llvm/core/context.rb +3 -1
  11. data/lib/llvm/core/module.rb +2 -0
  12. data/lib/llvm/core/pass_manager.rb +6 -2
  13. data/lib/llvm/core/type.rb +9 -2
  14. data/lib/llvm/core/value.rb +154 -24
  15. data/lib/llvm/core.rb +47 -2
  16. data/lib/llvm/core_ffi.rb +3863 -3730
  17. data/lib/llvm/execution_engine.rb +39 -35
  18. data/lib/llvm/execution_engine_ffi.rb +238 -276
  19. data/lib/llvm/linker.rb +3 -14
  20. data/lib/llvm/linker_ffi.rb +22 -26
  21. data/lib/llvm/support.rb +2 -0
  22. data/lib/llvm/target.rb +11 -15
  23. data/lib/llvm/target_ffi.rb +301 -293
  24. data/lib/llvm/transforms/builder.rb +3 -1
  25. data/lib/llvm/transforms/builder_ffi.rb +57 -58
  26. data/lib/llvm/transforms/ipo.rb +3 -1
  27. data/lib/llvm/transforms/ipo_ffi.rb +59 -60
  28. data/lib/llvm/transforms/scalar.rb +12 -0
  29. data/lib/llvm/transforms/scalar_ffi.rb +199 -143
  30. data/lib/llvm/transforms/vectorize.rb +2 -0
  31. data/lib/llvm/transforms/vectorize_ffi.rb +15 -16
  32. data/lib/llvm/version.rb +5 -2
  33. data/lib/llvm.rb +2 -0
  34. data/test/array_test.rb +2 -0
  35. data/test/basic_block_test.rb +2 -1
  36. data/test/binary_operations_test.rb +2 -0
  37. data/test/bitcode_test.rb +3 -2
  38. data/test/branch_test.rb +2 -0
  39. data/test/call_test.rb +3 -1
  40. data/test/comparisons_test.rb +2 -0
  41. data/test/conversions_test.rb +2 -0
  42. data/test/double_test.rb +10 -7
  43. data/test/equality_test.rb +4 -4
  44. data/test/function_test.rb +29 -0
  45. data/test/generic_value_test.rb +3 -1
  46. data/test/instruction_test.rb +2 -2
  47. data/test/integer_test.rb +28 -0
  48. data/test/ipo_test.rb +3 -1
  49. data/test/linker_test.rb +2 -9
  50. data/test/mcjit_test.rb +11 -3
  51. data/test/memory_access_test.rb +2 -0
  52. data/test/module_test.rb +18 -1
  53. data/test/parameter_collection_test.rb +2 -0
  54. data/test/pass_manager_builder_test.rb +22 -2
  55. data/test/phi_test.rb +2 -0
  56. data/test/select_test.rb +2 -0
  57. data/test/struct_test.rb +2 -0
  58. data/test/target_test.rb +16 -20
  59. data/test/test_helper.rb +6 -1
  60. data/test/type_test.rb +47 -0
  61. data/test/vector_test.rb +2 -0
  62. metadata +105 -40
metadata CHANGED
@@ -1,71 +1,134 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-llvm
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.0
4
+ version: 13.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: 2015-01-25 00:00:00.000000000 Z
12
+ date: 2021-12-21 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: '10.0'
20
+ version: '1.13'
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: '10.0'
27
+ version: '1.13'
27
28
  - !ruby/object:Gem::Dependency
28
- name: ffi
29
+ name: rake
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
- - - "~>"
32
+ - - ">="
32
33
  - !ruby/object:Gem::Version
33
- version: 1.9.3
34
+ version: '12'
35
+ - - "<"
36
+ - !ruby/object:Gem::Version
37
+ version: '14'
34
38
  type: :runtime
35
39
  prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
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
36
57
  version_requirements: !ruby/object:Gem::Requirement
37
58
  requirements:
38
59
  - - "~>"
39
60
  - !ruby/object:Gem::Version
40
- version: 1.9.3
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.3.4
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.3.4
75
+ version: 5.14.1
55
76
  - !ruby/object:Gem::Dependency
56
- name: ffi_gen
77
+ name: minitest-reporters
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.4.2
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 1.4.2
90
+ - !ruby/object:Gem::Dependency
91
+ name: rubocop
57
92
  requirement: !ruby/object:Gem::Requirement
58
93
  requirements:
59
94
  - - "~>"
60
95
  - !ruby/object:Gem::Version
61
- version: 1.1.0
96
+ version: 1.22.1
62
97
  type: :development
63
98
  prerelease: false
64
99
  version_requirements: !ruby/object:Gem::Requirement
65
100
  requirements:
66
101
  - - "~>"
67
102
  - !ruby/object:Gem::Version
68
- version: 1.1.0
103
+ version: 1.22.1
104
+ - !ruby/object:Gem::Dependency
105
+ name: rubocop-minitest
106
+ requirement: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ type: :development
112
+ prerelease: false
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ - !ruby/object:Gem::Dependency
119
+ name: rubocop-performance
120
+ requirement: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ type: :development
126
+ prerelease: false
127
+ version_requirements: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
69
132
  - !ruby/object:Gem::Dependency
70
133
  name: simplecov
71
134
  requirement: !ruby/object:Gem::Requirement
@@ -86,17 +149,19 @@ dependencies:
86
149
  requirements:
87
150
  - - "~>"
88
151
  - !ruby/object:Gem::Version
89
- version: 0.8.3
152
+ version: 0.9.8
90
153
  type: :development
91
154
  prerelease: false
92
155
  version_requirements: !ruby/object:Gem::Requirement
93
156
  requirements:
94
157
  - - "~>"
95
158
  - !ruby/object:Gem::Version
96
- version: 0.8.3
159
+ version: 0.9.8
97
160
  description: Ruby-LLVM is a Ruby language binding to the LLVM compiler infrastructure
98
161
  library.
99
- email: jvoorhis@gmail.com
162
+ email:
163
+ - jesse@hightechsorcery.com
164
+ - jvoorhis@gmail.com
100
165
  executables: []
101
166
  extensions:
102
167
  - ext/ruby-llvm-support/Rakefile
@@ -151,6 +216,7 @@ files:
151
216
  - test/function_test.rb
152
217
  - test/generic_value_test.rb
153
218
  - test/instruction_test.rb
219
+ - test/integer_test.rb
154
220
  - test/ipo_test.rb
155
221
  - test/linker_test.rb
156
222
  - test/mcjit_test.rb
@@ -174,46 +240,45 @@ require_paths:
174
240
  - lib
175
241
  required_ruby_version: !ruby/object:Gem::Requirement
176
242
  requirements:
177
- - - ">="
243
+ - - '='
178
244
  - !ruby/object:Gem::Version
179
- version: '0'
245
+ version: '2.7'
180
246
  required_rubygems_version: !ruby/object:Gem::Requirement
181
247
  requirements:
182
248
  - - ">="
183
249
  - !ruby/object:Gem::Version
184
250
  version: '0'
185
251
  requirements: []
186
- rubyforge_project:
187
- rubygems_version: 2.4.1
252
+ rubygems_version: 3.1.2
188
253
  signing_key:
189
254
  specification_version: 4
190
255
  summary: LLVM bindings for Ruby
191
256
  test_files:
257
+ - test/double_test.rb
192
258
  - test/type_test.rb
259
+ - test/basic_block_test.rb
260
+ - test/struct_test.rb
261
+ - test/array_test.rb
262
+ - test/vector_test.rb
263
+ - test/instruction_test.rb
193
264
  - test/ipo_test.rb
265
+ - test/branch_test.rb
194
266
  - test/binary_operations_test.rb
195
- - test/module_test.rb
196
- - test/basic_block_test.rb
197
- - test/test_helper.rb
198
- - test/phi_test.rb
199
267
  - test/bitcode_test.rb
200
- - test/double_test.rb
201
- - test/instruction_test.rb
202
- - test/equality_test.rb
203
268
  - test/pass_manager_builder_test.rb
204
- - test/generic_value_test.rb
205
- - test/linker_test.rb
206
- - test/comparisons_test.rb
207
- - test/select_test.rb
269
+ - test/equality_test.rb
208
270
  - test/function_test.rb
209
- - test/memory_access_test.rb
210
- - test/struct_test.rb
211
271
  - test/parameter_collection_test.rb
212
- - test/call_test.rb
213
- - test/mcjit_test.rb
214
- - test/vector_test.rb
272
+ - test/memory_access_test.rb
273
+ - test/select_test.rb
274
+ - test/module_test.rb
275
+ - test/test_helper.rb
276
+ - test/comparisons_test.rb
215
277
  - test/target_test.rb
216
- - test/array_test.rb
217
- - test/branch_test.rb
278
+ - test/call_test.rb
218
279
  - test/conversions_test.rb
219
- has_rdoc: yard
280
+ - test/linker_test.rb
281
+ - test/generic_value_test.rb
282
+ - test/phi_test.rb
283
+ - test/integer_test.rb
284
+ - test/mcjit_test.rb