olle
4fecc1a56f
* big transformation of Tai_[const_]Symbol.Create[data]name*
2004-03-02 00:36:32 +00:00
peter
ecfbbeffc3
* renamed xNNbittype to xNNinttype
...
* renamed registers32 to registersint
* replace some s32bit,u32bit with torddef([su]inttype).def.typ
2004-02-03 22:32:53 +00:00
florian
b80d10cb70
* fixed some m68k compilation problems
2004-01-30 12:17:18 +00:00
Károly Balogh
eec59028e3
* m68k register tables
2003-12-10 02:39:33 +00:00
Károly Balogh
4050f10698
* initial revision
2003-12-10 02:30:58 +00:00
florian
bbf7300a0c
* Florian's culmutative nr. 1; contains:
...
- invalid calling conventions for a certain cpu are rejected
- arm softfloat calling conventions
- -Sp for cpu dependend code generation
- several arm fixes
- remaining code for value open array paras on heap
2003-11-07 15:58:32 +00:00
Jonas Maebe
4f8c390198
* fixed regvars so they work with newra (at least for ppc)
...
* fixed some volatile register bugs
+ -dnotranslation option for -dnewra, which causes the registers not to
be translated from virtual to normal registers. Requires support in
the assembler writer as well, which is only implemented in aggas/
agppcgas currently
2003-08-17 16:59:20 +00:00
Jonas Maebe
404d344d92
* lots of newra fixes (need getfuncretparaloc implementation for i386)!
...
* renamed all_intregisters to volatile_intregisters and made it
processor dependent
2003-06-17 16:34:44 +00:00
Jonas Maebe
d29c96896f
* fixed newra cycle for x86
...
* added constants for indicating source and destination operands of the
"move reg,reg" instruction to aasmcpu (and use those in rgobj)
2003-06-14 14:53:50 +00:00
Jonas Maebe
edb2179730
+ added freeintparaloc
...
* ppc get/freeintparaloc now check whether the parameter regs are
properly allocated/deallocated (and get an extra list para)
* ppc a_call_* now internalerrors if pi_do_call is not yet set
* fixed lot of missing pi_do_call's
2003-06-07 18:57:04 +00:00
daniel
41e0bc4cec
* Register allocator finished
2003-06-03 13:01:59 +00:00
peter
60978ba89c
* aktprocdef renamed to current_procdef
...
* procinfo renamed to current_procinfo
* procinfo will now be stored in current_module so it can be
cleaned up properly
* gen_main_procsym changed to create_main_proc and release_main_proc
to also generate a tprocinfo structure
* fixed unit implicit initfinal
2003-04-27 11:21:32 +00:00
peter
72ad478f97
* fix compile for ppc,sparc,m68k
2003-04-23 21:10:54 +00:00
peter
2bb32541be
* fix m68k compile
2003-04-23 13:40:33 +00:00
florian
0284016ee9
* fixed several issues with powerpc
...
+ applied a patch from Jonas for nested function calls (PowerPC only)
* ...
2003-04-23 12:35:34 +00:00
daniel
25059e21b6
+ Implemented the actual register allocator
...
+ Scratch registers unavailable when new register allocator used
+ maybe_save/maybe_restore unavailable when new register allocator used
2003-04-22 10:09:34 +00:00
daniel
86bcea6ef5
* Code generator converted to new register notation
...
- Horribily outdated todo.txt removed
2003-02-19 22:00:14 +00:00
carl
236a807071
* bugfix of emissions of jmp instructions
2003-02-15 22:19:40 +00:00
carl
3c97889b0f
* some small m68k bugfixes
2003-02-12 22:11:13 +00:00
carl
59d3edeec7
* Several bugfixes for m68k target (register alloc., opcode emission)
...
+ VIS target
+ Generic add more complete (still not verified)
2003-02-02 19:25:54 +00:00
daniel
6e507ba483
* Added register conversion
2003-01-09 15:49:56 +00:00
daniel
55a161bbbf
* Tregister changed into a record
2003-01-08 18:43:56 +00:00
florian
b59b436130
* x86-64 compiles
...
+ very basic support for float128 type (x86-64 only)
2003-01-05 13:36:53 +00:00
carl
3214bab118
* maxoperands -> max_operands (for portability in rautils.pas)
...
* fix some range-check errors with loadconst
+ add ncgadd unit to m68k
* some bugfix of a_param_reg with LOC_CREFERENCE
2002-12-14 15:02:03 +00:00
florian
121ca40b39
* some variant <-> dyn. array stuff
2002-12-05 14:27:25 +00:00
carl
6413a958a5
* rename an error message
2002-12-01 22:12:36 +00:00
carl
62e2cd1c67
* merges from Pierre's fixes in m68k fixes branch
2002-11-30 23:33:02 +00:00
peter
f3fc72095f
* splitted defbase in defutil,symutil,defcmp
...
* merged isconvertable and is_equal into compare_defs(_ext)
* made operator search faster by walking the list only once
2002-11-25 17:43:16 +00:00
peter
a496dbe1ff
* pass proccalloption to ret_in_xxx and push_xxx functions
2002-11-18 17:31:54 +00:00
mazen
a835405a27
* fixed a compilation bug accmulator-->accumulator, in definition of return_result_reg
2002-11-17 18:26:15 +00:00
mazen
41153e2b1a
+ return_result_reg and function_result_reg are now used, in all plateforms, to pass functions result between called function and its caller. See the explanation of each one
2002-11-17 17:49:08 +00:00
carl
3e7b597352
+ update for compilation
2002-11-09 16:10:35 +00:00
carl
de26052432
+ flag_2_cond implemented
2002-10-14 16:32:36 +00:00
carl
4be0f8c217
+ a_call_reg
2002-09-22 14:15:31 +00:00
Jonas Maebe
a15d8cfe39
* a_load_reg_reg() now has two size parameters: source and dest. This
...
allows some optimizations on architectures that don't encode the
register size in the register name.
2002-09-17 18:54:01 +00:00
carl
6e30bbfd42
+ a_call_reg
2002-09-08 15:12:45 +00:00
carl
752beef0dd
* cardinal -> longword
2002-09-07 20:40:23 +00:00
peter
dcd9e0107c
* old logs removed and tabs fixed
2002-09-07 15:25:00 +00:00
daniel
fff92ef11e
* Fixed PowerPC & M68000 compilation
2002-09-03 19:04:18 +00:00
peter
4b81e16fe2
* tempgen cleanup
...
* tt_noreuse temp type added that will be used in genentrycode
2002-08-23 16:14:48 +00:00
carl
63ed5b6f99
- remove some unused files in m68k directory
2002-08-19 18:19:06 +00:00
carl
ed77671a9b
+ optimize64_op_const_reg implemented (optimizes 64-bit constant opcodes)
...
* more fixes to m68k for 64-bit operations
2002-08-19 18:17:47 +00:00
florian
41eda73784
* fixed compilation problems
2002-08-18 09:02:12 +00:00
florian
e313bab4ff
* first part of procinfo rewrite
2002-08-17 09:23:33 +00:00
carl
745efb2c47
* issameref() to test if two references are the same (then emit no opcodes)
...
+ ret_in_reg to replace ret_in_acc
(fix some register allocation bugs at the same time)
+ save_std_register now has an extra parameter which is the
usedinproc registers
2002-08-16 14:24:57 +00:00
carl
588abc6631
* jmpbuf size allocation for exceptions is now cpu specific (as it should)
...
* more generic nodes for maths
* several fixes for better m68k support
2002-08-15 15:15:55 +00:00
carl
c33d99adb7
- a_load_sym_ofs_reg removed
...
* loadvmt now calls loadaddr_ref_reg instead
2002-08-15 08:13:54 +00:00
carl
b0bf9a2512
* fix small compilation problem
2002-08-14 19:31:26 +00:00
carl
7866026667
+ m68k type conversion nodes
...
+ started some mathematical nodes
* out of bound references should now be handled correctly
2002-08-14 19:16:34 +00:00
Jonas Maebe
3ab3c91e0a
- remove valuelow/valuehigh fields from tlocation, because they depend
...
on the endianess of the host operating system -> difficult to get
right. Use lo/hi(location.valueqword) instead (remember to use
valueqword and not value!!)
2002-08-14 18:41:47 +00:00