ruby-llvm 16.0.1 → 17.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|