summaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorDaniel Berlin <dberlin@dberlin.org>2005-01-04 01:54:26 +0000
committerDaniel Berlin <dberlin@gcc.gnu.org>2005-01-04 01:54:26 +0000
commit1eb3331e96ce4c7652004ef02da7ca9e72539555 (patch)
tree416968ea26b7983325a0c2ff0b9e690796ea0157 /gcc/tree-inline.c
parent35a91d76115048150dd7700a9606756dec2d8d42 (diff)
downloadgcc-1eb3331e96ce4c7652004ef02da7ca9e72539555.tar.gz
Fix PR debug/17924 Fix PR debug/19191
2005-01-03 Daniel Berlin <dberlin@dberlin.org> Fix PR debug/17924 Fix PR debug/19191 * dwarf2out.c (block_ultimate_origin): Follow decl origin if origin is a decl. * gimple-low.c (mark_blocks_with_used_vars): New function. (mark_blocks_with_used_subblocks): Ditto. (mark_used_blocks): Ditto. (pass_mark_used_blocks): New pass. * tree-inline.c: Include debug.h. (expand_call_inline): Call outlining_inline_function here. * tree-optimize.c (init_tree_optimization_passes): Add pass_mark_used_blocks. * tree-pass.h (pass_mark_used_blocks): New. * Makefile.in (tree-inline.o): Add debug.h dependency. From-SVN: r92882
Diffstat (limited to 'gcc/tree-inline.c')
-rw-r--r--gcc/tree-inline.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c
index 8f3e161d292..b6ad39940e0 100644
--- a/gcc/tree-inline.c
+++ b/gcc/tree-inline.c
@@ -43,6 +43,7 @@ Boston, MA 02111-1307, USA. */
#include "tree-mudflap.h"
#include "function.h"
#include "diagnostic.h"
+#include "debug.h"
/* I'm not real happy about this, but we need to handle gimple and
non-gimple trees. */
@@ -1640,6 +1641,12 @@ expand_call_inline (tree *tp, int *walk_subtrees, void *data)
The easiest solution is to simply recalculate TREE_SIDE_EFFECTS for
the toplevel expression. */
recalculate_side_effects (expr);
+
+ /* Output the inlining info for this abstract function, since it has been
+ inlined. If we don't do this now, we can lose the information about the
+ variables in the function when the blocks get blown away as soon as we
+ remove the cgraph node. */
+ (*debug_hooks->outlining_inline_function) (edge->callee->decl);
/* Update callgraph if needed. */
cgraph_remove_node (edge->callee);