Commit Graph

227 Commits

Author SHA1 Message Date
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