Jonas Maebe
735c2e8720
+ dummy to allow compiling
1999-12-24 22:49:23 +00:00
Jonas Maebe
849976b9cf
* compiles again
1999-12-24 22:48:10 +00:00
Jonas Maebe
1cc98bd732
* added OC_NONE to the compare forms (to allow unconditional jumps)
1999-12-24 22:47:42 +00:00
peter
8baf3100ca
* fixed exporting of variables which are declared by commandline or
...
set in the Makefile itself
1999-12-24 15:25:50 +00:00
peter
926aa3030b
* regenerated
1999-12-23 19:43:59 +00:00
peter
c3a92e5260
* compiles again
1999-12-22 22:27:41 +00:00
peter
7583de7a4f
- removed freelabel()
...
* added undefined label detection in internal assembler, this prevents
a lot of ld crashes and wrong .o files
* .o files aren't written anymore if errors have occured
* inlining of assembler labels is now correct
1999-12-22 01:01:45 +00:00
peter
602b295aaf
* zipinstall fixes
1999-12-21 16:09:12 +00:00
peter
005e98fb55
* fpcmaked -> fpcmade.<TARGET>
1999-12-19 15:16:39 +00:00
peter
03a9699ce3
* newcg compiler compiles again
1999-12-06 18:17:09 +00:00
peter
d3b404c1a4
* fixed bug #698
...
* removed some notes about unused vars
1999-12-01 12:42:31 +00:00
peter
1974fc356a
* updates
1999-11-26 00:17:58 +00:00
peter
41c91ed6b3
* package dependencies
1999-11-25 20:22:56 +00:00
peter
d9402cf275
* fpcmake updates
1999-11-24 23:55:34 +00:00
peter
ba170472db
* fpcmake updated
1999-11-10 22:10:44 +00:00
peter
3835a94b89
* compiles again both i386,alpha both with optimizer
1999-11-09 22:57:08 +00:00
peter
1d8ee73e62
* fpcmake
1999-11-09 22:55:19 +00:00
florian
3d9daba4c7
* some fixes to get the new cg compiling again
1999-11-05 13:15:00 +00:00
Jonas Maebe
b3276fa59e
+ a_jmp_cond()
1999-11-05 07:05:56 +00:00
Jonas Maebe
e10deeca37
+ initial implementation
1999-11-03 14:13:59 +00:00
Jonas Maebe
9feb0d4b0e
+ entry/exitcode for SystemV (Linux) and AIX/Mac from the Altivec
...
PIM (no AltiVec support yet though)
* small fix to the a_cmp_* methods
1999-10-24 09:22:18 +00:00
florian
0dd2b51943
* problems with readln fixed: esi wasn't restored correctly when
...
reading ordinal fields of objects futher the register allocation
didn't take care of the extra register when reading ordinal values
* enumerations can now be used in constant indexes of properties
1999-10-21 16:41:37 +00:00
Jonas Maebe
6de203e9dc
* fixed a_loadaddress_ref_reg (mentioned as ToDo in rev. 1.5)
...
* small bugfix in a_load_store
1999-10-20 12:23:24 +00:00
Jonas Maebe
8f3c1464d5
* changed scratch_registers to (R_11,_R12,R_30) because R_0 is a special
...
case and R_31 is used as some kind of frame pointer under LinuxPPC
1999-10-20 12:21:34 +00:00
florian
fa19f0aa09
- removed the hcodegen use in the new cg, use cgbase instead
1999-10-14 14:57:51 +00:00
florian
8b9633266b
* new codegenerator compiles again
1999-10-12 21:20:41 +00:00
Jonas Maebe
167f8d654f
* fixes from daopt386.pas integrated
1999-09-29 13:50:34 +00:00
florian
796234f596
* fixed bug #292 from bugs directory
1999-09-29 11:46:18 +00:00
florian
1c638f2952
* small fix to operator overloading when in MMX mode
...
+ the compiler uses now fldz and fld1 if possible
+ some fixes to floating point registers
+ some math. functions (arctan, ln, sin, cos, sqrt, sqr, pi) are now inlined
* .... ???
1999-09-15 20:35:37 +00:00
florian
134030a529
* only small updates to work with the current compiler
1999-09-14 11:16:09 +00:00
florian
a9d8bfa1f7
* some bug fixes (e.g. must_be_valid and procinfo.funcret_is_valid)
...
* most things for stored properties fixed
1999-09-10 18:48:00 +00:00
Jonas Maebe
d8cce3f25a
* some small changes so the new optimizer is again compilable
1999-09-08 15:05:43 +00:00
Jonas Maebe
28ddb689cb
* some small changes so the noew optimizer is again compilable
1999-09-08 15:01:29 +00:00
Jonas Maebe
56ddb9a0af
+ implemented most necessary methods
1999-09-03 13:15:47 +00:00
Jonas Maebe
f4180329fc
+ implemented some parameter passing methods, but they require\n some more helper routines\n * fix for loading symbol addresses (still needs to be done in a_loadaddress)\n * several changes to the way conditional branches are handled
1999-09-03 13:14:11 +00:00
Jonas Maebe
818885454f
* several changes to the way conditional branches are handled\n * some typos fixed
1999-09-03 13:11:59 +00:00
Jonas Maebe
3086a9f355
* condition is now zeroed using fillchar\n because on powerpc it's a record now
1999-09-03 13:10:11 +00:00
Jonas Maebe
6be94d5604
* fixed typo regarding scratchregs pointer
1999-09-03 13:09:09 +00:00
Jonas Maebe
4abc13fd78
* defined some necessary virtual helper methods
1999-09-03 13:08:36 +00:00
Jonas Maebe
acc55a83c7
* first implementation of concatcopy (requires 4 scratch regs)
1999-08-26 14:53:41 +00:00
Jonas Maebe
6531f55008
* added segprefix field for i386 in tainstruction object
1999-08-26 14:52:59 +00:00
Jonas Maebe
fc6b6505fd
* changed get_scratch_reg so it actually uses the\n scratch_reg_array_pointer
1999-08-26 14:51:54 +00:00
Jonas Maebe
bb974dc8aa
* fixed small type in TP conditional
1999-08-26 14:50:52 +00:00
Jonas Maebe
5fc1435036
* changed pai386, paippc and paiapha (same for tai*) to paicpu (taicpu)
1999-08-25 11:59:32 +00:00
pierre
009aaad4a9
+ dummy InitCpu/DoneCpu
1999-08-23 23:27:54 +00:00
Jonas Maebe
1ec81566cc
+ checksequence (processor independent)\n + processor independent part of docse
1999-08-23 14:41:12 +00:00
florian
2359c7c013
+ initial revision
1999-08-18 19:29:39 +00:00
florian
c512d38256
+ implemented initilizing of data for the new code generator
...
so it should compile now simple programs
1999-08-18 17:05:53 +00:00
Jonas Maebe
56524f33df
+ compilable!
...
+ dataflow analyzer finished
+ start of CSE units
+ aoptbase which contains a base object for all optimizer objects
* some constants and type definitions moved around to avoid circular
dependencies
* moved some methods from base objects to specialized objects because
they're not used anywhere else
1999-08-18 14:32:20 +00:00
daniel
157bc635ce
* Fixed bugs.
1999-08-16 12:54:02 +00:00
Jonas Maebe
25a7035988
- removed RefsHaveSymbol define (I think references on all processors can have a symbol)
1999-08-11 14:24:38 +00:00
Jonas Maebe
1d923a08ec
* some fixes to RegReadByInstr
1999-08-11 14:23:39 +00:00
Jonas Maebe
265f3c09be
+ first version, added TAsmDFACpu object and CpuDFA method
1999-08-11 14:22:56 +00:00
Jonas Maebe
dbb0bebac9
* finished DoDFAPass2
1999-08-11 14:20:51 +00:00
Jonas Maebe
aa5615a2e1
* InstrSinceLastMod parameter added to destroy/modify methods
1999-08-11 14:20:11 +00:00
Jonas Maebe
2e53fd266b
+ implemented RegReadByInstr
1999-08-10 12:40:20 +00:00
Jonas Maebe
f45d657875
commit.msg
1999-08-09 14:07:22 +00:00
Jonas Maebe
909329d3f2
* movzed all files to new directory
1999-08-08 13:34:42 +00:00
Jonas Maebe
ff29bf7480
+ added copyright header/GNU license info
...
* made the assembler optimizer almost completely OOP
* some code style clean up and extra comments
* moved from the new/aopt to the /new and /new/i386 dirs
1999-08-08 13:24:50 +00:00
florian
e6c1b96cff
* some small problems fixed
1999-08-07 14:20:55 +00:00
florian
8abdd311fd
* implemented some stuff for assignments
1999-08-06 18:05:52 +00:00
florian
ef92444ffd
+ definition of concatcopy
1999-08-06 17:00:54 +00:00
Jonas Maebe
0284ece771
+ first commit (nothing compilable, still needs to be made more OOP)
1999-08-06 16:49:15 +00:00
Jonas Maebe
ec34af8955
* PowerPC compiles again, several routines implemented in cgcpu.pas
...
* added constant to cpubase of alpha and powerpc for maximum
number of operands
1999-08-06 16:41:10 +00:00
Jonas Maebe
35cac501c4
* declared getcopy virtual, since it's already declared as such
...
in cobjects.pas (FPC doesn't error on that, TP does)
1999-08-06 16:38:37 +00:00
Jonas Maebe
a1ff14ce89
* completed bugfix done by Florian o I wouldn't get conflicts :)
1999-08-06 16:37:45 +00:00
florian
fb39d568f2
* for Jonas: else he will get conflicts
1999-08-06 16:27:26 +00:00
florian
03b8a356ce
+ initial revision
1999-08-06 16:15:38 +00:00
michael
75a3aea72e
+ introduced tainstruction
1999-08-06 16:04:05 +00:00
florian
61523ae890
* made the alpha version compilable
1999-08-06 15:53:50 +00:00
florian
eca7460542
* made the alpha version compilable
1999-08-06 14:15:51 +00:00
michael
fe08a50b7e
Empty Virtual methods inserted
1999-08-06 13:53:54 +00:00
florian
c5e988c9f9
* more changes ...
1999-08-06 13:26:49 +00:00
daniel
3d7fe41229
* Use objects unit.
1999-08-05 20:49:15 +00:00
daniel
590de0e5d7
+ Brand new symtable:
...
+ Less memory usage
+ Less code
- No debug information yet
- No unit support yet
1999-08-05 17:33:16 +00:00
florian
1c0b9034f4
* some more additions, especially procedure
...
exit code generation
1999-08-05 17:10:56 +00:00
michael
de05bb1a56
* more changes
1999-08-05 15:50:31 +00:00
florian
fdc1e9792c
* some fixes for the floating point registers
...
* more things for the new code generator
1999-08-05 14:58:03 +00:00
Jonas Maebe
4a9d0a58d1
* all tokes now start with an underscore
...
* PowerPC compiles!!
1999-08-04 12:59:22 +00:00
florian
ca53eee67e
* renamed i386asm and i386base to cpuasm and cpubase
1999-08-04 00:22:34 +00:00
Jonas Maebe
89b7d18f54
+ initial implementation for PowerPC based on the Alpha stuff
1999-08-03 23:37:52 +00:00
florian
3bce2e5c20
* initial revision
1999-08-03 22:39:46 +00:00
florian
1cf1665d73
* the alpha compiler can be compiled now
1999-08-03 17:09:34 +00:00
michael
c474f11a46
* Additional changes
1999-08-03 15:52:40 +00:00
michael
12cac201d5
+ Initial implementation
1999-08-03 13:48:50 +00:00
florian
efa5031010
* initial revision for the alpha
1999-08-03 13:20:53 +00:00
michael
d941eee5f6
+ Added varregs
1999-08-03 00:35:54 +00:00
michael
d14de4009e
+ Added cpuasm for alpha
1999-08-03 00:33:23 +00:00
florian
13dd5edfc6
* reg_vars and reg_pushes is now in tgobj
1999-08-03 00:32:13 +00:00
florian
fabcb5b105
* again a fix for the alpha
1999-08-03 00:30:36 +00:00
florian
90c3d92173
- removed the stuff of the last commit :)
1999-08-03 00:28:24 +00:00
florian
0316203723
* some updates to compile for the alpha
1999-08-03 00:28:03 +00:00
florian
3a6062e7a6
* added reg var stuff
1999-08-03 00:25:28 +00:00
michael
382edb8cb4
+ Initial implementation
1999-08-03 00:24:01 +00:00
florian
4c6bd565bf
* initial revision
1999-08-03 00:07:16 +00:00
michael
010544014c
Initial implementation
1999-08-02 23:19:53 +00:00
florian
cb114f1453
* more changes to compile for the Alpha
1999-08-02 23:13:19 +00:00
florian
eac806034d
* the main branch psub.pas is now used for
...
newcg compiler
1999-08-02 21:28:56 +00:00
michael
9419ee8611
+ Completed descriptions
1999-08-02 17:53:15 +00:00
florian
ab5461ac75
* initial revision
1999-08-02 17:23:23 +00:00
michael
d8ad003a09
+ Changes for alpha
1999-08-02 17:16:41 +00:00
florian
98ad42cb87
+ dummy implementation
1999-08-02 17:15:43 +00:00
florian
55c10a0343
* dummy implementation
1999-08-02 17:15:05 +00:00
michael
d87f99e54b
+ CPU check better
1999-08-02 17:15:03 +00:00
florian
a1fd4ac628
+ changed the temp. generator to an object
1999-08-02 17:14:07 +00:00
florian
9fd7385c65
* some changes to compile the new code generator
1999-08-01 23:36:38 +00:00
florian
c13c6e8b74
+ make a new makefile using the old compiler makefile
1999-08-01 23:19:58 +00:00
michael
f16acaf9b5
+ Fixes for new code generator
1999-08-01 23:18:36 +00:00
florian
ac698386c5
+ renamed ot tp cgcpu.pas
1999-08-01 23:11:24 +00:00
michael
59f5168068
+ Procbase- -> cpubase
1999-08-01 23:07:13 +00:00
florian
e311c0ddbf
* changes to compile with FPC
1999-08-01 23:05:55 +00:00
michael
44fd09b5ec
+ Changes for Alpha
1999-08-01 23:04:48 +00:00
florian
b6c97cd733
* reorganisation of directory structure
1999-08-01 22:08:25 +00:00
florian
8e9d97e1fe
* made it again compilable
1999-08-01 18:22:31 +00:00
florian
a184e5ff43
* well, more changes, especially parts of secondload ported
1999-01-24 22:32:33 +00:00
florian
ce1b4eff9e
+ first versions
1999-01-23 23:35:02 +00:00
florian
90d0bea35a
* first running version of the new code generator
...
* when compiling exceptions under Linux fixed
1999-01-23 23:29:31 +00:00
florian
77f7afffa9
* bug with mul. of dwords fixed, reported by Alexander Stohr
...
* some changes to compile with TP
+ small enhancements for the new code generator
1999-01-19 10:18:58 +00:00
florian
097498cc3c
+ YES, finally the new code generator is compilable, but it doesn't run yet :(
1999-01-13 22:52:36 +00:00
florian
a518b21bb8
* unified i386.pas for the old and new code generator
1999-01-13 11:34:06 +00:00
florian
b9968f4a43
+ some stuff for the new code generator
1999-01-06 22:58:47 +00:00
florian
151e5a82cf
+ more changes for the new version
1998-12-26 15:20:28 +00:00
florian
a0e7569800
* first rough conversion
1998-12-15 22:21:53 +00:00
florian
3f56077131
* some code added
1998-12-15 22:18:55 +00:00
florian
e42b0657cd
* first version
1998-12-15 22:17:02 +00:00
florian
3baa79797b
* first version, all planned processors (?) added
1998-12-15 22:16:03 +00:00
florian
9c7239cfbe
+ first version, derived from old routines
1998-12-15 16:32:58 +00:00