mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-25 23:41:28 +08:00
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
This commit is contained in:
parent
86710a8bf2
commit
269c80f2a6
@ -1,5 +1,9 @@
|
||||
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
|
||||
* config/rs6000/rs6000.c (rs6000_va_start): Use build_simple_mem_ref
|
||||
instead of build_va_arg_indirect_ref.
|
||||
|
@ -1571,7 +1571,9 @@ local_pure_const (void)
|
||||
&& skip)
|
||||
return 0;
|
||||
|
||||
/* First do NORETURN discovery. */
|
||||
l = analyze_function (node, false);
|
||||
|
||||
/* Do NORETURN discovery. */
|
||||
if (!skip && !TREE_THIS_VOLATILE (current_function_decl)
|
||||
&& EDGE_COUNT (EXIT_BLOCK_PTR->preds) == 0)
|
||||
{
|
||||
@ -1587,7 +1589,6 @@ local_pure_const (void)
|
||||
|
||||
changed = true;
|
||||
}
|
||||
l = analyze_function (node, false);
|
||||
|
||||
switch (l->pure_const_state)
|
||||
{
|
||||
|
@ -1,3 +1,8 @@
|
||||
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>
|
||||
|
||||
* objc.dg/property/property-2.m: Deleted.
|
||||
|
11
gcc/testsuite/gcc.dg/pr46233.c
Normal file
11
gcc/testsuite/gcc.dg/pr46233.c
Normal file
@ -0,0 +1,11 @@
|
||||
/* PR tree-optimization/46233 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O -fno-tree-dce" } */
|
||||
|
||||
int
|
||||
foo ()
|
||||
{
|
||||
int i = 0;
|
||||
while (1)
|
||||
i += foo ();
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user