Commit Graph

53012 Commits

Author SHA1 Message Date
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
michael
7b65a34a9b * UseParentFont was wrongly reset when reading from stream
git-svn-id: trunk@38456 -
2018-03-08 13:45:45 +00:00
michael
c2fc827bb9 * Introduce FindFont
git-svn-id: trunk@38455 -
2018-03-08 13:02:06 +00:00
Mattias Gaertner
27508cdd23 pastojs: added FindAvailableLocalName
git-svn-id: trunk@38454 -
2018-03-08 10:58:26 +00:00
Mattias Gaertner
5c6eb1b9a3 fcl-js: fixed typo
git-svn-id: trunk@38453 -
2018-03-08 10:57:43 +00:00
michael
e8e59a44b8 * Provide hook to detect changes when loading from stream (bug ID 33375)
git-svn-id: trunk@38452 -
2018-03-08 10:02:28 +00:00
michael
44ec9dd4bc * Fix bug #33374
git-svn-id: trunk@38451 -
2018-03-08 09:38:07 +00:00
michael
6189e06708 * Fix UseParentFont (Bug ID 33336) and dulicate naming (Bug ID 33354)
git-svn-id: trunk@38450 -
2018-03-08 08:48:28 +00:00
Mattias Gaertner
31be7eeba9 pastojs: version 0.9.7
git-svn-id: trunk@38449 -
2018-03-07 22:35:32 +00:00
Mattias Gaertner
4f45325ebd pastojs: filer: started read/write uses section
git-svn-id: trunk@38448 -
2018-03-07 22:30:35 +00:00
Mattias Gaertner
ef016024d5 pastojs: fixed var-argument setter local var if reference has name v
git-svn-id: trunk@38447 -
2018-03-07 22:29:57 +00:00
Mattias Gaertner
90a87955b4 fcl-passrc: resolver: added TPasResolver.GetUsesUnitInFilename
git-svn-id: trunk@38446 -
2018-03-07 22:28:52 +00:00
florian
78878f59b1 + generic TAOptObj.AllocRegBetween
- removed x86 specific AllocRegBetween

git-svn-id: trunk@38445 -
2018-03-07 22:17:35 +00:00
nickysn
6e79c8ba86 + support adding an OPR_LOCAL to a OPR_REFERENCE in
tx86intreader.AddReferences(); this allows things like mov ax,[cs:[local]] to
  work

git-svn-id: trunk@38444 -
2018-03-07 17:31:25 +00:00
nickysn
d3cb61b651 * refactored tx86intreader.AddReferences to use a pair of case statements,
depending on the combination of operand types; this is done, so that adding
  OPR_LOCAL with OPR_REFERENCE operands can be supported later.

git-svn-id: trunk@38443 -
2018-03-07 16:43:39 +00:00