Deduce attributes for non-exact functions
- Mentors
- Johannes Doerfert, Brian Homerding
- Organization
- The LLVM Compiler Infrastructure
A function that is non-exactly defined is a function that could be replaced at link time. Usually most of the non-inlining IPOs are inhibited. For the attributor, we do fix-point analysis for attributes and if we found the function to which the abstract attribute is related has non-exact definition, we immediately reach pessimistic fix-point without analyzing it. However, many of the LLVM IR functions are non-exact, so we propose a way to "wrap" the function up, so that the function can be seen as if it has exact definition, and by doing so, we can do fix-point analysis on this function