blob: 53c5fb5588e9207fbcfc3073e882150d87d870c5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
/* { dg-options "-fgimple" } */
/* PR tree-optimization/115143 */
/* This used to ICE.
minmax part of phiopt would transform,
would transform `a!=0?min(a, b) : 0` into `min(a,b)`
which was correct except b was defined by a phi in the inner
bb which was not handled. */
unsigned __GIMPLE (ssa,startwith("phiopt"))
foo (unsigned a, unsigned b)
{
unsigned j;
unsigned _23;
unsigned _12;
__BB(2):
if (a_6(D) > 0u)
goto __BB3;
else
goto __BB4;
__BB(3):
j_10 = __PHI (__BB2: b_7(D));
_23 = __MIN (a_6(D), j_10);
goto __BB4;
__BB(4):
_12 = __PHI (__BB3: _23, __BB2: 0u);
return _12;
}
|