mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-27 05:49:08 +00:00
Support ValuePtr in alias analysis and llvm
This commit is contained in:
parent
8d9c6d09b9
commit
0385da490a
2 changed files with 3 additions and 2 deletions
|
@ -1820,7 +1820,7 @@ fn erasure_load(
|
|||
) -> Result<ValueId> {
|
||||
match field {
|
||||
ErasedField::Callee => builder.add_get_tuple_field(block, value, ERASURE_CALEE_INDEX),
|
||||
ErasedField::Value => {
|
||||
ErasedField::Value | ErasedField::ValuePtr => {
|
||||
let unknown_heap_cell_value =
|
||||
builder.add_get_tuple_field(block, value, ERASURE_VALUE_INDEX)?;
|
||||
// Cast the unknown cell to the wanted type
|
||||
|
|
|
@ -96,12 +96,13 @@ pub fn load<'ctx>(
|
|||
) -> PointerValue<'ctx> {
|
||||
let index = match field {
|
||||
ErasedField::Value => 0,
|
||||
ErasedField::ValuePtr => 0,
|
||||
ErasedField::Callee => 1,
|
||||
};
|
||||
|
||||
let value = env
|
||||
.builder
|
||||
.build_extract_value(erasure, index, "extract_value")
|
||||
.build_extract_value(erasure, index, "extract_erased_value")
|
||||
.unwrap()
|
||||
.into_pointer_value();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue