Commit Graph

75 Commits

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