mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-30 15:21:12 +00:00
Have Env store TargetData instead of pointer_bytes
This commit is contained in:
parent
ee4227ba52
commit
eed9fb0e69
2 changed files with 6 additions and 8 deletions
|
@ -3,6 +3,7 @@ use bumpalo::Bump;
|
|||
use inkwell::builder::Builder;
|
||||
use inkwell::context::Context;
|
||||
use inkwell::module::{Linkage, Module};
|
||||
use inkwell::targets::TargetData;
|
||||
use inkwell::types::BasicTypeEnum;
|
||||
use inkwell::values::BasicValueEnum::{self, *};
|
||||
use inkwell::values::{FunctionValue, IntValue, PointerValue};
|
||||
|
@ -32,7 +33,7 @@ pub struct Env<'a, 'ctx, 'env> {
|
|||
pub builder: &'env Builder<'ctx>,
|
||||
pub module: &'ctx Module<'ctx>,
|
||||
pub interns: Interns,
|
||||
pub pointer_bytes: u32,
|
||||
pub target_data: &'env TargetData,
|
||||
}
|
||||
|
||||
pub fn build_expr<'a, 'ctx, 'env>(
|
||||
|
@ -230,7 +231,8 @@ pub fn build_expr<'a, 'ctx, 'env>(
|
|||
BasicValueEnum::StructValue(struct_val.into_struct_value())
|
||||
} else {
|
||||
let len_u64 = elems.len() as u64;
|
||||
let elem_bytes = elem_layout.stack_size(env.pointer_bytes) as u64;
|
||||
let pointer_bytes = env.target_data.get_pointer_byte_size(None);
|
||||
let elem_bytes = elem_layout.stack_size(pointer_bytes) as u64;
|
||||
|
||||
let ptr = {
|
||||
let bytes_len = elem_bytes * len_u64;
|
||||
|
|
|
@ -210,8 +210,6 @@ mod test_gen {
|
|||
.create_jit_execution_engine(OptimizationLevel::None)
|
||||
.expect("Error creating JIT execution engine for test");
|
||||
|
||||
let pointer_bytes = execution_engine.get_target_data().get_pointer_byte_size(None);
|
||||
|
||||
// Compile and add all the Procs before adding main
|
||||
let mut env = roc_gen::llvm::build::Env {
|
||||
arena: &arena,
|
||||
|
@ -219,7 +217,7 @@ mod test_gen {
|
|||
context: &context,
|
||||
interns,
|
||||
module: arena.alloc(module),
|
||||
pointer_bytes
|
||||
target_data: execution_engine.get_target_data()
|
||||
};
|
||||
let mut procs = Procs::default();
|
||||
let mut ident_ids = env.interns.all_ident_ids.remove(&home).unwrap();
|
||||
|
@ -347,8 +345,6 @@ mod test_gen {
|
|||
.create_jit_execution_engine(OptimizationLevel::None)
|
||||
.expect("Error creating JIT execution engine for test");
|
||||
|
||||
let pointer_bytes = execution_engine.get_target_data().get_pointer_byte_size(None);
|
||||
|
||||
// Compile and add all the Procs before adding main
|
||||
let mut env = roc_gen::llvm::build::Env {
|
||||
arena: &arena,
|
||||
|
@ -356,7 +352,7 @@ mod test_gen {
|
|||
context: &context,
|
||||
interns,
|
||||
module: arena.alloc(module),
|
||||
pointer_bytes
|
||||
target_data: execution_engine.get_target_data()
|
||||
};
|
||||
let mut procs = Procs::default();
|
||||
let mut ident_ids = env.interns.all_ident_ids.remove(&home).unwrap();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue