llvm/llvm-project

[Attributor] Cleanup and upstream `Attribute::MaxObjectSize`

Open

#179 geöffnet am 14. März 2020

Auf GitHub ansehen
 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)C++ (10.782 Forks)batch import
gsochelp wantedllvm::Attributor

Repository-Metriken

Stars
 (26.378 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 1T 2h) (1.000 gemergte PRs in 30 T)

Beschreibung

We introduced a new llvm::Attribute in the Attributor tutorial (https://youtu.be/HVvvCSSLiTw) which never made it out of the prototype stage: https://github.com/jdoerfert/llvm-project/tree/feature/max_obj_size

The meaning of the attribute is described in the tutorial along with the rational, what code is there, and what needs to be done (to some degree).

  • Write a short RFC for a the attribute and send it to llvm-dev
  • Create the attribute with all the pluming (taken from the prototype)
  • Extract the deduction code from the prototype, rebase it, cleanup and additional tests, put it up for review
  • Extract the alias analysis interaction code, rebase it, cleanup and additional tests, put it up for review
  • Determine if and how we can use assumed information of dereferenceability and max object size inside of AANoAlias.

Contributor Guide