Jonas Maebe
62394e45d7
* moved count_locals from pstatmnt to symutils
...
* use count_locals in powerpc/cpupi to check whether we should set the
first temp offset (and as such generate a stackframe)
2003-12-07 16:40:45 +00:00
florian
1a87a5ed45
* fixed several arm calling conventions issues
...
* fixed reference reading in the assembler reader
* fixed a_loadaddr_ref_reg
2003-12-03 17:39:04 +00:00
florian
1af574ceca
* assembler readers OOPed
...
+ typed currency constants
+ typed 128 bit float constants if the CPU supports it
2003-11-12 16:05:39 +00:00
peter
a1cb920b51
* remove temporary stdcall hack
2003-11-11 21:10:12 +00:00
peter
f663d2488f
* cross unit inlining fixed
2003-11-10 22:02:52 +00:00
peter
fae3eaf83d
* move check for unused object constructor result to blocknode
2003-10-29 20:34:20 +00:00
peter
003ea697c0
* object constructor results are always used
2003-10-29 20:01:41 +00:00
peter
5925d38ac7
* support indexing and offset retrieval for locals
2003-10-29 15:40:20 +00:00
peter
d0de3b3ea8
* 64k registers supported
...
* fixed some memory leaks
2003-10-17 14:38:32 +00:00
peter
fb81b7ebbb
* old trgobj moved to x86/rgcpu and renamed to trgx86fpu
...
* tregisteralloctor renamed to trgobj
* removed rgobj from a lot of units
* moved location_* and reference_* to cgobj
* first things for mmx register allocation
2003-10-10 17:48:13 +00:00
peter
95f132db3d
* set_varstate cleanup
2003-10-08 19:19:45 +00:00
peter
5fb06316f1
* set calling convention before assembler block is parsed
2003-10-07 20:06:37 +00:00
peter
13101d50e8
* delphi mode uses register calling by default for assembler
2003-10-02 21:15:59 +00:00
peter
70fe77ca7c
* procinfo unit contains tprocinfo
...
* cginfo renamed to cgbase
* moved cgmessage to verbose
* fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
peter
8af51ea6d3
* locals and paras are allocated in the code generation
...
* tvarsym.localloc contains the location of para/local when
generating code for the current procedure
2003-09-23 17:56:05 +00:00
peter
76a53a375d
* varspez in calls to push_addr_param
2003-09-16 16:17:01 +00:00
peter
b9d09a4e5c
* preparations for different default calling conventions
...
* various RA fixes
2003-09-07 22:09:34 +00:00
peter
6a8d5eb25d
* NEWRA branch merged
2003-09-03 15:55:00 +00:00
peter
1b633246b9
* sparc fixes
2003-07-08 21:23:24 +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
peter
0dceec9a64
* current_procdef removed, use current_procinfo.procdef instead
2003-06-13 21:19:30 +00:00
peter
19c9bdbf60
* load calln in temprefn in with statement
2003-06-09 18:27:14 +00:00
florian
995f7e0f11
* fix some small flaws which prevent sparc linux system unit from compiling
...
* some reformatting done
2003-05-23 22:33:48 +00:00
peter
e91cc82200
* better error for undefined ordinal labels
2003-05-23 15:15:36 +00:00
Jonas Maebe
cb279b2029
* changed tt_persistant to tt_persistent :)
...
* tempcreatenode now doesn't accept a boolean anymore for persistent
temps, but a ttemptype, so you can also create ansistring temps etc
2003-05-17 13:30:08 +00:00
peter
92ee1804b6
* removed selfpointer_offset, vmtpointer_offset
...
* tvarsym.adjusted_address
* address in localsymtable is now in the real direction
* removed some obsolete globals
2003-05-15 18:58:53 +00:00
peter
05c05f2555
* failn removed
...
* inherited result code check moven to pexpr
2003-05-13 19:14:41 +00:00
peter
15b0132f6f
* tloadnode does not support objectsymtable,withsymtable anymore
...
* withnode cleanup
* direct with rewritten to use temprefnode
2003-05-11 14:45:12 +00:00
peter
1a2eedd767
* self moved to hidden parameter
...
* removed hdisposen,hnewn,selfn
2003-05-09 17:47:02 +00:00
florian
72df326165
* some 64 bit adaptions in ncgadd
...
* x86-64 now uses ncgadd
* tparamanager.ret_in_acc doesn't return true anymore for a void-def
2003-04-30 22:15: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
7f14891d66
* aktprocdef cleanup, aktprocdef is now always nil when parsing
...
a new procdef declaration
* aktprocsym removed
* lexlevel removed, use symtable.symtablelevel instead
* implicit init/final code uses the normal genentry/genexit
* funcret state checking updated for new funcret handling
2003-04-27 07:29:50 +00:00
florian
15c0b633ab
* fixed the powerpc to work with the new function result handling
2003-04-26 11:30:59 +00:00
peter
f4b818fc1d
* removed funcretn,funcretsym, function result is now in varsym
...
and aliases for result and function name are added using absolutesym
* vs_hidden parameter for funcret passed in parameter
* vs_hidden fixes
* writenode changed to printnode and released from extdebug
* -vp option added to generate a tree.log with the nodetree
* nicer printnode for statements, callnode
2003-04-25 20:59:33 +00:00
daniel
6aa01a99a9
* Ifdefs around a lot of calls to cleartempgen
...
* Fixed registers that are allocated but not freed in several nodes
* Tweak to register allocator to cause less spills
* 8-bit registers now interfere with esi,edi and ebp
Compiler can now compile rtl successfully when using new register
allocator
2003-04-25 08:25:26 +00:00
peter
c4ddcc78a8
* generic constructor working for i386
...
* remove fixed self register
* esi added as address register for i386
2003-03-28 19:16:56 +00:00
peter
fe6518a49c
* allow more tokens instead of only semicolon after inherited
2003-03-17 18:55:30 +00:00
daniel
86bcea6ef5
* Code generator converted to new register notation
...
- Horribily outdated todo.txt removed
2003-02-19 22:00:14 +00:00
daniel
55a161bbbf
* Tregister changed into a record
2003-01-08 18:43:56 +00:00
peter
2b6f661cbc
* fixed assembler methods stackpointer optimization that was
...
broken after the previous change
2003-01-01 21:05:24 +00:00
peter
215ccaafe2
* fixed parsing of declarations before asm statement
2002-12-29 18:59:34 +00:00
peter
da3ef8b6d0
* check for else after empty raise statement
2002-12-27 18:18:56 +00:00
peter
34e8266af4
* case statement inlining added
...
* fixed inlining of write()
* switched statementnode left and right parts so the statements are
processed in the correct order when getcopy is used. This is
required for tempnodes
2002-11-27 02:37:12 +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
florian
bf32e2d2cf
+ tcg.direction is used now
2002-09-07 19:34:08 +00:00
peter
dcd9e0107c
* old logs removed and tabs fixed
2002-09-07 15:25:00 +00:00
carl
6c2bede5a8
* second part bug report 1996 fix, testrange in cordconstnode
...
only called if option is set (also make parsing a tiny faster)
2002-09-07 12:16:03 +00:00
peter
8a75d59544
* fixed parsing of register names with lowercase
2002-09-02 18:40:52 +00:00
peter
90308521d5
* fixed direct assembler for i386
2002-09-01 14:43:12 +00:00