This attribute will allow users to annotate opaque c functions as not
decrementing any reference counts in the functions body or any function that is
called by the given function.
This will improve ARC optimization.
Differential D16708
Add a new attribute CFNoRelease. gottesmm on Jan 28 2016, 8:37 PM. Authored by
Details
This attribute will allow users to annotate opaque c functions as not This will improve ARC optimization.
Diff Detail Event TimelineComment Actions It's a bit strange to add an attribute that has absolutely no semantic effect whatsoever. Where is this attribute intended to be queried within the compiler? Are there additional functionality patches coming for this?
Comment Actions I think that my response via email did not hit phabriactor. So sorry for the delay. Yes there is a forthcoming patch for CodeGen which will place an attribute on the relevant functions. The attribute will be queried in the middle end optimizer. The reason why there has been a bit of a delay is I realized I wanted to talk to a few more people about this attribute internally. We may want to expand its use to essentially mean "no-arc", i.e. this is a c function that uses pure c-code. There are other possibilities as well so stay tuned. Comment Actions No worries!
Okay, I would recommend the future patch include that middle end component as well. It gives better context for the attribute side of things.
|
Please, no undocumented new attributes. You should modify AttrDocs.td and include that reference here.