diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0cdd6aaba952..164bd56b48b6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-08-26 Richard Guenther + + PR tree-optimization/45255 + * tree.c (decl_address_invariant_p): DECL_DLLIMPORT_P + statics and externals are also invariant. + 2010-08-25 Jakub Jelinek PR rtl-optimization/44858 diff --git a/gcc/tree.c b/gcc/tree.c index 4ad2f5b12357..a767230d1c85 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -2474,8 +2474,7 @@ decl_address_invariant_p (const_tree op) return true; case VAR_DECL: - if (((TREE_STATIC (op) || DECL_EXTERNAL (op)) - && !DECL_DLLIMPORT_P (op)) + if ((TREE_STATIC (op) || DECL_EXTERNAL (op)) || DECL_THREAD_LOCAL_P (op) || DECL_CONTEXT (op) == current_function_decl || decl_function_context (op) == current_function_decl)