ruby-llvm 3.5.0 → 13.0.1

Sign up to get free protection for your applications and to get access to all the features.
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