Changeset 308

Show
Ignore:
Timestamp:
12/24/09 15:15:25 (4 years ago)
Author:
walter
Message:

bugzilla 3633 Optimizer causes access violation

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/dmd-1.x/src/backend/cod1.c

    r272 r308  
    13201320 
    13211321code *scodelem(elem *e,regm_t *pretregs,regm_t keepmsk,bool constflag) 
    1322 { code *c,*cs1,*cs2
     1322{ code *c,*cs1,*cs2,*cs3
    13231323  unsigned i,j; 
    13241324  regm_t oldmfuncreg,oldregcon,oldregimmed,overlap,tosave,touse; 
     
    14211421  } 
    14221422 
    1423   cs1 = cs2 = NULL; 
     1423  cs1 = cs2 = cs3 = NULL; 
    14241424  adjesp = 0; 
    14251425 
     
    14611461        cs2 = cat(gen1(CNIL,pop),cs2);      /* POP i    */ 
    14621462        } 
    1463         cs2 = cat(getregs(mi),cs2); 
     1463        cs3 = cat(getregs(mi),cs3); 
    14641464        tosave &= ~mi; 
    14651465    } 
     
    15031503        e,*pretregs,keepmsk,constflag); 
    15041504#endif 
    1505   return cat3(cs1,c,cs2); 
     1505  return cat4(cs1,c,cs3,cs2); 
    15061506} 
    15071507  
  • branches/dmd-1.x/src/msc.c

    r189 r308  
    4444    if (!config.target_cpu) 
    4545    {   config.target_cpu = TARGET_PentiumPro; 
    46     config.target_scheduler = config.target_cpu; 
     46    config.target_scheduler = 0; //config.target_cpu; 
    4747    } 
    4848    config.fulltypes = CVNONE; 
  • trunk/src/backend/cod1.c

    r272 r308  
    13201320 
    13211321code *scodelem(elem *e,regm_t *pretregs,regm_t keepmsk,bool constflag) 
    1322 { code *c,*cs1,*cs2
     1322{ code *c,*cs1,*cs2,*cs3
    13231323  unsigned i,j; 
    13241324  regm_t oldmfuncreg,oldregcon,oldregimmed,overlap,tosave,touse; 
     
    14211421  } 
    14221422 
    1423   cs1 = cs2 = NULL; 
     1423  cs1 = cs2 = cs3 = NULL; 
    14241424  adjesp = 0; 
    14251425 
     
    14611461        cs2 = cat(gen1(CNIL,pop),cs2);      /* POP i    */ 
    14621462        } 
    1463         cs2 = cat(getregs(mi),cs2); 
     1463        cs3 = cat(getregs(mi),cs3); 
    14641464        tosave &= ~mi; 
    14651465    } 
     
    15031503        e,*pretregs,keepmsk,constflag); 
    15041504#endif 
    1505   return cat3(cs1,c,cs2); 
     1505  return cat4(cs1,c,cs3,cs2); 
    15061506} 
    15071507