Compile this at -O1, and you get 
 
 tree PTA              :  12.25 (36%) usr   0.08 ( 5%) sys  12.35 (35%) wall   
44137 kB (16%) ggc 
 
======================================================================= 
int *a; 
 
#define C1(A) \ 
  a[A##1] = A; a[A##2] = A; a[A##3] = A; a[A##4] = A; a[A##5] = A; \ 
  a[A##6] = A; a[A##7] = A; a[A##8] = A; a[A##9] = A; a[A##0] = A 
 
#define C2(A) \ 
  C1(A##1); C1(A##2); C1(A##3); C1(A##4); C1(A##5); \ 
  C1(A##6); C1(A##7); C1(A##8); C1(A##9); C1(A##0) 
 
#define C3(A) \ 
  C2(A##1); C2(A##2); C2(A##3); C2(A##4); C2(A##5); \ 
  C2(A##6); C2(A##7); C2(A##8); C2(A##9); C2(A##0) 
 
#define C4(A) \ 
  C3(A##1); C3(A##2); C3(A##3); C3(A##4); C3(A##5); 
//  C3(A##6); C3(A##7); C3(A##8); C3(A##9); C3(A##0) 
 
#define C5() \ 
  C4(1); C4(2); C4(3); C4(4); C4(5); \ 
  C4(6); C4(7); C4(8); C4(9) 
 
void 
foo (void) 
{ 
  C5 (); 
} 
=======================================================================

-- 
           Summary: PTA is slow on a silly unrealistic test case
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: steven at gcc dot gnu dot org
                CC: dberlin at gcc dot gnu dot org,gcc-bugs at gcc dot gnu
                    dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22376

Reply via email to