peter
32b9cdb7cf
+ new tlinkedlist class (merge of old tstringqueue,tcontainer and
...
tlinkedlist objects)
2000-12-25 00:07:25 +00:00
florian
b9796f6a7f
* unused units removed from uses clause
...
* some changes for widestrings
2000-11-29 00:30:30 +00:00
peter
451723647e
* symtable splitted, no real code changes
2000-10-31 22:02:46 +00:00
peter
e171f341a0
* moehrendorf oct 2000 rewrite
2000-10-14 10:14:45 +00:00
peter
a71e44ac49
* use defines.inc
2000-09-24 15:06:10 +00:00
peter
4c94659743
* moved some util functions from globals,cobjects to cutils
...
* splitted files into finput,fmodule
2000-08-27 16:11:48 +00:00
peter
cdbe6a1fa3
+ usedasmsymbollist to check and reset only the used symbols (merged)
2000-08-12 15:34:21 +00:00
Jonas Maebe
c999d3b17d
+ allow regvars to be used inside inlined procs, which required the
...
following changes:
+ load regvars in genentrycode/free them in genexitcode (cgai386)
* moved all regvar related code to new regvars unit
+ added pregvarinfo type to hcodegen
+ added regvarinfo field to tprocinfo (symdef/symdefh)
* deallocate the regvars of the caller in secondprocinline before
inlining the called procedure and reallocate them afterwards
2000-08-03 13:17:25 +00:00
Jonas Maebe
ac16977232
- disable regvars for inlined procedures (merged from fixes branch)
2000-08-03 11:15:42 +00:00
Jonas Maebe
67ac676004
+ added is_addr field for labels, if they are only used for getting the address
...
(e.g. for io checks) and corresponding getaddrlabel() procedure
2000-07-21 15:14:01 +00:00
michael
650fbb86aa
+ removed logs
2000-07-13 11:32:24 +00:00
michael
e7aca136a1
+ Initial import
2000-07-13 06:29:38 +00:00
pierre
d2aa336b2f
* avoid bug #911 , worng unused parameter hints
2000-04-06 11:28:17 +00:00
florian
7c75febd64
* enumerations with size 1 or 2 weren't handled corretly if they were register
...
variables: in fact they got 32 bit register assigned; fixed
2000-04-02 12:11:38 +00:00
florian
f3ed1eaf5c
* improved allocation rules for integer register variables
2000-03-26 10:50:04 +00:00
peter
ffab53c30f
* tp7 fix
2000-03-19 08:17:36 +00:00
pierre
35d59eeb52
Use $GOTO ON
2000-02-29 23:59:47 +00:00
florian
df41d1395c
* newcg is compiling
...
* fixed the dup id problem reported by Paul Y.
2000-02-20 20:49:45 +00:00
florian
05e486a068
* big update for exception handling code generation: possible mem holes
...
fixed, break/continue/exit should work always now as expected
2000-02-10 23:44:42 +00:00
peter
4a4a24b6e8
* log truncated
2000-02-09 13:22:42 +00:00
florian
7ab03a6efc
* for some strange reasons my fix regarding register variable
...
allocation was lost
2000-02-05 15:57:58 +00:00
Jonas Maebe
16e46c496c
* moved call to resetusableregs to compile_proc_body (put it right before the
...
reset of the temp generator) so the optimizer can know which registers are
regvars
2000-02-04 14:54:17 +00:00
florian
26fc3fb886
* better register variable allocation in -Or mode
2000-02-04 08:47:10 +00:00
Jonas Maebe
e5af12b684
* forgot to commit a procedure for -dlogsecondpass the last time
2000-01-22 15:58:12 +00:00
Jonas Maebe
9c59eb8a12
+ add info on entry/exit of secondpass procedure in assembler files, between
...
-dlogsecondpass
2000-01-21 12:16:53 +00:00
peter
25dda03cdc
* renamed call_offset to para_offset
2000-01-16 22:17:11 +00:00
peter
e525797c51
* updated copyright to 2000
2000-01-07 01:14:18 +00:00
florian
89ccc81c2b
+ added compiler switch $maxfpuregisters
...
+ fixed a small problem in secondvecn
2000-01-04 15:15:50 +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
pierre
21ec770944
* fix for web bug735
1999-12-19 23:37:18 +00:00
florian
577edbbd3f
+ compiler checks now if a goto leaves an exception block
1999-12-14 09:58:41 +00:00
peter
0512ba80fb
+ ttype, tsymlist
1999-11-30 10:40:42 +00:00
pierre
b528749138
* Notes/Hints for local syms changed to
...
Set_varstate function
1999-11-18 15:34:44 +00:00
peter
23ca9de3b3
* esi_offset -> selfpointer_offset to be newcg compatible
...
* hcogegen -> cgbase fixes for newcg
1999-11-09 23:06:44 +00:00
peter
0887060ff2
* truncated log to 20 revs
1999-11-06 14:34:16 +00:00
peter
6b1ab5eb31
* procinfo is now a pointer
...
* support for result setting in sub procedure
1999-09-27 23:44:46 +00:00
peter
2687d75c38
+ constant pointer support which can happend with typecasting like
...
const p=pointer(1)
* better procvar parsing in typed consts
1999-09-26 21:30:15 +00:00
florian
fbbf8a505c
* m68k compiler is again compilable (only gas writer, no assembler reader)
1999-09-16 23:05:51 +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
Jonas Maebe
88306ed3f3
* framepointer cannot be changed to esp for methods
1999-09-07 14:12:35 +00:00
pierre
03263b9285
+ some EXTTEMPREGDEBUG code added
1999-08-27 10:46:26 +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
87847fac70
* wrong testregisters32 placement corrected
1999-08-24 09:07:04 +00:00
pierre
409b092c87
+ TEMPREGDEBUG code, test of register allocation
...
if a tree uses more than registers32 regs then
internalerror(10) is issued
+ EXTTEMPREGDEBUG will also give internalerror(10) if
a same register is freed twice (happens in several part
of current compiler like addn for strings and sets)
1999-08-23 23:25:58 +00:00
florian
e6c1b96cff
* some small problems fixed
1999-08-07 14:20:55 +00:00
florian
d66fdc645a
* now every available fpu register is used for
...
fpu register variables
1999-08-04 14:21:07 +00:00
florian
e53aceb9be
+ floating point register variables !!
...
* pairegalloc is now generated for register variables
1999-08-04 13:45:17 +00:00
florian
ca53eee67e
* renamed i386asm and i386base to cpuasm and cpubase
1999-08-04 00:22:34 +00:00
peter
ed8eb13d59
* moved bitmask constants to sets
...
* some other type/const renamings
1999-08-03 22:02:29 +00:00
pierre
5f05d07dcb
* previous wrong log corrected
1999-06-02 22:43:57 +00:00