Class: LLVM::TargetMachine
- Inherits:
-
Object
- Object
- LLVM::TargetMachine
- Includes:
- PointerIdentity
- Defined in:
- lib/llvm/target.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#cpu ⇒ Object
Returns the CPU used for creating this target machine.
-
#dispose ⇒ Object
Destroys this instance of TargetMachine.
-
#emit(mod, filename, codegen = :assembly) ⇒ Object
Emits an asm or object file for the given module.
-
#features ⇒ Object
Returns the feature string used for creating this target machine.
-
#target ⇒ Target
Returns the corresponding Target.
-
#triple ⇒ Object
Returns the triple used for creating this target machine.
Methods included from PointerIdentity
Class Method Details
.from_ptr(ptr) ⇒ Object
159 160 161 162 163 |
# File 'lib/llvm/target.rb', line 159 def self.from_ptr(ptr) target = allocate target.instance_variable_set :@ptr, ptr target end |
Instance Method Details
#cpu ⇒ Object
Returns the CPU used for creating this target machine.
186 187 188 |
# File 'lib/llvm/target.rb', line 186 def cpu C.get_target_machine_cpu(self) end |
#dispose ⇒ Object
Destroys this instance of TargetMachine.
166 167 168 169 170 171 |
# File 'lib/llvm/target.rb', line 166 def dispose return if @ptr.nil? C.dispose_target_machine(self) @ptr = nil end |
#emit(mod, filename, codegen = :assembly) ⇒ Object
Emits an asm or object file for the given module.
198 199 200 201 202 |
# File 'lib/llvm/target.rb', line 198 def emit(mod, filename, codegen = :assembly) LLVM.with_error_output do |err| C.target_machine_emit_to_file(self, mod, filename.to_s, codegen, err) end end |
#features ⇒ Object
Returns the feature string used for creating this target machine.
191 192 193 |
# File 'lib/llvm/target.rb', line 191 def features C.get_target_machine_feature_string(self) end |
#target ⇒ Target
Returns the corresponding Target.
176 177 178 |
# File 'lib/llvm/target.rb', line 176 def target Target.from_ptr(C.get_target_machine_target(self)) end |
#triple ⇒ Object
Returns the triple used for creating this target machine.
181 182 183 |
# File 'lib/llvm/target.rb', line 181 def triple C.get_target_machine_triple(self) end |