Mattias Gaertner
74e52e0369
fcl-passrc: useanalzyer: fixed marking empty program
...
git-svn-id: trunk@38506 -
2018-03-12 16:54:28 +00:00
nickysn
8ecc41186d
+ added an x86_64 version of the tasm23.pp test
...
git-svn-id: trunk@38505 -
2018-03-12 16:07:39 +00:00
nickysn
79477f04b0
+ added test tasm23a.pp - an i386 version of tasm23.pp
...
git-svn-id: trunk@38504 -
2018-03-12 15:14:03 +00:00
pierre
640f7fbf94
Add test for small records for 1 to 8 bytes in size passing to procedures
...
git-svn-id: trunk@38503 -
2018-03-11 22:06:29 +00:00
florian
8b0bbdcaab
* fix flag subregs after r38206
...
git-svn-id: trunk@38502 -
2018-03-11 20:30:11 +00:00
florian
9b18e39c81
* enable Lea2AddBase and Lea2AddIndex in TX86AsmOptimizer.PostPeepholeOptLea as we have flag tracking now
...
* some flag allocations fixed
git-svn-id: trunk@38501 -
2018-03-11 20:30:09 +00:00
florian
d86ffb9bfb
+ tcg.a_op_loc_reg
...
+ optimized tx86addnode.second_ordinal for x86
git-svn-id: trunk@38500 -
2018-03-11 16:32:26 +00:00
florian
5fbecc5501
+ use TX86AsmOptimizer.OptPass1SHLSAL on x86-64
...
git-svn-id: trunk@38499 -
2018-03-11 14:35:22 +00:00
florian
47927f053a
* factored out TX86AsmOptimizer.OptPass1SHLSAL
...
git-svn-id: trunk@38498 -
2018-03-11 14:35:19 +00:00
pierre
24bf28e126
Fix compilation with -dEXTDEBUG
...
git-svn-id: trunk@38497 -
2018-03-10 22:05:38 +00:00
pierre
65ba2733e3
Remove overflow check that cannot happen because of types
...
git-svn-id: trunk@38496 -
2018-03-10 22:04:56 +00:00
pierre
ba000bec89
Generate error if CR field of F var is zero, as it leads to invalid instruction for conditional branching
...
git-svn-id: trunk@38495 -
2018-03-10 22:03:45 +00:00
pierre
9e3a6368cb
Generate error if CR field of C var is zero, as it leads to invalid instruction for conditional branching
...
git-svn-id: trunk@38494 -
2018-03-10 22:02:29 +00:00
pierre
269849dd59
Update cgsize2string (EXTDEBUG only function)
...
git-svn-id: trunk@38493 -
2018-03-10 21:59:22 +00:00
florian
11ef1d17c2
* fix register allocation for MovOp2Op and PushPushPopPop2MovMov
...
* fix MovOp2Op for ST/STS
* fix register book keeping for MovMov2Movw
git-svn-id: trunk@38492 -
2018-03-10 21:53:55 +00:00
florian
9fc0f28ae4
* handle movw in TCpuAsmOptimizer.RegInInstruction
...
git-svn-id: trunk@38491 -
2018-03-10 21:53:54 +00:00
florian
ee252d0ecd
+ allocate real registers properly in tcgavr
...
git-svn-id: trunk@38490 -
2018-03-10 21:53:52 +00:00
florian
61660375ce
+ AVR PeepHoleOptPass1Cpu makes use of TAOptObj.RemoveCurrentP to track register usage properly
...
git-svn-id: trunk@38489 -
2018-03-10 21:53:50 +00:00
florian
ae950956af
+ TAOptObj.*PeepHoleOpts* check if p is really assigned
...
+ TAOptObj.RemoveCurrentP
git-svn-id: trunk@38488 -
2018-03-10 21:53:48 +00:00
florian
63ffb02b34
+ Mov2Nop
...
git-svn-id: trunk@38487 -
2018-03-10 21:53:46 +00:00
florian
93a0cef65d
* improved OpCp2Op
...
git-svn-id: trunk@38486 -
2018-03-10 21:53:45 +00:00
florian
52cb8fbb98
+ AddAdc2Add
...
+ SubSbc2Sub
git-svn-id: trunk@38485 -
2018-03-10 21:53:43 +00:00
florian
3a81ccf48b
* simplify tcgavr.a_op_reg_reg_internal
...
git-svn-id: trunk@38484 -
2018-03-10 21:53:41 +00:00
Mattias Gaertner
526e82d6ca
pastojs: test -Fu
...
git-svn-id: trunk@38483 -
2018-03-10 13:26:25 +00:00
Mattias Gaertner
489fec9ac5
pastojs: fixed ExpandFilename to use BaseDirectory
...
git-svn-id: trunk@38482 -
2018-03-10 13:26:00 +00:00
Mattias Gaertner
7e39a5031d
pastojs: check invalid -Jc value
...
git-svn-id: trunk@38481 -
2018-03-10 13:25:28 +00:00
florian
5e200cad89
* write correct proc name when giving a hint that a procedure is not inlined.
...
git-svn-id: trunk@38480 -
2018-03-10 10:39:10 +00:00
Mattias Gaertner
787b2a2e05
pastojs: filer: class in other unit
...
git-svn-id: trunk@38479 -
2018-03-10 10:17:33 +00:00
Mattias Gaertner
b2e21f4c4a
fcl-passrc: DotExprToName added pekString
...
git-svn-id: trunk@38478 -
2018-03-10 10:16:55 +00:00
michael
4cb57d0773
* Patch from Christian Ulrich, to allow using data from other report data sources
...
git-svn-id: trunk@38477 -
2018-03-09 16:27:39 +00:00
nickysn
5a47ccc585
* updated test tasm23.pp, so that it checks the generated code
...
git-svn-id: trunk@38476 -
2018-03-09 15:45:41 +00:00
nickysn
c0b7aec2c4
* fix inline assembly of segment:localvar with the internal asm writer on x86
...
git-svn-id: trunk@38475 -
2018-03-09 15:36:59 +00:00
nickysn
9b093ac375
+ extended test tasm23 with 'mov ax, word cs:5[localvar]'
...
git-svn-id: trunk@38474 -
2018-03-09 14:22:23 +00:00
Mattias Gaertner
601c38ba07
pastojs: version 0.9.8
...
git-svn-id: trunk@38473 -
2018-03-09 14:21:25 +00:00
Mattias Gaertner
bfb68c8dfd
pastojs: test wpo in other unit
...
git-svn-id: trunk@38472 -
2018-03-09 14:19:15 +00:00
Mattias Gaertner
6ac5c55c54
fcl-passrc: useanalyzer: fixed overrides, added test
...
git-svn-id: trunk@38471 -
2018-03-09 14:17:46 +00:00
nickysn
77c782c89b
* when adding OPR_LOCAL with OPR_REFERENCE in tx86intreader.AddReferences, add
...
the offsets correctly:
1) localconstoffset is added with constoffset
2) localsymofs is added with ref.offset
git-svn-id: trunk@38470 -
2018-03-09 14:17:19 +00:00
michael
ba97e919e6
* Fix bug #33400 , clear should also clear run-time objects
...
git-svn-id: trunk@38469 -
2018-03-09 12:34:25 +00:00
michael
ad409edb30
* Fix bug #33399 , RemovePage does not free page
...
git-svn-id: trunk@38468 -
2018-03-09 12:14:52 +00:00
michael
fbd974b0d8
* Fix bug ID #0033390
...
git-svn-id: trunk@38467 -
2018-03-09 11:10:51 +00:00
michael
27b0165689
* Fix bug #33389 , AV if there are no pages yet in a report
...
git-svn-id: trunk@38466 -
2018-03-09 10:57:54 +00:00
pierre
f79776e320
Define PUREPASCAL for i386 if PIC code is generated, to avoid compilation failure
...
git-svn-id: trunk@38465 -
2018-03-09 10:26:46 +00:00
michael
c1f8a15e32
* Fix bug #33388 , name is lost when doing loadfromjson
...
git-svn-id: trunk@38464 -
2018-03-09 08:39:46 +00:00
maciej-izak
08c0239d1e
Add rtl-generics to tests
...
git-svn-id: trunk@38463 -
2018-03-09 00:02:19 +00:00
maciej-izak
b0b119995b
Big update for rtl-generics (aka Generics.Collections 2.0 - sync with https://github.com/maciej-izak/generics.collections ). What is new:
...
* New collections:
- TSortedList<T>
- THashSet<T>
- TAVLTreeMap<TKey, TValue>
- TIndexedAVLTreeMap<TKey, TValue>
- TAVLTree<T>
- TIndexedAVLTree<T>
- TSortedSet<T>
- TSortedHashSet<T> (this one collection is especially interesting - optimized mix of dictionary and AVL tree)
* Ptr property for all collections
* New hash functions (the optimal hash function for collections is selected depending on environment)
* Bug fixes
* Tests
git-svn-id: trunk@38462 -
2018-03-09 00:01:18 +00:00
Mattias Gaertner
08afb657f3
pastojs: filer: write external references
...
git-svn-id: trunk@38461 -
2018-03-08 22:34:25 +00:00
pierre
af5d27e083
Fix compilation wtih range check: STD_INPUT_HANDLE must be a DWORD
...
git-svn-id: trunk@38460 -
2018-03-08 17:41:11 +00:00
michael
1b023f0697
* Properly reset aggregates between runs (bug ID 33357)
...
git-svn-id: trunk@38459 -
2018-03-08 17:05:54 +00:00
michael
98b48ccded
* Parent must free children (bug ID 33357)
...
git-svn-id: trunk@38458 -
2018-03-08 16:47:13 +00:00
nickysn
68be282507
+ support adding an OPR_REFERENCE to a OPR_LOCAL in the x86 intel syntax asm
...
reader; this fixes stuff like 'mov ax,cs:localvar[5]'
git-svn-id: trunk@38457 -
2018-03-08 14:32:31 +00:00