peter
6434772c3c
* error message when a goto label is optimized away
...
git-svn-id: trunk@8837 -
2007-10-17 21:52:25 +00:00
peter
e0cf015159
* refactor function result handling
...
* rename methodpointerinit/done to callinitblock/callcleanupblock
* moved checks in callnode to separate functions
* funcretnode is now always a simple node instead of a block of
statements
* funcret and methodpointer are generated/optimized only in pass_1 so
a conversion from calln to loadn is much easier
* function result assignments are much more often optimized to use the
assignment destination location instead of using a temp
git-svn-id: trunk@8558 -
2007-09-18 22:12:07 +00:00
peter
1dd62b8686
* write also asmblocklabel for a connected labelsym
...
git-svn-id: trunk@8159 -
2007-07-23 21:01:32 +00:00
florian
42cf5f7b2b
* don't do tail recursion optimization on types requiring init/final code
...
git-svn-id: trunk@6031 -
2007-01-17 22:02:42 +00:00
yury
d8d25c2489
* fixed memory leaks in compiler.
...
git-svn-id: trunk@5369 -
2006-11-14 09:32:58 +00:00
peter
3078a1927f
* remove ttype
...
* rename old ttype variables *type to *def
* rename resulttypepass to pass_typecheck
* rename pass_2 to pass_generate_code
git-svn-id: trunk@5077 -
2006-10-29 22:19:39 +00:00
florian
ea69e22044
* fixed tail recursion optimization for code using methodpointerinit/done
...
git-svn-id: trunk@4896 -
2006-10-14 07:57:25 +00:00
florian
2a54d957b2
* fixed two small errors
...
* supported_optimizerswitches now takes generic flags also into account
git-svn-id: trunk@4865 -
2006-10-11 21:14:47 +00:00
florian
02d0ac4c3e
+ only procedures doing recursive calls are checked for tail recursivity
...
+ parameters are tested if they are usable with tail recursion removal
git-svn-id: trunk@4853 -
2006-10-10 20:29:48 +00:00
florian
6b463bfd0d
+ tail recursion optimization code, needs some fixes, but works basically, not yet activated
...
git-svn-id: trunk@4845 -
2006-10-09 21:51:33 +00:00