ruby-llvm 3.4.0 → 11.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 (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