Jonas Maebe
df973fa1de
* fixed issue #6977 (add regvars occupied by the invisible high parameter
...
of "open array" and "array of const" parameters to the used regvars
for their array accesses if range checking is turned on)
git-svn-id: trunk@3914 -
2006-06-21 18:24:01 +00:00
Jonas Maebe
5afe846580
* fixed simplifying
...
git-svn-id: trunk@2745 -
2006-03-04 22:04:53 +00:00
Jonas Maebe
f34f7f10c3
* change order of foreachnode(static) so the "payload" of a
...
statementn is processed before the next statementnodes
git-svn-id: trunk@2516 -
2006-02-11 16:36:08 +00:00
peter
232555904e
* symtablestack cleanup and rewrite
...
git-svn-id: trunk@2448 -
2006-02-05 22:24:18 +00:00
Jonas Maebe
24c3ec1095
* also process methodpointerinit and methodpointerdone fields
...
of calln in foreachnode*()
git-svn-id: trunk@2183 -
2006-01-05 16:49:31 +00:00
florian
abc1bcca24
* fixed previous commit ...
...
git-svn-id: trunk@2175 -
2006-01-05 09:40:04 +00:00
florian
c9870d4aa3
* new line inserted :)
...
git-svn-id: trunk@2174 -
2006-01-05 09:36:48 +00:00
florian
82a94db712
* fixed resetting of ansistrings
...
git-svn-id: trunk@2017 -
2005-12-20 21:22:06 +00:00
florian
53d7eafa7d
* generate always direct fpc_decr_* calls for strings instead of fpc_finalize
...
git-svn-id: trunk@1967 -
2005-12-15 22:38:11 +00:00
peter
b55645790b
* allow also procvar calls with a postfix operation after a calln
...
git-svn-id: trunk@1476 -
2005-10-18 12:32:09 +00:00
peter
a720145fd1
* remove obsolete pass2inline code
...
git-svn-id: trunk@1198 -
2005-09-25 20:02:17 +00:00
florian
c6ad403a04
* better error recovering
...
git-svn-id: trunk@490 -
2005-06-25 09:08:19 +00:00
florian
c53b3e5928
* foreachnodestatic extended so it can do pre processing of child nodes
...
* simplify processes first the children and determines their result type
git-svn-id: trunk@211 -
2005-06-05 12:41:19 +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
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
peter
717e3c76c2
* set nf_is_self node flag when self is loaded
2005-01-04 16:39:46 +00:00
peter
ced6bf20cd
* fix lineinfo for with blocks
2004-12-26 16:22:01 +00:00
peter
00c14e1083
* external is again allowed in implementation
2004-12-15 16:00:16 +00:00
Jonas Maebe
0f2922f5a1
* fixed foreachnode(static) for case nodes (fixes inlining of case
...
statements)
2004-12-15 15:27:03 +00:00
Jonas Maebe
95348379fa
* certain type conversions have no cost (also fixes problem of
...
inc(int64) with regvars turned on on non-64bit platforms)
2004-12-10 13:16:31 +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
959bdccc49
* disable pass2inline
2004-12-02 19:26:14 +00:00
Jonas Maebe
97b2ef94c1
* loadvmtaddrn and loadparentfpn both have complexity 1 (the latter
...
fixes compilation of tw0935 with nodeinlining)
2004-11-28 19:29:45 +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
5906d4a967
* fix possible wrong typecast
2004-08-25 15:54:46 +00:00
Jonas Maebe
c5ec202cd1
* some improvements to node complexity calculations
2004-08-04 08:35:59 +00:00
Jonas Maebe
705d5fdd89
* fixed complexity function so it doesn't always return infinity when a
...
load node is encountered
2004-07-15 20:59:58 +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
Jonas Maebe
1563d986c5
* inline procedures at the node tree level, but only under some very
...
limited circumstances for now (only procedures, and only if they have
no or only vs_out/vs_var parameters).
* fixed ppudump for inline procedures
* fixed ppudump for ppc
2004-07-12 09:14:04 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
peter
b86f2c6a25
* methodpointer is loaded into a temp when it was a calln
2004-05-23 18:28:40 +00:00
peter
c47ada7002
* generate better code for ansistring initialization
2004-05-23 15:04:49 +00:00
peter
c844c5a505
* procvar cleanup
2004-02-20 21:55:59 +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
peter
f663d2488f
* cross unit inlining fixed
2003-11-10 22:02:52 +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
0dceec9a64
* current_procdef removed, use current_procinfo.procdef instead
2003-06-13 21:19:30 +00:00
peter
047a066711
* procinlinenode removed
...
* aktexit2label removed, fast exit removed
+ tcallnode.inlined_pass_2 added
2003-05-26 21:17:17 +00:00
peter
abca40f041
* regvar fixes
2003-05-16 14:33:31 +00:00
peter
b7cbd27c9d
* fail checks vmt value before calling dispose
2003-05-13 20:54:06 +00:00
peter
05c05f2555
* failn removed
...
* inherited result code check moven to pexpr
2003-05-13 19:14:41 +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