From a2780cc9b0d0dc70f15a78a441258193d1422594 Mon Sep 17 00:00:00 2001 From: tecodev Date: Sat, 22 Jan 2005 01:30:33 +0000 Subject: [PATCH] * src/pic16/pcoderegs.c (pCodeOptime2pCodes): disabled optimization to fix #1106967 (pCode->seq are not set up correctly) git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3644 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- ChangeLog | 5 +++++ src/pic16/pcoderegs.c | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/ChangeLog b/ChangeLog index a8006326..f8a3f7fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-01-22 Raphael Neider + + * src/pic16/pcoderegs.c (pCodeOptime2pCodes): disabled optimization + to fix #1106967 (pCode->seq are not set up correctly) + 2004-01-22 Erik Petrich * src/SDCCglue.c (glue): make sure code area is declared before the diff --git a/src/pic16/pcoderegs.c b/src/pic16/pcoderegs.c index ad18f83e..844c8336 100644 --- a/src/pic16/pcoderegs.c +++ b/src/pic16/pcoderegs.c @@ -431,6 +431,7 @@ static void Remove2pcodes(pCode *pcflow, pCode *pc1, pCode *pc2, regs *reg, int /*-----------------------------------------------------------------* * *-----------------------------------------------------------------*/ +#if 0 static int regUsedinRange(pCode *pc1, pCode *pc2, regs *reg) { int i=0; @@ -465,6 +466,10 @@ static int regUsedinRange(pCode *pc1, pCode *pc2, regs *reg) *-----------------------------------------------------------------*/ static int pCodeOptime2pCodes(pCode *pc1, pCode *pc2, pCode *pcfl_used, regs *reg, int can_free, int optimize_level) { + // pc1 and pc2 have to given in execution order -- this not guaranteed. + // The check on pcX->seq does not help much as (nearly) all seq's are + // zero at the moment... + pCode *pct1, *pct2; regs *reg1, *reg2; @@ -665,6 +670,14 @@ static int pCodeOptime2pCodes(pCode *pc1, pCode *pc2, pCode *pcfl_used, regs *re return (total_registers_saved != t); } +#else + +static int pCodeOptime2pCodes(pCode *pc1, pCode *pc2, pCode *pcfl_used, regs *reg, int can_free, int optimize_level) +{ + return 0; +} + +#endif /*-----------------------------------------------------------------* * void pCodeRegOptimeRegUsage(pBlock *pb) -- 2.30.2