/* { dg-do compile } */ /* { dg-options "-O1 -fdump-tree-optimized -fdump-tree-original" } */ /* PR tree-optimization/111349 */ int f(); int g(); int test1(int a, int b) { return (a > b) ? ((a > b) ? a : b) : a; } int test1_(int a, int b) { return (b < a) ? ((a > b) ? a : b) : a; } /* test1 and test1_ should be able to optimize to `return a;` during fold. */ /* { dg-final { scan-tree-dump-times "return a;" 2 "original" } } */ /* { dg-final { scan-tree-dump-not " MAX_EXPR " "original" } } */ /* { dg-final { scan-tree-dump-times "return a" 2 "optimized" } } */