florian
7cd67ea3f0
* node optimizer branch merged
...
* gotonode and gotolabel refactored
* -Nu added to enable for loop unrolling
git-svn-id: trunk@446 -
2005-06-19 17:42:10 +00:00
peter
34ed3ae7a5
* don't use normal assingments for inlining of formal consts
...
git-svn-id: trunk@393 -
2005-06-13 06:57:54 +00:00
Jonas Maebe
893f45c9e2
* fixed web bug #4039 (include methodpointer init/fini for inlined methods)
...
git-svn-id: trunk@390 -
2005-06-12 16:40:10 +00:00
florian
21038de78d
+ started with refactoring det_resulttype
...
+ dosimplify
* inlinenig makes use of dosimplify
git-svn-id: trunk@140 -
2005-05-29 15:15:38 +00:00
fpc
790a4fe2d3
* log and id tags removed
...
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3
initial import
...
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
michael
55e76063df
* Fix methodpointer copy from callnode to loadnode
2005-04-06 11:49:37 +00:00
peter
521b7cfa3b
* load all complex loads of parameters that are needed multiple times
...
to a temp to prevent calling functions twice
2005-04-05 21:07:43 +00:00
peter
e71066495c
fix type of temps generated for parameters during inlining
2005-03-28 15:05:17 +00:00
peter
3f9d6ab32f
* add hint when passing an uninitialized variable to a var parameter
2005-03-25 22:20:18 +00:00
peter
20ad7813c2
* fix empty varargs codegeneration for x86_64
2005-03-14 20:18:46 +00:00
peter
047c28d993
* member call to constructor returns void to prevent
...
generating unexpected code. Otherwise the return value is always
equal to self, which can also be directly accessed
2005-02-17 17:50:26 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
florian
5007b3e395
* inherited; works now in delphi mode for private methods; looks like a delphi bug
2005-02-01 22:50:50 +00:00
peter
8d251e8506
* unit mapping rewrite
...
* new derefmap added
2005-01-19 22:19:41 +00:00
peter
720815e13b
* fix aftercosntruction calls, vmt=1 is used to indicate that
...
afterconstruction needs to be called
* only accept resourcestring when objpas is loaded
2005-01-04 16:36:31 +00:00
peter
a15f1c3283
* Don't release methodpointer. It is maybe still needed when we need to
...
convert the calln to loadn
2005-01-02 16:58:48 +00:00
peter
c1bf99c30a
* fix crash with callnode.ppuload when symtableproc=nil
2004-12-27 16:36:10 +00:00
peter
ced6bf20cd
* fix lineinfo for with blocks
2004-12-26 16:22:01 +00:00
peter
29db12ecfa
* disable inlining across units when the inline procedure references
...
a variable or procedure in the static symtable
2004-12-15 21:08:15 +00:00
peter
d387fda801
* give error when paraloc is not filled in order_parameter
2004-12-15 19:30:16 +00:00
peter
78c2af7b3c
* set vo_explicit_paraloc flag
2004-12-07 16:11:52 +00:00
peter
2b6456fe16
* procvar handling for tp procvar mode fixed
...
* proc to procvar moved from addrnode to typeconvnode
* inlininginfo is now allocated only for inline routines that
can be inlined, introduced a new flag po_has_inlining_info
2004-12-05 12:28:10 +00:00
peter
57dc23a294
* fix crashes with nodeinlining
2004-12-03 16:07:04 +00:00
peter
959bdccc49
* disable pass2inline
2004-12-02 19:26:14 +00:00
Jonas Maebe
38db3679d8
* only try to replace locals from the inlined procedure with temps,
...
cycle now works with -dNODEINLINE
2004-11-28 14:34:59 +00:00
Jonas Maebe
f244dea6ec
* fixed some bugs in the node inlining code due to the transition from
...
dynamic array to tlist
* fixed some register temp bugs (node inlining still does not work again
though)
2004-11-27 22:43:01 +00:00
peter
576e1825aa
* enabled pass1 inlining from Jonas
2004-11-22 22:19:00 +00:00
peter
8cf8c54609
* fixed varargs
...
* replaced dynarray with tlist
2004-11-22 22:01:19 +00:00
peter
89b1b583c9
* ttempcreatenode.create_reg merged into .create with parameter
...
whether a register is allowed
* funcret_paraloc renamed to funcretloc
2004-11-21 17:54:59 +00:00
peter
e740a66636
* tparaitem removed, use tparavarsym instead
...
* parameter order is now calculated from paranr value in tparavarsym
2004-11-15 23:35:30 +00:00
peter
7c0b6e129e
* fixed wrong typecasts
2004-11-09 17:26:47 +00:00
peter
6458bd0ce1
* tvarsym splitted
2004-11-08 22:09:58 +00:00
peter
2e161c5e9e
* nf_internal flag for internal inserted typeconvs. This will
...
supress the generation of warning/hints
2004-11-02 12:55:16 +00:00
peter
0d506c579e
* removed wrong check for symtableprocentry
2004-11-01 18:16:48 +00:00
peter
6a0aa09b20
* give IE instead of crash when no procsym is passed for calln
2004-11-01 16:58:57 +00:00
peter
c95a859f0a
* generic tlocation
...
* move tlocation to cgutils
2004-10-31 21:45:02 +00:00
peter
e7459f5466
* heap and heapsize removed
...
* checkpointer fixes
2004-10-25 15:38:41 +00:00
mazen
581b52422c
- remove $IFDEF DELPHI and related code
...
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
peter
560a790a57
* gen high tree makes copy in temp when there is a calln
2004-10-12 14:36:38 +00:00
peter
b0c25b50a0
* symtable allocation rewritten
...
* loading of parameters to local temps/regs cleanup
* regvar support for parameters
* regvar support for staticsymtable (main body)
2004-10-10 20:22:53 +00:00
peter
63cf4464d3
* tvarsym.varregable added, split vo_regable from varoptions
2004-10-08 17:09:43 +00:00
peter
33a834821f
* paraloc branch merged
2004-09-21 17:25:12 +00:00
peter
384e764831
* use realname for abstract procs found
2004-09-13 20:29:00 +00:00
peter
8694a4b86b
* use objrealname in Message1
2004-08-28 20:00:50 +00:00
peter
923569eee2
* fixed crash when passing array constructor to formal parameter
2004-08-22 10:17:13 +00:00
florian
6368652be2
* fixed several sparc alignment issues
...
+ Jonas' inline node patch; non functional yet
2004-08-14 14:50:42 +00:00
Jonas Maebe
ddf175f171
+ temps can now also hold fpu values in registers (take care with use,
...
bacause of the x86 fpu stack)
* fpu parameters to node-inlined procedures can now also be put in
a register
2004-07-16 19:45:15 +00:00
Jonas Maebe
7cdc049df1
* the condition for when to use a temp in case of reference var/const
...
parameters was inverse
2004-07-15 21:02:05 +00:00
Jonas Maebe
c7fbf7b11b
+ (incomplete) node_complexity function to assess the complexity of a
...
tree
+ support for inlining value and const parameters at the node level
(all procedures without local variables and without formal parameters
can now be inlined at the node level)
2004-07-15 19:55:39 +00:00