Commit Graph

35 Commits

Author SHA1 Message Date
florian
1896be988f Changes of Alexander Stohr integrated:
+ added KNI opcodes
    + added KNI registers
    + added 3DNow! opcodes
    + added 64 bit and 128 bit register flags
    * translated a few comments into english
1999-01-08 12:39:22 +00:00
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
2b0c6c2951 * uncommented OpsEqual & added to interface because popt386 uses it now 1998-12-15 19:33:58 +00:00
peter
1b369bb4bb + globtype,tokens,version unit splitted from globals 1998-12-11 00:02:37 +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
31cc13417a - removed A_CLTD opcode (use A_CDQ instead)
* changed cbw, cwde and cwd to cbtw, cwtl and cwtd in att_op2str array
  * in daopt386: adapted AsmInstr array to reflect changes + fixed line too long
1998-11-26 21:45:29 +00:00
Jonas Maebe
f4b8ab9e61 * several small fixes in the AsmInstr table (concerning reading/writing from
regs/mem, doesn't affect current optimizer)
1998-11-26 15:43:24 +00:00
Jonas Maebe
4df2da0cc7 * fixed problems posiible with 3 operand instructions 1998-11-24 19:47:22 +00:00
peter
d3946024c8 * fixed crash 1998-11-24 12:50:09 +00:00
Jonas Maebe
ae04ea5143 + gathering of register reading data, nowhere used yet (necessary for instruction scheduling) 1998-11-18 17:58:22 +00:00
peter
73b85611a9 + cpuid,emms support for asm readers 1998-11-13 10:13:44 +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
Jonas Maebe
9d9f60c4d6 * fixed bug shown in sortbug program from fpc-devel list 1998-11-02 23:17:49 +00:00
Jonas Maebe
e14a086c73 * changed TRegSet to a small set 1998-10-22 13:24:51 +00:00
peter
c1ebcc4ca4 * bugfix so that code like
movl  48(%esi),%esi                            movl  48(%esi),%esi
     pushl %esi            doesn't get changed to   pushl %esi
     movl 48(%esi),%edi                             movl  %esi,%edi
1998-10-20 09:29:24 +00:00
Jonas Maebe
ebd27df235 * changed state to WState (WriteState), added RState for future use in
instruction scheduling
  * RegAlloc data from the CG is now completely being patched and corrected (I
     think)
1998-10-07 16:27:02 +00:00
Jonas Maebe
906cf3d453 * small patches to regdealloc data 1998-10-02 17:30:20 +00:00
Jonas Maebe
965c651dcc * inter-register CSE, still requires some tweaks (peepholeoptpass2, better RegAlloc) 1998-10-01 20:21:47 +00:00
florian
16367b50f0 * small compiling problems fixed 1998-09-20 18:00:19 +00:00
Jonas Maebe
fccf4109e0 * small fix for uncertain optimizations & more cleaning up 1998-09-20 17:12:35 +00:00
peter
c72691c843 + pass_2 for cg386
* Message() -> CGMessage() for pass_1/pass_2
1998-09-17 09:42:09 +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
57886308d0 * fixed optimizer incompatibilities with freelabel code in psub 1998-09-15 14:05:22 +00:00
peter
255803cc04 * removed warnings 1998-09-09 15:33:58 +00:00
florian
eb42a79164 * bug of type conversation from dword to real fixed
* bug fix of Jonas applied
1998-09-03 16:24:50 +00:00
peter
19c63e360f * removed warnings 1998-08-28 10:56:56 +00:00
Jonas Maebe
f2da32cd91 * changed optimizer switches + cleanup of DestroyRefs in daopt386.pas 1998-08-19 16:07:36 +00:00
peter
85c8a88cbe + localswitches, moduleswitches, globalswitches splitting 1998-08-10 14:49:33 +00:00
Jonas Maebe
cb54f94147 * small bugfix for uncertain optimizations in DestroyRefs 1998-08-09 13:56:24 +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
66feedde08 + jump analyzing 1998-08-04 16:28:15 +00:00
Jonas Maebe
892964eaf2 * split the optimizer 1998-07-23 19:31:18 +00:00