Commit Graph

49546 Commits

Author SHA1 Message Date
marcus
328772cc46 AROS: return code and comments in startupcode
git-svn-id: trunk@34827 -
2016-11-06 19:23:28 +00:00
Károly Balogh
6a856f109e m68k: made setjmp and longjmp code work when register calling convention is the default
git-svn-id: trunk@34826 -
2016-11-06 19:10:47 +00:00
pierre
6557ccbc84 * Separate x86 register inc files into regdatx86 target
+ Add regdatmips target to regenerate mips register inc files.
  + Add regdat target, analog of insdat, to generate register inc files
  for all CPUs.

git-svn-id: trunk@34825 -
2016-11-06 18:12:49 +00:00
pierre
3df9ac43a5 * cpubase unit, function findreg_by_number and dwarf_reg:
Set subreg type to R_SUBFS for fpu register
  and R_SUBD for integer register.

git-svn-id: trunk@34824 -
2016-11-06 18:04:50 +00:00
pierre
fd6d3b4971 Regenerated after change in mipsreg.dat
git-svn-id: trunk@34823 -
2016-11-06 18:01:52 +00:00
pierre
f870b0f8fc Fix stabs number for FPU register, which start at 38 instead of 32
git-svn-id: trunk@34822 -
2016-11-06 18:01:08 +00:00
Károly Balogh
4ee4099fca m68k: introduce a register calling convention, inspired by VBCC. volatile registers are used to pass arguments
git-svn-id: trunk@34821 -
2016-11-06 18:00:29 +00:00
marcus
f8a7708741 AROS: startupcode for arm-aros
git-svn-id: trunk@34820 -
2016-11-06 17:32:40 +00:00
michael
01550dd625 * Solution for solidus character, bug ID #30870
git-svn-id: trunk@34819 -
2016-11-06 17:27:36 +00:00
michael
5693bbf9ad * Remove unused unit from uses clause
git-svn-id: trunk@34818 -
2016-11-06 17:26:56 +00:00
michael
9926d37dda * Fix bug #30869, introduce CheckIndex in TStringList
git-svn-id: trunk@34817 -
2016-11-06 17:04:37 +00:00
florian
a27b07b342 + more restrictions on pred/succ to dec/inc optimization
o check if the argument can be used as a call by reference parameter
  o check if the argument has no side-effects
+ tests

git-svn-id: trunk@34816 -
2016-11-06 16:36:02 +00:00
Károly Balogh
a02ac161d6 aros: enable arosunits on ARM
git-svn-id: trunk@34815 -
2016-11-06 16:10:46 +00:00
Károly Balogh
ee3274166f fpmkunit: enable AROS on arm
git-svn-id: trunk@34814 -
2016-11-06 15:41:27 +00:00
florian
a705525e9b * allow prec/succ on non-consecutive enums if pred/succ are generated internally
git-svn-id: trunk@34813 -
2016-11-06 15:22:39 +00:00
florian
f4d1331bbe * fpcmake has been updated
git-svn-id: trunk@34812 -
2016-11-06 15:20:55 +00:00
Károly Balogh
7c1c964c28 arm-aros: enabled basic AROS on ARM build
git-svn-id: trunk@34811 -
2016-11-06 14:40:02 +00:00
florian
9553e8b5a8 * fix building of ppudump
git-svn-id: trunk@34810 -
2016-11-06 14:35:32 +00:00
Károly Balogh
657aa06360 arm: arm-aros syscall support
git-svn-id: trunk@34809 -
2016-11-06 14:31:42 +00:00
pierre
89c1b68b14 * Delete regvars unit.
This unit was empty unless OLDREGVARS macro was set,
    but this does not compile and no change has been made since 2011.

  * Remove regvars from all _USES clauses.

git-svn-id: trunk@34808 -
2016-11-06 14:01:39 +00:00
Károly Balogh
ce5ff8ecd5 forgotten file, this should have been part of the previous commit
git-svn-id: trunk@34807 -
2016-11-06 12:44:01 +00:00
Károly Balogh
c7c37f66ed * refactored syscall types for unified naming,first bits of ARM AROS syscall support
git-svn-id: trunk@34806 -
2016-11-06 12:41:56 +00:00
marcus
86940dfb32 AROS: added arm-aros target to compiler and fpcmake
git-svn-id: trunk@34805 -
2016-11-06 10:51:45 +00:00
michael
c822e07f91 * Some minor changes:
- Added some utility methods: TPDFPage.SetLineStyle, TPDFDocument.Reset
  - Expose PDFTomm, PDFtoCM, PDFtoInches
  

git-svn-id: trunk@34804 -
2016-11-06 10:36:20 +00:00
marcus
e54fdc3853 m68k: fixed compilation without FPU after 34785
git-svn-id: trunk@34803 -
2016-11-06 08:42:41 +00:00
florian
0bc1e7e23b * "inherit" the nf_internal flag in tinlinenode.getaddsub_for_incdec
git-svn-id: trunk@34802 -
2016-11-05 23:06:06 +00:00
florian
4242949453 * write more information into the interference graph
git-svn-id: trunk@34801 -
2016-11-05 23:06:04 +00:00
florian
ef81009362 * set nf_internal for nodes being generated by constant folding
git-svn-id: trunk@34800 -
2016-11-05 23:06:03 +00:00
florian
834d58f54c * better execution weighting for while loops: the condition must be evaluated with an increased execution weight as well
* ensure that the weight is always increased

git-svn-id: trunk@34799 -
2016-11-05 23:06:01 +00:00
florian
64e2c2b914 + simplify succ/pred(<const>/x+/-x<const>)
git-svn-id: trunk@34798 -
2016-11-05 23:06:00 +00:00
florian
4862e64b53 * type conversions of constants require that unneeded bits are cut off
git-svn-id: trunk@34797 -
2016-11-05 23:05:58 +00:00
florian
96858dd64d + additional tests which ensure that constant propagation is off
as the compiler optimizes the original tests too much with constant propagation
  to keep them useful

git-svn-id: trunk@34796 -
2016-11-05 23:05:57 +00:00
florian
8471e02e40 * call simplify after typechecking for nodes
git-svn-id: trunk@34795 -
2016-11-05 23:05:54 +00:00
florian
6b84a1e1b8 + do constant propagation into arguments of inline nodes if possible
+ do constant propagation into inc/dec nodes, if the node being identified as constant, is inc'ed/dec'ed

git-svn-id: trunk@34794 -
2016-11-05 23:05:53 +00:00
florian
000cffa8e3 * make more use of nf_internal to avoid range check errors
git-svn-id: trunk@34793 -
2016-11-05 23:05:51 +00:00
florian
e4d60b2048 * factored out tinlinenode.getaddsub_for_incdec from first_IncDec so it can be used independently
* get varstate right of inc/dec nodes which are converted into add/sub nodes

git-svn-id: trunk@34792 -
2016-11-05 23:05:49 +00:00
florian
509f6839fe + replace i:=succ/pred(i) by inc/dec(i)
git-svn-id: trunk@34791 -
2016-11-05 23:05:48 +00:00
florian
8bbd2e4030 + test for issue #27744
git-svn-id: trunk@34790 -
2016-11-05 23:05:46 +00:00
florian
5df9b994d1 * fix warnings which were caused by last changes to for node generation
git-svn-id: trunk@34789 -
2016-11-05 23:05:44 +00:00
florian
0610187878 + transform for loop into equivalent while loop during pass 1 to simplify code generation
git-svn-id: trunk@34788 -
2016-11-05 23:05:43 +00:00
florian
82e6e1eb34 + tempinfo flag ti_no_final_regsync which prevents that the final reg. sync. is emitted
git-svn-id: trunk@34787 -
2016-11-05 23:05:41 +00:00
florian
8c701eaa7b * reset c in dir_include if it will be re-read
git-svn-id: trunk@34786 -
2016-11-05 23:05:39 +00:00
Károly Balogh
7293bb7fdb m68k: reworked setjmp/longjmp to also save the FPU registers (when compiled with HW FPU support), and to only save the nonvolatile registers
git-svn-id: trunk@34785 -
2016-11-05 22:02:50 +00:00
Károly Balogh
37f43d3604 m68k: cleanup of the BuildRefExpression method in the assembler reader
git-svn-id: trunk@34784 -
2016-11-05 19:58:06 +00:00
Károly Balogh
64650261d1 m68k: refactor of the reglist and the regpair support in the assembler reader. also added support for float register lists for FMOVEM
git-svn-id: trunk@34783 -
2016-11-05 18:53:20 +00:00
Károly Balogh
5237a4d5e2 m68k: support register pair operands in assembler reader and writer, as used by some instructions (mainly DIVS/DIVU and friends) so we don't have to hack them as three operand instructions
git-svn-id: trunk@34782 -
2016-11-05 17:07:18 +00:00
michael
8833a6fbba * Patch from Graeme Geldenhuys to add rotation support
git-svn-id: trunk@34781 -
2016-11-04 19:59:28 +00:00
michael
2a39d8c9b7 * Added DefaultUnitOfMeasure
git-svn-id: trunk@34780 -
2016-11-03 19:55:15 +00:00
michael
9992d4b118 * SaveToStream and introduced published section
git-svn-id: trunk@34779 -
2016-11-03 19:21:39 +00:00
michael
a125d06c07 * Patches from Graeme Geldenhuys:
* Added some primitives:
      DrawPolygon (= Polyline with closing path)
      ClosePathStroke
      FillStrokePath
      FillEvenOddStrokePath
   * Origin by default now at the bottom of the page.
  

git-svn-id: trunk@34778 -
2016-11-03 08:39:26 +00:00