This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Daniel Berlin <dberlin@dberlin.org> writes:
I know you can do it with decl_function_context, but I'm trying to avoid using it, because it's too expensive in PTA due to call overhead (Any time a query is made, we need to figure out whether they are querying about a global or not, so we end up calling it millions of times).
Thus, i'm wondering if there is some combination of tree flags i can rely on to always be correct.
Currently, I check DECL_CONTEXT, and iff it's a FUNCTION_DECL, we say it's local, otherwise, we call decl_function_context and see if it returns NULL.
Is there a better way?
I presume that by 'local' you mean 'inside a function scope', not 'file-local' or 'automatic'?
No, there's no better way.
Why do you want to do this?Because Points-to, and tree-ssa in general, currently globs all non-local variables to one variable named "GLOBAL_VAR", which is clobbered by most types of function calls.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |