llvm / llvm/llvm-project

Attributor creates corrupted GC Pointers

Open
#168,091 0 comments 0 reactions 0 assignees View on GitHub
llvm::Attributor
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

Now that Julia moved to LLVM 18, the attributor features the following utility:
```
struct AAAddressSpaceImpl : public AAAddressSpace {
```

this rewrites code to have the address space of the base allocation.

Julia, however, uses different address spaces to refer to different semantics within the garbage collector, resulting in the attributor's modification to the address spaces to corrupt the GC.

cc @vchuravy @vtjnash

Is there a way to selecively disable just this pattern?

There's an allow set but not a reject set:
```

/// If not null, a set limiting the attribute opportunities.
DenseSet *Allowed = nullptr;
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.