Attributor creates corrupted GC Pointers
Open
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
Assessment
This issue has not been assessed yet.