Jonas Maebe
|
8272526892
|
* CSE of constant loading in regs works properly again
+ if a constant is stored into memory using "mov const, ref" and
there is a reg that contains this const, it is changed into
"mov reg, ref"
|
1999-12-05 16:48:43 +00:00 |
|
peter
|
ad2b1fb278
|
* newoptimizations define added
|
1999-12-02 11:26:41 +00:00 |
|
Jonas Maebe
|
ff017bbd5f
|
* even more missing register deallocations are added!
|
1999-11-27 23:45:43 +00:00 |
|
Jonas Maebe
|
653d672377
|
* improved fixing of missing regallocs (they're almost all correct
now!)
|
1999-11-21 13:06:30 +00:00 |
|
Jonas Maebe
|
6746b61501
|
* fixed small typo (C_M* -> Ch_M*) so -darithopt compiles again
|
1999-11-20 12:50:32 +00:00 |
|
Jonas Maebe
|
dce0f2cd38
|
* fixed stupid typo in previous commit :(
|
1999-11-14 11:25:38 +00:00 |
|
Jonas Maebe
|
194c612b07
|
* div, idiv and mul destroy edx!!
|
1999-11-13 19:01:51 +00:00 |
|
Jonas Maebe
|
8a2453ab1d
|
* much more complete/waterproof RegModifiedByInstruction()
|
1999-11-07 14:57:09 +00:00 |
|
peter
|
0887060ff2
|
* truncated log to 20 revs
|
1999-11-06 14:34:16 +00:00 |
|
Jonas Maebe
|
2688bfd9ec
|
+ first implementation of choosing least used register for alignment code
(not yet working, between ifdef alignreg)
|
1999-11-05 16:01:45 +00:00 |
|
peter
|
f5a9e30c98
|
* insns.dat is used to generate all i386*.inc files
|
1999-10-27 16:11:27 +00:00 |
|
Jonas Maebe
|
a9b5e27bc1
|
* finally got around making GetNextInstruction return false when
the current pai object is a AsmBlockStart marker
* changed a loop in aopt386 which was incompatible with this change
|
1999-10-23 14:44:24 +00:00 |
|
florian
|
fa19f0aa09
|
- removed the hcodegen use in the new cg, use cgbase instead
|
1999-10-14 14:57:51 +00:00 |
|
Jonas Maebe
|
2ad775b888
|
* small bugfix in ArrayRefsEq
|
1999-10-07 16:07:35 +00:00 |
|
Jonas Maebe
|
e62d58ea51
|
* writing to a position in an array now only destroys registers
containing a reference pointing somewhere in that array (since my last
fix, it behaved like a write to a pointer location)
|
1999-09-29 13:49:53 +00:00 |
|
peter
|
6b1ab5eb31
|
* procinfo is now a pointer
* support for result setting in sub procedure
|
1999-09-27 23:44:46 +00:00 |
|
Jonas Maebe
|
552b86f85b
|
* fixed bug in destroyrefs (indexes are now handled as pointers)
|
1999-09-21 15:46:58 +00:00 |
|
Jonas Maebe
|
9793c4eee9
|
* fixed typo's in -darithopt
|
1999-09-05 12:37:50 +00:00 |
|
Jonas Maebe
|
5fc1435036
|
* changed pai386, paippc and paiapha (same for tai*) to paicpu (taicpu)
|
1999-08-25 11:59:32 +00:00 |
|
Jonas Maebe
|
8dc154ce24
|
* minor fixes regarding the reading of operands
|
1999-08-18 13:25:54 +00:00 |
|
peter
|
bfe185d206
|
+ KNI instructions
|
1999-08-12 14:36:01 +00:00 |
|
Jonas Maebe
|
13bffb711a
|
* fix in -darithopt code (sometimes crashed on 8/16bit regs)
|
1999-08-05 15:01:52 +00:00 |
|
florian
|
ca53eee67e
|
* renamed i386asm and i386base to cpuasm and cpubase
|
1999-08-04 00:22:34 +00:00 |
|
Jonas Maebe
|
e2302d38bc
|
* bugfix in DestroyRefs
|
1999-08-02 14:35:21 +00:00 |
|
Jonas Maebe
|
77fef43fda
|
* also add arithmetic operations to instruction sequences contained in registers
(compile with -darithopt, very nice!)
|
1999-08-02 12:12:53 +00:00 |
|
Jonas Maebe
|
8dcdd36b13
|
* small bugfix in instructionsequal
* small bugfix in reginsequence
* made regininstruction a bit more logical
|
1999-07-30 18:18:51 +00:00 |
|
florian
|
774df6096e
|
* bug #487 fixed, (inc(<property>) isn't allowed)
* more fixes to compile with Delphi
|
1999-07-18 14:47:19 +00:00 |
|
Jonas Maebe
|
8c52e10620
|
* removed unused AsmL parameter from FindLoHiLabels
|
1999-07-01 18:21:21 +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 |
|
Jonas Maebe
|
26fa893ed7
|
* seperate OPTimizer INFO pointer field in tai object
* fix to GetLastInstruction that sometimes caused a crash
|
1999-05-08 20:40:02 +00:00 |
|
peter
|
9c69c18d96
|
* merged nasm compiler
|
1999-05-01 13:48:37 +00:00 |
|
Jonas Maebe
|
05acbe4077
|
* fix for crash when the first instruction of a sequence that gets
optimized is removed (this situation can't occur aymore now)
|
1999-04-18 17:57:17 +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 |
|
Jonas Maebe
|
246a653a5d
|
* more regalloc fixes (still not complete)
|
1999-04-16 13:42:23 +00:00 |
|
peter
|
61eee61f9a
|
+ tempalloc
+ -at to show temp alloc info in .s file
|
1999-04-16 11:49:36 +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
|
653a798afd
|
* small bugfix (memory corruption could occur when certain fpu instructions
were encountered)
|
1999-01-20 17:41:26 +00:00 |
|
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 |
|