* improve simplification of arithmetic nodes, based on a patch by Jeppe Johansen

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25957 3ad0048d-3df7-0310-abae-a5850022a9f2
+ constant propagation, based on a patch by Jeppe Johansen

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25958 3ad0048d-3df7-0310-abae-a5850022a9f2
* reorganized generic optimization switches

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25959 3ad0048d-3df7-0310-abae-a5850022a9f2
* fix test so it works with const. propagation and does throws the range check error at run time

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25960 3ad0048d-3df7-0310-abae-a5850022a9f2
* unified internalerror

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25961 3ad0048d-3df7-0310-abae-a5850022a9f2
+ dead store elimination, based on a patch by Jeppe Johansen

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25962 3ad0048d-3df7-0310-abae-a5850022a9f2
* indention and new line fixes

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25963 3ad0048d-3df7-0310-abae-a5850022a9f2
* when using a pointer as array, the pointer is never written, only read

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25964 3ad0048d-3df7-0310-abae-a5850022a9f2
* 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: http://svn.freepascal.org/svn/fpc/trunk@25965 3ad0048d-3df7-0310-abae-a5850022a9f2
* fix life information generation of for nodes

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25966 3ad0048d-3df7-0310-abae-a5850022a9f2
* the successor of the last node is the resultnode if one exists
* create def/use info for temp. nodes

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25967 3ad0048d-3df7-0310-abae-a5850022a9f2
* always create a resultnode, also for procedures

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25968 3ad0048d-3df7-0310-abae-a5850022a9f2
* set always resultnode as last node

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25969 3ad0048d-3df7-0310-abae-a5850022a9f2
* set successor of blocknodes properly

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25970 3ad0048d-3df7-0310-abae-a5850022a9f2
* fix UpdateLifeInfo if n<>node

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25971 3ad0048d-3df7-0310-abae-a5850022a9f2
* fix life information of for nodes

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25972 3ad0048d-3df7-0310-abae-a5850022a9f2
* fix life information of block nodes

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25973 3ad0048d-3df7-0310-abae-a5850022a9f2
* fix dfa of for nodes, loopiteration node introduced to get proper life information for the loop

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25974 3ad0048d-3df7-0310-abae-a5850022a9f2
* better DFA debugging information

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25975 3ad0048d-3df7-0310-abae-a5850022a9f2
* use the correct node in CalcLife

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@25976 3ad0048d-3df7-0310-abae-a5850022a9f2