ruby-llvm 16.0.1 → 17.0.0
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.
- checksums.yaml +4 -4
- data/lib/llvm/analysis_ffi.rb +1 -1
- data/lib/llvm/core/bitcode_ffi.rb +1 -1
- data/lib/llvm/core/builder.rb +7 -7
- data/lib/llvm/core/pass_manager.rb +2 -3
- data/lib/llvm/core/value.rb +27 -4
- data/lib/llvm/core.rb +1 -0
- data/lib/llvm/core_ffi.rb +1 -1
- data/lib/llvm/execution_engine_ffi.rb +1 -1
- data/lib/llvm/linker_ffi.rb +1 -1
- data/lib/llvm/target.rb +1 -1
- data/lib/llvm/target_ffi.rb +1 -1
- data/lib/llvm/transforms/ipo.rb +17 -23
- data/lib/llvm/transforms/pass_builder.rb +688 -0
- data/lib/llvm/transforms/{builder.rb → pass_manager_builder.rb} +10 -29
- data/lib/llvm/transforms/scalar.rb +45 -55
- data/lib/llvm/transforms/utils.rb +3 -7
- data/lib/llvm/transforms/vectorize.rb +3 -5
- data/lib/llvm/version.rb +3 -3
- data/lib/llvm.rb +2 -0
- metadata +4 -7
- data/lib/llvm/transforms/builder_ffi.rb +0 -106
- data/lib/llvm/transforms/ipo_ffi.rb +0 -111
- data/lib/llvm/transforms/scalar_ffi.rb +0 -320
- data/lib/llvm/transforms/vectorize_ffi.rb +0 -38
@@ -2,21 +2,15 @@
|
|
2
2
|
|
3
3
|
require 'llvm'
|
4
4
|
require 'llvm/core'
|
5
|
-
require 'llvm/transforms/builder_ffi'
|
6
5
|
|
7
6
|
module LLVM
|
8
7
|
class PassManagerBuilder
|
9
8
|
include PointerIdentity
|
10
9
|
|
11
|
-
attr_reader :size_level
|
12
|
-
attr_reader :opt_level
|
13
|
-
attr_reader :unit_at_a_time
|
14
|
-
attr_reader :unroll_loops
|
15
|
-
attr_reader :simplify_lib_calls
|
16
|
-
attr_reader :inliner_threshold
|
10
|
+
attr_reader :size_level, :opt_level, :unit_at_a_time, :unroll_loops, :simplify_lib_calls, :inliner_threshold
|
17
11
|
|
18
12
|
def initialize
|
19
|
-
@ptr =
|
13
|
+
@ptr = nil
|
20
14
|
|
21
15
|
@size_level = 0
|
22
16
|
@opt_level = 0
|
@@ -26,67 +20,54 @@ module LLVM
|
|
26
20
|
@inliner_threshold = 0
|
27
21
|
end
|
28
22
|
|
29
|
-
def dispose
|
30
|
-
return if @ptr.nil?
|
23
|
+
def dispose; end
|
31
24
|
|
32
|
-
|
33
|
-
@ptr = nil
|
34
|
-
end
|
25
|
+
# rubocop:disable Style/TrivialAccessors
|
35
26
|
|
36
27
|
# Specify the basic optimization level.
|
37
28
|
# @param [Integer] level 0 = -O0, 1 = -O1, 2 = -O2, 3 = -O3
|
38
29
|
def opt_level=(level)
|
39
30
|
@opt_level = level.to_i
|
40
|
-
C.pass_manager_builder_set_opt_level(self, @opt_level)
|
41
31
|
end
|
42
32
|
|
43
33
|
# How much we're optimizing for size.
|
44
34
|
# @param [Integer] level 0 = none, 1 = -Os, 2 = -Oz
|
45
35
|
def size_level=(level)
|
46
36
|
@size_level = level.to_i
|
47
|
-
C.pass_manager_builder_set_size_level(self, @size_level)
|
48
37
|
end
|
49
38
|
|
50
39
|
# @param [Boolean] do_unit_at_a_time
|
51
40
|
def unit_at_a_time=(do_unit_at_a_time)
|
52
41
|
@unit_at_a_time = do_unit_at_a_time
|
53
|
-
C.pass_manager_builder_set_disable_unit_at_a_time(self, flag(!@unit_at_a_time))
|
54
42
|
end
|
55
43
|
|
56
44
|
# @param [Boolean] do_unroll
|
57
45
|
def unroll_loops=(do_unroll)
|
58
46
|
@unroll_loops = do_unroll
|
59
|
-
C.pass_manager_builder_set_disable_unroll_loops(self, flag(!@unroll_loops))
|
60
47
|
end
|
61
48
|
|
62
49
|
# @param [Boolean] do_simplify_lib_calls
|
63
50
|
def simplify_lib_calls=(do_simplify_lib_calls)
|
64
51
|
@simplify_lib_calls = do_simplify_lib_calls
|
65
|
-
C.pass_manager_builder_set_disable_simplify_lib_calls(self, flag(!@simplify_lib_calls))
|
66
52
|
end
|
67
53
|
|
68
54
|
# @param [Integer] threshold 0 = -O1, 225 = -O2, 275 = -O3
|
69
55
|
def inliner_threshold=(threshold)
|
70
56
|
@inliner_threshold = threshold
|
71
|
-
C.pass_manager_builder_use_inliner_with_threshold(self, @inliner_threshold)
|
72
57
|
end
|
73
58
|
|
59
|
+
# rubocop:enable Style/TrivialAccessors
|
60
|
+
|
74
61
|
# Populate a pass manager.
|
75
62
|
# @param [PassManager, FunctionPassManager] pass_manager
|
76
|
-
def build(
|
77
|
-
|
78
|
-
when FunctionPassManager
|
79
|
-
C.pass_manager_builder_populate_function_pass_manager(self, pass_manager)
|
80
|
-
|
81
|
-
when PassManager
|
82
|
-
C.pass_manager_builder_populate_module_pass_manager(self, pass_manager)
|
83
|
-
end
|
63
|
+
def build(_pass_manager)
|
64
|
+
raise DeprecationError
|
84
65
|
end
|
85
66
|
|
86
67
|
# Populate an LTO pass manager.
|
87
68
|
# @param [PassManager] pass_manager
|
88
|
-
def build_with_lto(
|
89
|
-
raise
|
69
|
+
def build_with_lto(_pass_manager, _internalize = false, _run_inliner = false) # rubocop:disable Style/OptionalBooleanParameter
|
70
|
+
raise DeprecationError
|
90
71
|
end
|
91
72
|
|
92
73
|
private
|
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
require 'llvm'
|
4
4
|
require 'llvm/core'
|
5
|
-
require 'llvm/transforms/scalar_ffi'
|
6
5
|
|
7
6
|
module LLVM
|
8
7
|
class PassManager
|
@@ -10,201 +9,201 @@ module LLVM
|
|
10
9
|
# /** See llvm::createAggressiveDCEPass function. */
|
11
10
|
# void LLVMAddAggressiveDCEPass(LLVMPassManagerRef PM);
|
12
11
|
def adce!
|
13
|
-
|
12
|
+
raise DeprecationError
|
14
13
|
end
|
15
14
|
|
16
15
|
# @LLVMpass dce
|
17
16
|
# /** See llvm::createDeadCodeEliminationPass function. */
|
18
17
|
# void LLVMAddDCEPass(LLVMPassManagerRef PM);
|
19
18
|
def dce!
|
20
|
-
|
19
|
+
raise DeprecationError
|
21
20
|
end
|
22
21
|
|
23
22
|
# @LLVMpass bdce
|
24
23
|
# /** See llvm::createBitTrackingDCEPass function. */
|
25
24
|
# void LLVMAddBitTrackingDCEPass(LLVMPassManagerRef PM);
|
26
25
|
def bdce!
|
27
|
-
|
26
|
+
raise DeprecationError
|
28
27
|
end
|
29
28
|
|
30
29
|
# @LLVMpass alignment_from_assumptions
|
31
30
|
# /** See llvm::createAlignmentFromAssumptionsPass function. */
|
32
31
|
# void LLVMAddAlignmentFromAssumptionsPass(LLVMPassManagerRef PM);
|
33
32
|
def alignment_from_assumptions!
|
34
|
-
|
33
|
+
raise DeprecationError
|
35
34
|
end
|
36
35
|
|
37
36
|
# @LLVMpass simplifycfg
|
38
37
|
# /** See llvm::createCFGSimplificationPass function. */
|
39
38
|
# void LLVMAddCFGSimplificationPass(LLVMPassManagerRef PM);
|
40
39
|
def simplifycfg!
|
41
|
-
|
40
|
+
raise DeprecationError
|
42
41
|
end
|
43
42
|
|
44
43
|
# @LLVMpass dse
|
45
44
|
# /** See llvm::createDeadStoreEliminationPass function. */
|
46
45
|
# void LLVMAddDeadStoreEliminationPass(LLVMPassManagerRef PM);
|
47
46
|
def dse!
|
48
|
-
|
47
|
+
raise DeprecationError
|
49
48
|
end
|
50
49
|
|
51
50
|
# @LLVMPass scalarizer
|
52
51
|
# /** See llvm::createScalarizerPass function. */
|
53
52
|
# void LLVMAddScalarizerPass(LLVMPassManagerRef PM);
|
54
53
|
def scalarizer!
|
55
|
-
|
54
|
+
raise DeprecationError
|
56
55
|
end
|
57
56
|
|
58
57
|
# @LLVMpass mldst-motion
|
59
58
|
# /** See llvm::createMergedLoadStoreMotionPass function. */
|
60
59
|
# void LLVMAddMergedLoadStoreMotionPass(LLVMPassManagerRef PM);
|
61
60
|
def mldst_motion!
|
62
|
-
|
61
|
+
raise DeprecationError
|
63
62
|
end
|
64
63
|
|
65
64
|
# @LLVMpass gvn
|
66
65
|
# /** See llvm::createGVNPass function. */
|
67
66
|
# void LLVMAddGVNPass(LLVMPassManagerRef PM);
|
68
67
|
def gvn!
|
69
|
-
|
68
|
+
raise DeprecationError
|
70
69
|
end
|
71
70
|
|
72
71
|
# @LLVMpass newgvn
|
73
72
|
# /** See llvm::createGVNPass function. */
|
74
73
|
# void LLVMAddNewGVNPass(LLVMPassManagerRef PM);
|
75
74
|
def newgvn!
|
76
|
-
|
75
|
+
raise DeprecationError
|
77
76
|
end
|
78
77
|
|
79
78
|
# @LLVMpass indvars
|
80
79
|
# /** See llvm::createIndVarSimplifyPass function. */
|
81
80
|
# void LLVMAddIndVarSimplifyPass(LLVMPassManagerRef PM);
|
82
81
|
def indvars!
|
83
|
-
|
82
|
+
raise DeprecationError
|
84
83
|
end
|
85
84
|
|
86
85
|
# @LLVMpass instcombine
|
87
86
|
# /** See llvm::createInstructionCombiningPass function. */
|
88
87
|
# void LLVMAddInstructionCombiningPass(LLVMPassManagerRef PM);
|
89
88
|
def instcombine!
|
90
|
-
|
89
|
+
raise DeprecationError
|
91
90
|
end
|
92
91
|
|
93
92
|
# @LLVMpass instsimplify
|
94
93
|
# /** See llvm::createInstSimplifyLegacyPass function. */
|
95
94
|
# void LLVMAddInstructionSimplifyPass(LLVMPassManagerRef PM);
|
96
95
|
def instsimplify!
|
97
|
-
|
96
|
+
raise DeprecationError
|
98
97
|
end
|
99
98
|
|
100
99
|
# @LLVMpass jump-threading
|
101
100
|
# /** See llvm::createJumpThreadingPass function. */
|
102
101
|
# void LLVMAddJumpThreadingPass(LLVMPassManagerRef PM);
|
103
102
|
def jump_threading!
|
104
|
-
|
103
|
+
raise DeprecationError
|
105
104
|
end
|
106
105
|
|
107
106
|
# @LLVMpass licm
|
108
107
|
# /** See llvm::createLICMPass function. */
|
109
108
|
# void LLVMAddLICMPass(LLVMPassManagerRef PM);
|
110
109
|
def licm!
|
111
|
-
|
110
|
+
raise DeprecationError
|
112
111
|
end
|
113
112
|
|
114
113
|
# @LLVMpass loop-deletion
|
115
114
|
# /** See llvm::createLoopDeletionPass function. */
|
116
115
|
# void LLVMAddLoopDeletionPass(LLVMPassManagerRef PM);
|
117
116
|
def loop_deletion!
|
118
|
-
|
117
|
+
raise DeprecationError
|
119
118
|
end
|
120
119
|
|
121
120
|
# @LLVMpass loop-idiom
|
122
121
|
# /** See llvm::createLoopIdiomPass function */
|
123
122
|
# void LLVMAddLoopIdiomPass(LLVMPassManagerRef PM);
|
124
123
|
def loop_idiom!
|
125
|
-
|
124
|
+
raise DeprecationError
|
126
125
|
end
|
127
126
|
|
128
127
|
# @LLVMpass loop-rotate
|
129
128
|
# /** See llvm::createLoopRotatePass function. */
|
130
129
|
# void LLVMAddLoopRotatePass(LLVMPassManagerRef PM);
|
131
130
|
def loop_rotate!
|
132
|
-
|
131
|
+
raise DeprecationError
|
133
132
|
end
|
134
133
|
|
135
134
|
# @LLVMpass loop-reroll
|
136
135
|
# /** See llvm::createLoopRerollPass function. */
|
137
136
|
# void LLVMAddLoopRerollPass(LLVMPassManagerRef PM);
|
138
137
|
def loop_reroll!
|
139
|
-
|
138
|
+
raise DeprecationError
|
140
139
|
end
|
141
140
|
|
142
141
|
# @LLVMpass loop-unroll
|
143
142
|
# /** See llvm::createLoopUnrollPass function. */
|
144
143
|
# void LLVMAddLoopUnrollPass(LLVMPassManagerRef PM);
|
145
144
|
def loop_unroll!
|
146
|
-
|
145
|
+
raise DeprecationError
|
147
146
|
end
|
148
147
|
|
149
148
|
# @LLVMpass loop-unroll-and-jam
|
150
149
|
# /** See llvm::createLoopUnrollAndJamPass function. */
|
151
150
|
# void LLVMAddLoopUnrollAndJamPass(LLVMPassManagerRef PM);
|
152
151
|
def loop_unroll_and_jam!
|
153
|
-
|
152
|
+
raise DeprecationError
|
154
153
|
end
|
155
154
|
|
156
155
|
# @LLVMpass loop-unswitch
|
157
156
|
def loop_unswitch!
|
158
|
-
|
157
|
+
raise DeprecationError
|
159
158
|
end
|
160
159
|
|
161
160
|
# @LLVMpass loweratomic
|
162
161
|
# /** See llvm::createLowerAtomicPass function. */
|
163
162
|
# void LLVMAddLowerAtomicPass(LLVMPassManagerRef PM);
|
164
163
|
def loweratomic!
|
165
|
-
|
164
|
+
raise DeprecationError
|
166
165
|
end
|
167
166
|
|
168
167
|
# @LLVMpass memcpyopt
|
169
168
|
# /** See llvm::createMemCpyOptPass function. */
|
170
169
|
# void LLVMAddMemCpyOptPass(LLVMPassManagerRef PM);
|
171
170
|
def memcpyopt!
|
172
|
-
|
171
|
+
raise DeprecationError
|
173
172
|
end
|
174
173
|
|
175
174
|
# @LLVMpass partially-inline-libcalls
|
176
175
|
# /** See llvm::createPartiallyInlineLibCallsPass function. */
|
177
176
|
# void LLVMAddPartiallyInlineLibCallsPass(LLVMPassManagerRef PM);
|
178
177
|
def partially_inline_libcalls!
|
179
|
-
|
178
|
+
raise DeprecationError
|
180
179
|
end
|
181
180
|
|
182
181
|
# @LLVMpass reassociate
|
183
182
|
# /** See llvm::createReassociatePass function. */
|
184
183
|
# void LLVMAddReassociatePass(LLVMPassManagerRef PM);
|
185
184
|
def reassociate!
|
186
|
-
|
185
|
+
raise DeprecationError
|
187
186
|
end
|
188
187
|
|
189
188
|
# @LLVMpass sccp
|
190
189
|
# /** See llvm::createSCCPPass function. */
|
191
190
|
# void LLVMAddSCCPPass(LLVMPassManagerRef PM);
|
192
191
|
def sccp!
|
193
|
-
|
192
|
+
raise DeprecationError
|
194
193
|
end
|
195
194
|
|
196
195
|
# @LLVMpass sroa
|
197
196
|
# /** See llvm::createSROAPass function. */
|
198
197
|
# void LLVMAddScalarReplAggregatesPass(LLVMPassManagerRef PM);
|
199
198
|
def scalarrepl!
|
200
|
-
|
199
|
+
raise DeprecationError
|
201
200
|
end
|
202
201
|
|
203
202
|
# @LLVMpass sroa
|
204
203
|
# /** See llvm::createSROAPass function. */
|
205
204
|
# void LLVMAddScalarReplAggregatesPassSSA(LLVMPassManagerRef PM);
|
206
205
|
def scalarrepl_ssa!
|
207
|
-
|
206
|
+
raise DeprecationError
|
208
207
|
end
|
209
208
|
|
210
209
|
# @LLVMpass sroa
|
@@ -212,8 +211,8 @@ module LLVM
|
|
212
211
|
# void LLVMAddScalarReplAggregatesPassWithThreshold(LLVMPassManagerRef PM,
|
213
212
|
# int Threshold);
|
214
213
|
# threshold appears unused: https://llvm.org/doxygen/Scalar_8cpp_source.html#l00211
|
215
|
-
def scalarrepl_threshold!(
|
216
|
-
|
214
|
+
def scalarrepl_threshold!(_threshold = 0)
|
215
|
+
raise DeprecationError
|
217
216
|
end
|
218
217
|
|
219
218
|
# @LLVMpass simplify-libcalls
|
@@ -221,106 +220,97 @@ module LLVM
|
|
221
220
|
# void LLVMAddSimplifyLibCallsPass(LLVMPassManagerRef PM);
|
222
221
|
# removed: https://llvm.org/doxygen/Scalar_8cpp_source.html#l00211
|
223
222
|
def simplify_libcalls!
|
224
|
-
|
223
|
+
raise DeprecationError
|
225
224
|
end
|
226
225
|
|
227
226
|
# @LLVMpass tailcallelim
|
228
227
|
# /** See llvm::createTailCallEliminationPass function. */
|
229
228
|
# void LLVMAddTailCallEliminationPass(LLVMPassManagerRef PM);
|
230
229
|
def tailcallelim!
|
231
|
-
|
230
|
+
raise DeprecationError
|
232
231
|
end
|
233
232
|
|
234
233
|
# @LLVMpass constprop
|
235
234
|
def constprop!
|
236
|
-
|
235
|
+
raise DeprecationError
|
237
236
|
end
|
238
237
|
|
239
238
|
# @LLVMpass reg2mem
|
240
239
|
# /** See llvm::demotePromoteMemoryToRegisterPass function. */
|
241
240
|
# void LLVMAddDemoteMemoryToRegisterPass(LLVMPassManagerRef PM);
|
242
241
|
def reg2mem!
|
243
|
-
|
242
|
+
raise DeprecationError
|
244
243
|
end
|
245
244
|
|
246
245
|
# @LLVMpass verify
|
247
246
|
# /** See llvm::createVerifierPass function. */
|
248
247
|
# void LLVMAddVerifierPass(LLVMPassManagerRef PM);
|
249
248
|
def verify!
|
250
|
-
|
249
|
+
raise DeprecationError
|
251
250
|
end
|
252
251
|
|
253
252
|
# @LLVMpass cvprop
|
254
253
|
# /** See llvm::createCorrelatedValuePropagationPass function */
|
255
254
|
# void LLVMAddCorrelatedValuePropagationPass(LLVMPassManagerRef PM);
|
256
255
|
def cvprop!
|
257
|
-
|
256
|
+
raise DeprecationError
|
258
257
|
end
|
259
258
|
|
260
259
|
# @LLVMpass early-cse
|
261
260
|
# /** See llvm::createEarlyCSEPass function */
|
262
261
|
# void LLVMAddEarlyCSEPass(LLVMPassManagerRef PM);
|
263
262
|
def early_cse!
|
264
|
-
|
263
|
+
raise DeprecationError
|
265
264
|
end
|
266
265
|
|
267
266
|
# @LLVMpass early-cse-memssa
|
268
267
|
# /** See llvm::createEarlyCSEPass function */
|
269
268
|
# void LLVMAddEarlyCSEMemSSAPass(LLVMPassManagerRef PM);
|
270
269
|
def early_cse_memssa!
|
271
|
-
|
270
|
+
raise DeprecationError
|
272
271
|
end
|
273
272
|
|
274
273
|
# @LLVMpass lower-expect
|
275
274
|
# /** See llvm::createLowerExpectIntrinsicPass function */
|
276
275
|
# void LLVMAddLowerExpectIntrinsicPass(LLVMPassManagerRef PM);
|
277
276
|
def lower_expect!
|
278
|
-
|
277
|
+
raise DeprecationError
|
279
278
|
end
|
280
279
|
|
281
280
|
# @LLVMPass lower-constant-intrinsics
|
282
281
|
# /** See llvm::createLowerConstantIntrinsicsPass function */
|
283
282
|
# void LLVMAddLowerConstantIntrinsicsPass(LLVMPassManagerRef PM);
|
284
283
|
def lower_constant_intrinsics!
|
285
|
-
|
284
|
+
raise DeprecationError
|
286
285
|
end
|
287
286
|
|
288
287
|
# @LLVMpass tbaa
|
289
288
|
# /** See llvm::createTypeBasedAliasAnalysisPass function */
|
290
289
|
# void LLVMAddTypeBasedAliasAnalysisPass(LLVMPassManagerRef PM);
|
291
290
|
def tbaa!
|
292
|
-
|
291
|
+
raise DeprecationError
|
293
292
|
end
|
294
293
|
|
295
294
|
# @ LLVMPass scoped-noalias-aa
|
296
295
|
# /** See llvm::createScopedNoAliasAAPass function */
|
297
296
|
# void LLVMAddScopedNoAliasAAPass(LLVMPassManagerRef PM);
|
298
297
|
def scoped_noalias_aa!
|
299
|
-
|
298
|
+
raise DeprecationError
|
300
299
|
end
|
301
300
|
|
302
301
|
# @LLVMpass basicaa
|
303
302
|
# /** See llvm::createBasicAliasAnalysisPass function */
|
304
303
|
# void LLVMAddBasicAliasAnalysisPass(LLVMPassManagerRef PM);
|
305
304
|
def basicaa!
|
306
|
-
|
305
|
+
raise DeprecationError
|
307
306
|
end
|
308
307
|
|
309
308
|
# @LLVMpass mergereturn
|
310
309
|
# /** See llvm::createUnifyFunctionExitNodesPass function */
|
311
310
|
# void LLVMAddUnifyFunctionExitNodesPass(LLVMPassManagerRef PM);
|
312
311
|
def mergereturn!
|
313
|
-
|
312
|
+
raise DeprecationError
|
314
313
|
end
|
315
314
|
|
316
315
|
end
|
317
|
-
|
318
|
-
module C
|
319
|
-
attach_function :add_dce_pass, :LLVMAddDCEPass, [:pointer], :void
|
320
|
-
attach_function :add_instruction_simplify_pass, :LLVMAddInstructionSimplifyPass, [:pointer], :void
|
321
|
-
attach_function :add_loop_unroll_and_jam_pass, :LLVMAddLoopUnrollAndJamPass, [:pointer], :void
|
322
|
-
attach_function :add_lower_atomic_pass, :LLVMAddLowerAtomicPass, [:pointer], :void
|
323
|
-
attach_function :add_lower_constant_intrinsics_pass, :LLVMAddLowerConstantIntrinsicsPass, [:pointer], :void
|
324
|
-
attach_function :add_unify_function_exit_nodes_pass, :LLVMAddUnifyFunctionExitNodesPass, [:pointer], :void
|
325
|
-
end
|
326
316
|
end
|
@@ -10,25 +10,21 @@ module LLVM
|
|
10
10
|
# /** See llvm::createLowerSwitchPass function. */
|
11
11
|
# void LLVMAddLowerSwitchPass(LLVMPassManagerRef PM);
|
12
12
|
def lowerswitch!
|
13
|
-
|
13
|
+
raise DeprecationError
|
14
14
|
end
|
15
15
|
|
16
16
|
# @LLVMpass mem2reg
|
17
17
|
# /** See llvm::createPromoteMemoryToRegisterPass function. */
|
18
18
|
# void LLVMAddPromoteMemoryToRegisterPass(LLVMPassManagerRef PM);
|
19
19
|
def mem2reg!
|
20
|
-
|
20
|
+
raise DeprecationError
|
21
21
|
end
|
22
22
|
|
23
23
|
# @LLVMpass add-discriminators
|
24
24
|
# /** See llvm::createAddDiscriminatorsPass function. */
|
25
25
|
# void LLVMAddAddDiscriminatorsPass(LLVMPassManagerRef PM);
|
26
26
|
def add_discriminators!
|
27
|
-
|
27
|
+
raise DeprecationError
|
28
28
|
end
|
29
29
|
end
|
30
|
-
|
31
|
-
module C
|
32
|
-
attach_function :add_add_discriminators_pass, :LLVMAddAddDiscriminatorsPass, [:pointer], :void
|
33
|
-
end
|
34
30
|
end
|
@@ -2,28 +2,26 @@
|
|
2
2
|
|
3
3
|
require 'llvm'
|
4
4
|
require 'llvm/core'
|
5
|
-
require 'llvm/transforms/vectorize_ffi'
|
6
5
|
|
7
6
|
module LLVM
|
8
7
|
class PassManager
|
9
8
|
# @LLVMpass bb_vectorize
|
10
9
|
def bb_vectorize!
|
11
|
-
|
12
|
-
slp_vectorize!
|
10
|
+
raise DeprecationError
|
13
11
|
end
|
14
12
|
|
15
13
|
# @LLVMpass loop_vectorize
|
16
14
|
# /** See llvm::createLoopVectorizePass function. */
|
17
15
|
# void LLVMAddLoopVectorizePass(LLVMPassManagerRef PM);
|
18
16
|
def loop_vectorize!
|
19
|
-
|
17
|
+
raise DeprecationError
|
20
18
|
end
|
21
19
|
|
22
20
|
# @LLVMpass slp_vectorize
|
23
21
|
# /** See llvm::createSLPVectorizerPass function. */
|
24
22
|
# void LLVMAddSLPVectorizePass(LLVMPassManagerRef PM);
|
25
23
|
def slp_vectorize!
|
26
|
-
|
24
|
+
raise DeprecationError
|
27
25
|
end
|
28
26
|
end
|
29
27
|
end
|
data/lib/llvm/version.rb
CHANGED
data/lib/llvm.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-llvm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 17.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jesse Johnson
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-01-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ffi
|
@@ -209,15 +209,12 @@ files:
|
|
209
209
|
- lib/llvm/support.rb
|
210
210
|
- lib/llvm/target.rb
|
211
211
|
- lib/llvm/target_ffi.rb
|
212
|
-
- lib/llvm/transforms/builder.rb
|
213
|
-
- lib/llvm/transforms/builder_ffi.rb
|
214
212
|
- lib/llvm/transforms/ipo.rb
|
215
|
-
- lib/llvm/transforms/
|
213
|
+
- lib/llvm/transforms/pass_builder.rb
|
214
|
+
- lib/llvm/transforms/pass_manager_builder.rb
|
216
215
|
- lib/llvm/transforms/scalar.rb
|
217
|
-
- lib/llvm/transforms/scalar_ffi.rb
|
218
216
|
- lib/llvm/transforms/utils.rb
|
219
217
|
- lib/llvm/transforms/vectorize.rb
|
220
|
-
- lib/llvm/transforms/vectorize_ffi.rb
|
221
218
|
- lib/llvm/version.rb
|
222
219
|
homepage: http://github.com/ruby-llvm/ruby-llvm
|
223
220
|
licenses: []
|