Commit Graph

18 Commits

Author SHA1 Message Date
Jonas Maebe
8cf4da6d5e + optimize pascal code surrounding assembler blocks 1998-12-29 18:48:15 +00:00
Jonas Maebe
09f430de39 + extra checks in RegsEquivalent so some more optimizations can be done (which
where disabled by the second fix from revision 1.22)
1998-12-17 16:37:38 +00:00
Jonas Maebe
242244016d * changed "if longintvar in set" to case or "if () or () .." statements
* tree.pas: changed inlinenumber (and associated constructor/vars) to a byte
1998-12-02 16:23:29 +00:00
Jonas Maebe
4df2da0cc7 * fixed problems posiible with 3 operand instructions 1998-11-24 19:47:22 +00:00
Jonas Maebe
2b9d08c912 * fixed comments from last commit (apparently there's still a 255 char limit :( ) 1998-11-09 19:40:46 +00:00
Jonas Maebe
d8c11fa743 * changed specific bugfix (which was actually wrong implemented, but did the
right thing in most cases nevertheless) to general bugfix
  * fixed bug that caused
    mov (ebp), edx                                    mov (ebp), edx
    mov (edx), edx
1998-11-09 19:33:39 +00:00
peter
9a650233f0 * removed some unused vars 1998-10-20 09:32:54 +00:00
Jonas Maebe
de7086cc3c * changed state to WState (WriteState), added RState for future use in
instruction scheduling
1998-10-07 16:24:52 +00:00
Jonas Maebe
8b104e763e * much better interregister CSE 1998-10-02 17:29:23 +00:00
Jonas Maebe
965c651dcc * inter-register CSE, still requires some tweaks (peepholeoptpass2, better RegAlloc) 1998-10-01 20:21:47 +00:00
pierre
d11f7636be + added vmt_offset in tobjectdef.write for fututre use
(first steps to have objects without vmt if no virtual !!)
  + added fpu_used field for tabstractprocdef  :
    sets this level to 2 if the functions return with value in FPU
    (is then set to correct value at parsing of implementation)
    THIS MIGHT refuse some code with FPU expression too complex
    that were accepted before and even in some cases
    that don't overflow in fact
    ( like if f : float; is a forward that finally in implementation
     only uses one fpu register !!)
    Nevertheless I think that it will improve security on
    FPU operations !!
  * most other changes only for UseBrowser code
    (added symtable references for record and objects)
    local switch for refs to args and local of each function
    (static symtable still missing)
    UseBrowser still not stable and probably broken by
    the definition hash array !!
1998-09-21 08:45:05 +00:00
Jonas Maebe
fccf4109e0 * small fix for uncertain optimizations & more cleaning up 1998-09-20 17:12:35 +00:00
Jonas Maebe
1151b6d698 * big error (with little consequences) corrected in NoChangedRegInRef 1998-09-17 21:54:21 +00:00
Jonas Maebe
2c1ae07bea * optimizer now completely dependant on GetNext/GetLast instruction, works again with -dRegAlloc 1998-09-16 17:59:59 +00:00
Jonas Maebe
a3b5867cb8 * removed $ before and after Log in comment 1998-08-06 19:40:25 +00:00
florian
76ee202b37 * some fixes for ansi strings
* $log$ to $Log$ changed
1998-08-05 16:00:08 +00:00
Jonas Maebe
aa224d4bd5 * removed some units from the uses clause 1998-08-04 16:19:46 +00:00
Jonas Maebe
892964eaf2 * split the optimizer 1998-07-23 19:31:18 +00:00