Hi,
I have a frontend that could insert many calls to an external threading library, my problem is that would interfere with optimizations, particularly the inliner.
Is there some way to do this ?
I’ve considered leaving textual markers in function names, is that a legitimate solution ?
James
you can put various attributes (const/pure/noreturn/returns/whatever)
on the function to help optimizations know what to do with them
you can put various attributes (const/pure/noreturn/returns/whatever)
on the function to help optimizations know what to do with them
While we have a rich and growing set to describe possible side effect, it certainly depends on the functions what is applicable.
What is the actual reason the inliner behavior changes? Could it just be code size?
Are those calls mostly "getters"? Fork-join calls? Barriers?
Also take a look at the `__OMP_ATTRS_SET` we define in `llvm/include/llvm/Frontend/OpenMP/OMPKinds.def`.
~ Johannes