ruby-llvm 3.4.0 → 3.4.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.
- checksums.yaml +4 -4
- data/ext/ruby-llvm-support/Rakefile +1 -1
- data/lib/llvm/core/value.rb +7 -2
- data/lib/llvm/transforms/builder.rb +7 -2
- data/lib/llvm/version.rb +1 -1
- data/test/module_test.rb +11 -0
- data/test/pass_manager_builder_test.rb +24 -3
- metadata +67 -67
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7fbf551060132cd96ad86b5c4954c20a77071b0e
|
4
|
+
data.tar.gz: e37b6914665099358af491974f0fab85581d4438
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ecbe7f6377c0cf7373ae91b32c6fb5210d19a503d1d3379b8212bd09262a3e4cfc0e2d74bbb73b27d35b084ae02ad240ca19b153700f2a1219e762605b1d6593
|
7
|
+
data.tar.gz: 2a3918df0a19ebc8cb7f72914d752941f459efb0cc8cef89b4ace55f09276ab30c832c3f93026ff40dfb10a9a1818828d02dd0f776f25fc28447eb8fde3481eb
|
data/lib/llvm/core/value.rb
CHANGED
@@ -639,11 +639,16 @@ module LLVM
|
|
639
639
|
end
|
640
640
|
|
641
641
|
def global_constant?
|
642
|
-
C.is_global_constant(self)
|
642
|
+
C.is_global_constant(self) != 0
|
643
643
|
end
|
644
644
|
|
645
645
|
def global_constant=(flag)
|
646
|
-
|
646
|
+
if flag.kind_of?(Integer)
|
647
|
+
warn 'Warning: Passing Integer value to LLVM::GlobalValue#global_constant=(Boolean) is deprecated.'
|
648
|
+
flag = !flag.zero?
|
649
|
+
end
|
650
|
+
|
651
|
+
C.set_global_constant(self, flag ? 1 : 0)
|
647
652
|
end
|
648
653
|
|
649
654
|
def unnamed_addr?
|
@@ -88,9 +88,14 @@ module LLVM
|
|
88
88
|
raise ArgumentError, "FunctionPassManager does not support LTO"
|
89
89
|
end
|
90
90
|
|
91
|
-
|
91
|
+
if internalize.kind_of?(Integer) || run_inliner.kind_of?(Integer)
|
92
|
+
warn 'Warning: Passing Integer value to LLVM::PassManagerBuilder#build_with_lto is deprecated.'
|
93
|
+
internalize = !internalize.zero? if internalize.kind_of?(Integer)
|
94
|
+
run_inliner = !run_inliner.zero? if run_inliner.kind_of?(Integer)
|
95
|
+
end
|
96
|
+
|
92
97
|
C.pass_manager_builder_populate_lto_pass_manager(self,
|
93
|
-
pass_manager, internalize, run_inliner)
|
98
|
+
pass_manager, flag(internalize), flag(run_inliner))
|
94
99
|
end
|
95
100
|
|
96
101
|
private
|
data/lib/llvm/version.rb
CHANGED
data/test/module_test.rb
CHANGED
@@ -28,9 +28,20 @@ class ModuleTestCase < Minitest::Test
|
|
28
28
|
|
29
29
|
assert var.kind_of?(LLVM::GlobalVariable)
|
30
30
|
|
31
|
+
# unnamed_addr
|
31
32
|
assert !var.unnamed_addr?
|
32
33
|
var.unnamed_addr = true
|
33
34
|
assert var.unnamed_addr?
|
35
|
+
|
36
|
+
# global_constant
|
37
|
+
assert !var.global_constant?
|
38
|
+
var.global_constant = true
|
39
|
+
assert var.global_constant?
|
40
|
+
|
41
|
+
assert_output("", "Warning: Passing Integer value to LLVM::GlobalValue#global_constant=(Boolean) is deprecated.\n") do
|
42
|
+
var.global_constant = 0
|
43
|
+
end
|
44
|
+
assert !var.global_constant?
|
34
45
|
end
|
35
46
|
end
|
36
47
|
|
@@ -1,14 +1,19 @@
|
|
1
1
|
require 'test_helper'
|
2
|
+
require 'llvm/config'
|
2
3
|
require 'llvm/transforms/builder'
|
3
4
|
|
4
5
|
class PassManagerBuilderTest < Minitest::Test
|
5
6
|
def setup
|
6
7
|
LLVM.init_jit
|
7
8
|
@builder = LLVM::PassManagerBuilder.new
|
9
|
+
|
10
|
+
machine = LLVM::Target.by_name('x86-64').create_machine('x86-linux-gnu')
|
11
|
+
@pass_manager = LLVM::PassManager.new(machine)
|
8
12
|
end
|
9
13
|
|
10
14
|
def teardown
|
11
15
|
@builder.dispose
|
16
|
+
@pass_manager.dispose
|
12
17
|
end
|
13
18
|
|
14
19
|
def test_init
|
@@ -26,8 +31,24 @@ class PassManagerBuilderTest < Minitest::Test
|
|
26
31
|
end
|
27
32
|
|
28
33
|
def test_build
|
29
|
-
|
30
|
-
|
31
|
-
|
34
|
+
@builder.build(@pass_manager)
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_build_with_lto
|
38
|
+
assert_output('', '') do
|
39
|
+
@builder.build_with_lto(@pass_manager)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_build_with_lto_deprecated_internalize_param
|
44
|
+
assert_output("", "Warning: Passing Integer value to LLVM::PassManagerBuilder#build_with_lto is deprecated.\n") do
|
45
|
+
@builder.build_with_lto(@pass_manager, 0)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_build_with_lto_deprecated_run_inliner_param
|
50
|
+
assert_output("", "Warning: Passing Integer value to LLVM::PassManagerBuilder#build_with_lto is deprecated.\n") do
|
51
|
+
@builder.build_with_lto(@pass_manager, false, 0)
|
52
|
+
end
|
32
53
|
end
|
33
54
|
end
|
metadata
CHANGED
@@ -1,97 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-llvm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.4.
|
4
|
+
version: 3.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Voorhis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0
|
19
|
+
version: '10.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0
|
26
|
+
version: '10.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: ffi
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 1.9.3
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 1.9.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 5.3.4
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 5.3.4
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: ffi_gen
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 1.1.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 1.1.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: simplecov
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: yard
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 0.8.3
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 0.8.3
|
97
97
|
description: Ruby-LLVM is a Ruby language binding to the LLVM compiler infrastructure
|
@@ -104,66 +104,66 @@ extra_rdoc_files:
|
|
104
104
|
- README.md
|
105
105
|
- LICENSE
|
106
106
|
files:
|
107
|
+
- LICENSE
|
108
|
+
- README.md
|
109
|
+
- ext/ruby-llvm-support/Rakefile
|
110
|
+
- ext/ruby-llvm-support/support.cpp
|
111
|
+
- lib/llvm.rb
|
107
112
|
- lib/llvm/analysis.rb
|
108
|
-
- lib/llvm/
|
109
|
-
- lib/llvm/
|
110
|
-
- lib/llvm/
|
111
|
-
- lib/llvm/
|
112
|
-
- lib/llvm/
|
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
|
113
|
+
- lib/llvm/analysis_ffi.rb
|
114
|
+
- lib/llvm/config.rb
|
115
|
+
- lib/llvm/core.rb
|
116
|
+
- lib/llvm/core/bitcode.rb
|
117
|
+
- lib/llvm/core/bitcode_ffi.rb
|
120
118
|
- lib/llvm/core/builder.rb
|
119
|
+
- lib/llvm/core/context.rb
|
121
120
|
- lib/llvm/core/module.rb
|
122
|
-
- lib/llvm/core/
|
123
|
-
- lib/llvm/core/bitcode.rb
|
121
|
+
- lib/llvm/core/pass_manager.rb
|
124
122
|
- lib/llvm/core/type.rb
|
125
|
-
- lib/llvm/core/
|
126
|
-
- lib/llvm/
|
127
|
-
- lib/llvm/linker.rb
|
128
|
-
- lib/llvm/config.rb
|
129
|
-
- lib/llvm/execution_engine_ffi.rb
|
123
|
+
- lib/llvm/core/value.rb
|
124
|
+
- lib/llvm/core_ffi.rb
|
130
125
|
- lib/llvm/execution_engine.rb
|
126
|
+
- lib/llvm/execution_engine_ffi.rb
|
127
|
+
- lib/llvm/linker.rb
|
131
128
|
- lib/llvm/linker_ffi.rb
|
132
|
-
- lib/llvm/
|
133
|
-
- lib/llvm/
|
129
|
+
- lib/llvm/support.rb
|
130
|
+
- lib/llvm/target.rb
|
134
131
|
- lib/llvm/target_ffi.rb
|
135
|
-
- lib/llvm/
|
136
|
-
- lib/llvm.rb
|
137
|
-
-
|
138
|
-
-
|
139
|
-
-
|
140
|
-
-
|
141
|
-
-
|
142
|
-
-
|
143
|
-
-
|
144
|
-
- test/
|
132
|
+
- lib/llvm/transforms/builder.rb
|
133
|
+
- lib/llvm/transforms/builder_ffi.rb
|
134
|
+
- lib/llvm/transforms/ipo.rb
|
135
|
+
- lib/llvm/transforms/ipo_ffi.rb
|
136
|
+
- lib/llvm/transforms/scalar.rb
|
137
|
+
- lib/llvm/transforms/scalar_ffi.rb
|
138
|
+
- lib/llvm/transforms/vectorize.rb
|
139
|
+
- lib/llvm/transforms/vectorize_ffi.rb
|
140
|
+
- lib/llvm/version.rb
|
141
|
+
- test/array_test.rb
|
145
142
|
- test/basic_block_test.rb
|
146
|
-
- test/
|
147
|
-
- test/phi_test.rb
|
143
|
+
- test/binary_operations_test.rb
|
148
144
|
- test/bitcode_test.rb
|
145
|
+
- test/branch_test.rb
|
146
|
+
- test/call_test.rb
|
147
|
+
- test/comparisons_test.rb
|
148
|
+
- test/conversions_test.rb
|
149
149
|
- test/double_test.rb
|
150
|
-
- test/instruction_test.rb
|
151
150
|
- test/equality_test.rb
|
152
|
-
- test/
|
151
|
+
- test/function_test.rb
|
153
152
|
- test/generic_value_test.rb
|
153
|
+
- test/instruction_test.rb
|
154
|
+
- test/ipo_test.rb
|
154
155
|
- test/linker_test.rb
|
155
|
-
- test/comparisons_test.rb
|
156
|
-
- test/select_test.rb
|
157
|
-
- test/function_test.rb
|
158
156
|
- test/memory_access_test.rb
|
159
|
-
- test/
|
157
|
+
- test/module_test.rb
|
160
158
|
- test/parameter_collection_test.rb
|
161
|
-
- test/
|
162
|
-
- test/
|
159
|
+
- test/pass_manager_builder_test.rb
|
160
|
+
- test/phi_test.rb
|
161
|
+
- test/select_test.rb
|
162
|
+
- test/struct_test.rb
|
163
163
|
- test/target_test.rb
|
164
|
-
- test/
|
165
|
-
- test/
|
166
|
-
- test/
|
164
|
+
- test/test_helper.rb
|
165
|
+
- test/type_test.rb
|
166
|
+
- test/vector_test.rb
|
167
167
|
homepage: http://github.com/ruby-llvm/ruby-llvm
|
168
168
|
licenses: []
|
169
169
|
metadata: {}
|
@@ -173,17 +173,17 @@ require_paths:
|
|
173
173
|
- lib
|
174
174
|
required_ruby_version: !ruby/object:Gem::Requirement
|
175
175
|
requirements:
|
176
|
-
- -
|
176
|
+
- - ">="
|
177
177
|
- !ruby/object:Gem::Version
|
178
178
|
version: '0'
|
179
179
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
180
180
|
requirements:
|
181
|
-
- -
|
181
|
+
- - ">="
|
182
182
|
- !ruby/object:Gem::Version
|
183
183
|
version: '0'
|
184
184
|
requirements: []
|
185
185
|
rubyforge_project:
|
186
|
-
rubygems_version: 2.
|
186
|
+
rubygems_version: 2.2.2
|
187
187
|
signing_key:
|
188
188
|
specification_version: 4
|
189
189
|
summary: LLVM bindings for Ruby
|