Commit 269c80f2 by Jakub Jelinek Committed by Jakub Jelinek

re PR tree-optimization/46233 (ICE: verify_flow_info failed: control flow in the…

re PR tree-optimization/46233 (ICE: verify_flow_info failed: control flow in the middle of basic block 3 with -foptimize-sibling-calls)

	PR tree-optimization/46233
	* ipa-pure-const.c (local_pure_const): Do noreturn discovery
	after calling analyze_function, not before.

	* gcc.dg/pr46233.c: New test.

From-SVN: r166324
parent 86710a8b
2010-11-04 Jakub Jelinek <jakub@redhat.com> 2010-11-04 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/46233
* ipa-pure-const.c (local_pure_const): Do noreturn discovery
after calling analyze_function, not before.
PR target/46234 PR target/46234
* config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref * config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref
instead of build_va_arg_indirect_ref. instead of build_va_arg_indirect_ref.
...@@ -1571,7 +1571,9 @@ local_pure_const (void) ...@@ -1571,7 +1571,9 @@ local_pure_const (void)
&& skip) && skip)
return 0; return 0;
/* First do NORETURN discovery. */ l = analyze_function (node, false);
/* Do NORETURN discovery. */
if (!skip && !TREE_THIS_VOLATILE (current_function_decl) if (!skip && !TREE_THIS_VOLATILE (current_function_decl)
&& EDGE_COUNT (EXIT_BLOCK_PTR->preds) == 0) && EDGE_COUNT (EXIT_BLOCK_PTR->preds) == 0)
{ {
...@@ -1587,7 +1589,6 @@ local_pure_const (void) ...@@ -1587,7 +1589,6 @@ local_pure_const (void)
changed = true; changed = true;
} }
l = analyze_function (node, false);
switch (l->pure_const_state) switch (l->pure_const_state)
{ {
......
2010-11-04 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/46233
* gcc.dg/pr46233.c: New test.
2010-11-04 Iain Sandoe <iains@gcc.gnu.org> 2010-11-04 Iain Sandoe <iains@gcc.gnu.org>
* objc.dg/property/property-2.m: Deleted. * objc.dg/property/property-2.m: Deleted.
......
/* PR tree-optimization/46233 */
/* { dg-do compile } */
/* { dg-options "-O -fno-tree-dce" } */
int
foo ()
{
int i = 0;
while (1)
i += foo ();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment