add some array bounds check optimizations
fix Issue 12855 - Shadow register assignments for spilling can conflict
Issue 12852 - 64 bit wrong code generated
Fix Issue 10054 - x86_64 valgrind reports unrecognised instruction (DMD 2.062)
Merge pull request #3635 from yebblies/issue10054

Issue 10054 - x86_64 valgrind reports unrecognised instruction (DMD 2.062)
[Refactoring] merge test cases to reduce files
fix Issue 12777 - const/immutable member function violating its const-ness - confusing error message
Improve "cannot modify ..." messages
fix Issue 12874 - Wrong file name in range violation error
fix Issue 12850 - ICE when passing associative array to template
fix Issue 12397 - CTFE ICE CompiledCtfeFunction::walkAllVars with 2.065
fix Issue 12836 - CTFE ICE CompiledCtfeFunction::walkAllVars
fix Issue 12851 - ICE when passing const static array to template
Merge pull request #3642 from 9rnsr/fix12397

Issue 12397 - CTFE ICE CompiledCtfeFunction::walkAllVars with 2.065
Merge pull request #3624 from WalterBright/fix12852

Issue 12852 - 64 bit wrong code generated
Merge pull request #3641 from 9rnsr/fix12851

Issue 12851 - ICE when passing const static array to template
Merge pull request #3639 from 9rnsr/fix12874

Issue 12874 - Wrong file name in range violation error
Fix Issue 12864 - can no longer use toLower in string switch case
Merge pull request #3640 from 9rnsr/fix12850

Issue 12850 - ICE when passing associative array to template
fix Issue 12825 - Invalid "duplicated union initialization" error with initialized field in extern(C++) class