* fold shifting of constants equally to cpus
* test adapted, e.g. 1 shl 63 needs now an explicit cast to qword for the one: qword(1) shl 63

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26295 3ad0048d-3df7-0310-abae-a5850022a9f2
* set successor node for load nodes as well, they can be generated when inlining

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26296 3ad0048d-3df7-0310-abae-a5850022a9f2
* check addr_taken when propagating constants
* do constant propagation on static var syms as well

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26297 3ad0048d-3df7-0310-abae-a5850022a9f2
* be more careful when removing dead stores
* take care also of staticvarsyms when removing dead stores

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26298 3ad0048d-3df7-0310-abae-a5850022a9f2
+ tests for dead store removal

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26299 3ad0048d-3df7-0310-abae-a5850022a9f2
* disable constant propagation for tests which will cause a regression because const. prop. causes  a compile time error while the tests expect a runtime error

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26300 3ad0048d-3df7-0310-abae-a5850022a9f2
* do not convert a boolean to a 32 bit int first when converting to a 64 bit int, this causes data loss when casting e.g. a qwordbool to a qword

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

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26302 3ad0048d-3df7-0310-abae-a5850022a9f2
* handle records with size 0 as function results correctly

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26303 3ad0048d-3df7-0310-abae-a5850022a9f2
* adapt exponent used in test to supported float type

git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26304 3ad0048d-3df7-0310-abae-a5850022a9f2
+ pointerconstn is also a constant node

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