peter
c261796ebf
* merged
1999-06-18 09:55:30 +00:00
peter
0b272f13c7
* removed oldasm
...
* plabel -> pasmlabel
* -a switches to source writing automaticly
* assembler readers OOPed
* asmsymbol automaticly external
* jumptables and other label fixes for asm readers
1999-05-27 19:43:55 +00:00
peter
bc903063c1
* removed R_DEFAULT_SEG
...
* uniform float names
1999-05-12 00:19:34 +00:00
Jonas Maebe
ddc47d6753
+ remove the segment prefixes from LEA instructions
1999-05-05 16:19:04 +00:00
florian
253ba04a57
* a delphi compiled compiler recompiles ppc
1999-05-05 10:05:48 +00:00
florian
8836c26503
* several bugs regarding -Or fixed
1999-05-02 21:33:52 +00:00
peter
8bf7af6b29
* fixed dec -> sub $1 opt which didn't set ops=2
1999-05-02 14:26:31 +00:00
peter
611da2d24e
* merged nasm compiler
...
* old asm moved to oldasm/
1999-05-01 13:23:57 +00:00
florian
d27b21891b
* changes of Bruessel:
...
+ message handler can now take an explicit self
* typinfo fixed: sometimes the type names weren't written
* the type checking for pointer comparisations and subtraction
and are now more strict (was also buggy)
* small bug fix to link.pas to support compiling on another
drive
* probable bug in popt386 fixed: call/jmp => push/jmp
transformation didn't count correctly the jmp references
+ threadvar support
* warning if ln/sqrt gets an invalid constant argument
1999-04-28 06:01:54 +00:00
peter
67aad628f8
* skipped vesion 1.44 :(
1999-04-20 11:01:42 +00:00
peter
2c62da11c8
* fixed typo with and/or type check
1999-04-20 10:32:39 +00:00
pierre
f58a4b485c
* ifdef USE_OP3 released (changed into ifndef NO_OP3)
...
* SHRD and SHLD first operand (ATT syntax) can only be CL reg or immediate const
1999-04-17 22:16:55 +00:00
Jonas Maebe
e16f0f99db
* changes to work with -dUSE_OP3
1999-04-16 15:16:29 +00:00
peter
ac80a9af26
* fixed browcol
...
+ -ar to show regalloc info in .s file
1999-04-10 16:15:00 +00:00
peter
e1ad502d10
* fixed mov reg,treg;mov treg,x bug
1999-04-09 08:33:05 +00:00
peter
b549e55a00
* added type check for or/test x,x
...
* added size check for mov,mov,mov optimizes
1999-03-29 16:02:50 +00:00
peter
a17c03cca3
* assembler writers fixed for ag386bin
1999-02-26 00:48:13 +00:00
peter
c8f444b65f
* ag386bin updates
...
+ coff writer
1999-02-25 21:02:16 +00:00
peter
bf9b5e3a54
* updates for ag386bin
1999-02-22 02:14:59 +00:00
Jonas Maebe
0d51aa650c
+ mov reg, mem1 to mov reg, mem1
...
mov mem2, reg cmp reg, mem2
cmp mem1, reg
# reg released
1999-01-04 22:04:15 +00:00
Jonas Maebe
4f997fddd1
* no fistp/fild optimization for S_IQ (fistq doesn't exist)
1999-01-04 12:58:55 +00:00
Jonas Maebe
8cf4da6d5e
+ optimize pascal code surrounding assembler blocks
1998-12-29 18:48:15 +00:00
Jonas Maebe
0395e5e0b6
* change "inc x/dec x; test x, x" to "add 1, x/sub 1,x" because inc and dec
...
don't affect the carry flag (test does). This *doesn't* fix the problem with
cardinal, that's a cg issue.
1998-12-23 15:16:21 +00:00
Jonas Maebe
f3d215d12d
* fixed fistp/fild optimization
1998-12-16 12:09:29 +00:00
Jonas Maebe
97966cb9b5
+ change "sub/add const1, reg" or "dec reg" followed by "sub const2, reg" to one
...
"sub const3, reg"
* some small cleaning up
1998-12-15 22:30:39 +00:00
Jonas Maebe
5da43943cd
* fixed bug in shr/shl optimization
1998-12-15 15:43:20 +00:00
peter
9a889d1750
* removed commentlevel
1998-12-15 11:53:54 +00:00
Jonas Maebe
30fa4efbd4
- removed {$ifdef ver0_99_11}'s
1998-12-14 22:01:45 +00:00
peter
1b369bb4bb
+ globtype,tokens,version unit splitted from globals
1998-12-11 00:02:37 +00:00
Jonas Maebe
2fcfb2ce50
* corrected small syntax error in part between {ifdef ver0_99_11}
...
+ added fistp/fild optimization between {ifdef ver0_99_11}
1998-12-09 18:16:13 +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
a7e2ff769e
+ change "setxx mem; movb mem, reg8" to "setxx reg8" if mem is a local
...
variable/parameter or function result (between {$ifdef ver0_99_11})
1998-11-26 15:41:45 +00:00
Jonas Maebe
63d4c1f2a1
* "call x;jmp y" optimization not done anymore for P6 and equivalents
...
* made FPU optimizations simpler and more effective
1998-11-03 16:26:09 +00:00
Jonas Maebe
286d20463c
+ change "call x; jmp y" to "push y; jmp x" (suggestion from Daniel)
1998-10-29 18:37:55 +00:00
Jonas Maebe
0e54f2bc9c
* bugfix in fpu optimizations for single division/substraction
1998-10-28 19:51:15 +00:00
Jonas Maebe
88356f2c40
+ no loading of values on the fpu stack if the memory expression can be used
...
inside the next mathematical operation
1998-10-28 12:32:46 +00:00
Jonas Maebe
2f34365234
+ some small FPU peephole optimizations (use value in FP regs instead of loading it
...
from memory if possible, mostly with var1+var1 and var1*var1)
1998-10-23 15:38:23 +00:00
Jonas Maebe
11e68b67f5
* fixed small memory leak
...
* fixed small inefficiency
* tested multiple line comments ability of my new MacCVS client :)
1998-10-05 14:41:14 +00:00
Jonas Maebe
3bf7d9a724
+ removal of "lea (reg), reg)", "imul $1, reg", change "mov reg1, reg2; mov (reg2), reg2" to "mov (reg1), reg2"
1998-10-02 17:29:56 +00:00
Jonas Maebe
68bc49c014
* moved UpdateUsedRegs (+ bugfix) to daopt386
1998-10-01 20:19:57 +00:00
peter
a970dd85d1
* fixed subl $2,esp;psuhw bug
1998-09-30 12:18:29 +00:00
Jonas Maebe
0e770798da
* released REGALLOC
1998-09-20 17:11: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
57886308d0
* fixed optimizer incompatibilities with freelabel code in psub
1998-09-15 14:05:22 +00:00
peter
19c63e360f
* removed warnings
1998-08-28 10:56:56 +00:00
florian
4394fa784d
* reinstated Jonas' bugfix
1998-08-27 15:17:50 +00:00
pierre
b8b02bb518
* removed a line that add no sense and
...
introduce garbage in the asmlist
(uninitialized data !)
1998-08-25 16:58:59 +00:00
florian
560661014f
* patch of Jonas applied
1998-08-25 14:23:17 +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