aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/always_inline3.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2007-01-11 17:44:56 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2007-01-11 16:44:56 +0000
commit18d5e416f8b6ca75796803e6957aaa513fcf51dc (patch)
tree40aa32737d2e736bae72a8df68748c9a126108d1 /gcc/testsuite/gcc.dg/always_inline3.c
parent78392049f6da9177ce36eb354b8e65f24e602112 (diff)
downloadgcc-18d5e416f8b6ca75796803e6957aaa513fcf51dc.zip
gcc-18d5e416f8b6ca75796803e6957aaa513fcf51dc.tar.gz
gcc-18d5e416f8b6ca75796803e6957aaa513fcf51dc.tar.bz2
re PR tree-optimization/1046 (gcc less efficient than jdk for recursion with -finline-functions)
PR tree-optimization/1046 * tree-tailcall.c (suitable_for_tail_call_opt_p): Use TREE_ADDRESSABLE when alias info is not ready. (pass_tail_recursion): Do not require aliasing. * tree-ssa-copyrename.c (pass_rename_ssa_cop): Likewise. * tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Likewise. * tree-ssa-copy.c (pass_copy_prop): Likewise. * tree-ssa-forwprop.c (pass_forwprop): Likewise. * tree-ssa-dce.c (pass_dce, pass_dce_loop, pass_cd_dce): Likewise. * passes.c (init_optimization_passes): Execute rename_ssa_copies, ccp, forwprop, copy_prop, merge_phi, copy_prop, dce and tail recursion before inlining. * tree-ssa-operands.c (add_virtual_operand, get_indirect_ref_operand): When aliasing is not build, mark statement as volatile. From-SVN: r120680
Diffstat (limited to 'gcc/testsuite/gcc.dg/always_inline3.c')
-rw-r--r--gcc/testsuite/gcc.dg/always_inline3.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/always_inline3.c b/gcc/testsuite/gcc.dg/always_inline3.c
index b183770..e1a337c 100644
--- a/gcc/testsuite/gcc.dg/always_inline3.c
+++ b/gcc/testsuite/gcc.dg/always_inline3.c
@@ -1,8 +1,10 @@
/* { dg-do compile } */
/* { dg-options "-Winline -O2" } */
+void do_something_evil (void);
inline __attribute__ ((always_inline)) void
q2(void)
{ /* { dg-error "recursive" "" } */
+ do_something_evil ();
q2(); /* { dg-error "called from here" "" } */
q2(); /* { dg-error "called from here" "" } */
}