arcana-lab / noelle

NOELLE Offers Empowering LLVM Extensions
MIT License
72 stars 34 forks source link

Add fixed basicaa to NOELLE #51

Open tommymcm opened 1 year ago

tommymcm commented 1 year ago

LLVM's basicaa is not safe for parallel applications because it breaks alias edges that should exist. However basicaa is the only (as far as I can tell) AA that reads function attributes.

To test for correctness:

for (i=0..N) {
  arr[i-1] = ...
  ... = arr[i]
}

The two instructions above should alias, however they currently do not.

tommymcm commented 1 year ago

Working on getting this to integrate will NOELLE AAResults Moving to an analyze and patch method to fix loop bug in LLVM basicaa.

tommymcm commented 1 year ago

Finalizing unit test

tommymcm commented 1 year ago

Delaying this feature until we need it. For the near future we do not need to generate the PDG.

Feature is implemented but specification is not entirely clear so we don't mess with NOELLE's AA system.