Commit Graph

43 Commits

Author SHA1 Message Date
florian
b1dff29cbf * removed unused units
git-svn-id: trunk@36165 -
2017-05-09 19:53:14 +00:00
florian
45807056c5 * factored out SymbolCandidateForWarningOrHint
* do not issue a hint if a normal parameter is passed to another procedure by var
+ test

git-svn-id: trunk@33248 -
2016-03-13 19:14:26 +00:00
yury
b26fa07f1a * Fixed notes "var is assigned but not used".
git-svn-id: trunk@31734 -
2015-09-17 13:03:04 +00:00
florian
c0e66deaf2 * handle raise nodes in dfa on jvm, resolves #27416
git-svn-id: trunk@29641 -
2015-02-07 18:11:02 +00:00
florian
4289dd667d * managed types cause a different warning/hint when they are
used uninitialized, so users can turn off these messages if they want, resolves #24601 and #26403

git-svn-id: trunk@29295 -
2014-12-14 20:48:54 +00:00
florian
c44b5d1043 * take care of tempinitcode when creating def information for tempcreatenodes
git-svn-id: trunk@26581 -
2014-01-25 09:40:51 +00:00
florian
5aae381d10 * as nodes can appear directly in statements for checking of type conversions
git-svn-id: trunk@26195 -
2013-12-08 09:05:28 +00:00
florian
6924cc0458 * optimize CheckAndWarn
git-svn-id: trunk@26164 -
2013-12-01 17:02:17 +00:00
florian
35206c3d93 * make ResetProcessing more efficient
git-svn-id: trunk@26163 -
2013-12-01 17:02:15 +00:00
florian
99eadb91b3 * run CheckAndWarn to get proper locations for warnings about uninitialized variables
* several fixes to liveness analysis
* get rid of old version defines
+ tests

git-svn-id: trunk@26159 -
2013-12-01 17:01:51 +00:00
florian
92508a9801 * take of life of tlabelnode.left, the test does not test this however because I'am not aware of any example to force a left node for a label
git-svn-id: trunk@26082 -
2013-11-13 19:26:37 +00:00
florian
424d5cafb2 * cleanup
* handling of result node simplified

git-svn-id: trunk@25978 -
2013-11-06 21:11:06 +00:00
florian
722c59bcb1 * use the correct node in CalcLife
git-svn-id: trunk@25976 -
2013-11-06 21:11:01 +00:00
florian
2fc4a7fdd7 * better DFA debugging information
git-svn-id: trunk@25975 -
2013-11-06 21:10:58 +00:00
florian
89f34965e9 * fix dfa of for nodes, loopiteration node introduced to get proper life information for the loop
git-svn-id: trunk@25974 -
2013-11-06 21:10:55 +00:00
florian
63757c84ad * fix life information of block nodes
git-svn-id: trunk@25973 -
2013-11-06 21:10:52 +00:00
florian
1e4737c46d * fix life information of for nodes
git-svn-id: trunk@25972 -
2013-11-06 21:10:50 +00:00
florian
31f3bb900c * fix UpdateLifeInfo if n<>node
git-svn-id: trunk@25971 -
2013-11-06 21:10:48 +00:00
florian
b3c2a8ddb1 * set always resultnode as last node
git-svn-id: trunk@25969 -
2013-11-06 21:10:43 +00:00
florian
0a762e416f * always create a resultnode, also for procedures
git-svn-id: trunk@25968 -
2013-11-06 21:10:40 +00:00
florian
1fb3c2e0c2 * the successor of the last node is the resultnode if one exists
* create def/use info for temp. nodes

git-svn-id: trunk@25967 -
2013-11-06 21:10:38 +00:00
florian
20942d8b45 * fix life information generation of for nodes
git-svn-id: trunk@25966 -
2013-11-06 21:10:34 +00:00
florian
fa8abf7fcb * handle constructors correctly during dfa: the result note must point to self
* handle inline nodes correctly during dfa: they can create/destroy defs

git-svn-id: trunk@25965 -
2013-11-06 21:10:32 +00:00
florian
709ba5e053 + introduce cnf_call_never_returns to signal the dfa if a call node never returns
* get rid of  tcgraisenode.pass_generate_code, it is replaced by compiler proc. call nodes generated in pass_1

git-svn-id: branches/i8086@24288 -
2013-04-21 16:53:25 +00:00
florian
5defdf86ba * handle for-loops correctly if the limits contain the counter variable
git-svn-id: trunk@19918 -
2011-12-30 10:54:08 +00:00
florian
9955e6b2bf * dfa fixes by Sergei Gorelkin, resolve #15402
git-svn-id: trunk@14455 -
2009-12-20 21:02:11 +00:00
florian
a537134603 * set result of ResetDFA, resolves #12757
git-svn-id: trunk@12359 -
2008-12-12 21:47:21 +00:00
florian
0b5951fa14 + first full implementation of induction variable strength reduction
git-svn-id: trunk@11805 -
2008-09-18 18:49:09 +00:00
florian
1c0bd054f4 + tfornode.simply which removes for loops being never executed
* handle function results correctly in life dfa
* handle for loops with at least one iteration better in life dfa
o resolves #8151

git-svn-id: trunk@11624 -
2008-08-21 21:38:50 +00:00
florian
369ed493f2 * new node flag nf_modify to mark nodes being read and then written by one load node
* dfa takes care of nf_modify to create better life information
o resolves #11846 and #11849

git-svn-id: trunk@11615 -
2008-08-20 21:35:05 +00:00
florian
b180643381 * handle more nodes when creating life info
git-svn-id: trunk@11548 -
2008-08-11 20:53:44 +00:00
florian
8cc0a04db5 * handle exit(<expr>) correctly in the dfa, resolves #11848
git-svn-id: trunk@11547 -
2008-08-11 19:01:07 +00:00
florian
a2ac6c698d * fixed dfa for raise nodes
git-svn-id: trunk@8155 -
2007-07-23 20:22:36 +00:00
florian
b6cca14944 * proper handling of dummy result node in dfa, resolves #8717 and #8079
+ tests

git-svn-id: trunk@8147 -
2007-07-23 08:57:31 +00:00
florian
63b35fdb2e + give more sophisticated warnings about uninitalized variables when life info is available
git-svn-id: trunk@7562 -
2007-06-03 17:35:48 +00:00
florian
2761b9e096 * life info generation works for the whole compiler if exception catching blocks are ignored
git-svn-id: trunk@7561 -
2007-06-03 16:37:59 +00:00
florian
496d73dc9d + dfa for more node types
git-svn-id: trunk@7560 -
2007-06-03 10:33:50 +00:00
florian
d469e3a7ef + do life dfa for exit
git-svn-id: trunk@7299 -
2007-05-07 20:30:19 +00:00
florian
c0d27b5482 * life info dfa for break and continue
git-svn-id: trunk@7298 -
2007-05-07 20:07:53 +00:00
florian
62d54389c8 + life dfa for if, label and goto
git-svn-id: trunk@7297 -
2007-05-07 19:14:21 +00:00
florian
45cda67f3f + first basically working (not all node types yet) dfa implementation determining life information
git-svn-id: trunk@7294 -
2007-05-06 21:33:39 +00:00
florian
867e00dee3 * backup commit of more dfa stuff
git-svn-id: trunk@7287 -
2007-05-06 10:59:09 +00:00
florian
87bdf13f9f + first draft for dfa
git-svn-id: trunk@7282 -
2007-05-05 20:50:09 +00:00