X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2FSDCCcse.h;h=1926dd84a4112b19ddf87caa6e0f9d5ddf0da0ae;hb=bb226788dab3832b0ec0cda70874ce3fce4eebc6;hp=8868437882a772b9e32a2c8dc507952997ef996f;hpb=4ce4ccfc2eb165c16b1636756493120423a7c170;p=fw%2Fsdcc diff --git a/src/SDCCcse.h b/src/SDCCcse.h index 88684378..1926dd84 100644 --- a/src/SDCCcse.h +++ b/src/SDCCcse.h @@ -31,11 +31,13 @@ typedef struct cseDef { - unsigned int key; + int key; operand *sym; /* defining symbol */ iCode *diCode; /* defining instruction */ bitVect *ancestors; /* keys of the symbol's ancestors */ int fromGlobal:1; /* defining symbol's value computed from a global */ + int fromAddrTaken:1; /* defining symbol's value computed from a */ + /* symbol whose address was taken */ } cseDef; @@ -50,9 +52,8 @@ int ifDefSymIs (set *, operand *); DEFSETFUNC (findPrevIc); DEFSETFUNC (ifOperandsHave); DEFSETFUNC (findCheaperOp); -int cseBBlock (eBBlock *, int, eBBlock **, int); -int cseAllBlocks (eBBlock **, int, int computeOnly); -void ifxOptimize (iCode *, set *, int, eBBlock *, int *, eBBlock **, int); +int cseBBlock (eBBlock *, int, ebbIndex *); +int cseAllBlocks (ebbIndex *, int computeOnly); void unsetDefsAndUses (iCode *); void updateSpillLocation (iCode * ic,int); void setUsesDefs (operand *, bitVect *, bitVect *, bitVect **);