Commit Graph

29 Commits

Author SHA1 Message Date
marco
5f8057775b --- Merging r30757 into '.':
U    compiler/generic/symcpu.pas
U    compiler/arm/symcpu.pas
U    compiler/symtable.pas
U    compiler/ia64/symcpu.pas
U    compiler/m68k/symcpu.pas
U    compiler/powerpc64/symcpu.pas
U    compiler/symconst.pas
U    compiler/mips/symcpu.pas
U    compiler/x86_64/symcpu.pas
U    compiler/i8086/symcpu.pas
U    compiler/powerpc/symcpu.pas
U    compiler/avr/symcpu.pas
U    compiler/symsym.pas
U    compiler/i386/symcpu.pas
U    compiler/alpha/symcpu.pas
U    compiler/jvm/symcpu.pas
U    compiler/sparc/symcpu.pas
U    compiler/pmodules.pas
U    compiler/aarch64/symcpu.pas
U    rtl/inc/text.inc
--- Recording mergeinfo for merge of r30757 into '.':
 U   .

# revisions: 30757
------------------------------------------------------------------------
r30757 | florian | 2015-05-01 22:58:31 +0200 (vr, 01 mei 2015) | 3 lines
Changed paths:
   M /trunk/compiler/aarch64/symcpu.pas
   M /trunk/compiler/alpha/symcpu.pas
   M /trunk/compiler/arm/symcpu.pas
   M /trunk/compiler/avr/symcpu.pas
   M /trunk/compiler/generic/symcpu.pas
   M /trunk/compiler/i386/symcpu.pas
   M /trunk/compiler/i8086/symcpu.pas
   M /trunk/compiler/ia64/symcpu.pas
   M /trunk/compiler/jvm/symcpu.pas
   M /trunk/compiler/m68k/symcpu.pas
   M /trunk/compiler/mips/symcpu.pas
   M /trunk/compiler/pmodules.pas
   M /trunk/compiler/powerpc/symcpu.pas
   M /trunk/compiler/powerpc64/symcpu.pas
   M /trunk/compiler/sparc/symcpu.pas
   M /trunk/compiler/symconst.pas
   M /trunk/compiler/symsym.pas
   M /trunk/compiler/symtable.pas
   M /trunk/compiler/x86_64/symcpu.pas
   M /trunk/rtl/inc/text.inc

o fixes handling of iso i/o parameters/program parameters:
  * explicit reset is needed
  * variable must be declared again
------------------------------------------------------------------------

git-svn-id: branches/fixes_3_0@33408 -
2016-04-02 14:47:24 +00:00
florian
5c67fcc43f + change always floating point divisions into multiplications if they are a power of two,
this is an exact operation so it is always allowed
* change only divisions by normal numbers into multiplications

git-svn-id: trunk@29085 -
2014-11-16 20:47:38 +00:00
Tomas Hajny
3ee3542744 * boolean constant instead of IFDEFs for detection of microcontroller support
git-svn-id: trunk@29052 -
2014-11-10 12:34:59 +00:00
svenbarth
02495c17bd Fix a typo. The CPU specific version of "ttypesym" should be called "tcputypesym" and not "tcpuypesym".
git-svn-id: trunk@27531 -
2014-04-11 14:30:59 +00:00
Jonas Maebe
d452686c39 * moved pbestrealtype from symdef to symcpu
git-svn-id: trunk@27441 -
2014-04-01 21:41:37 +00:00
Jonas Maebe
dae5d1ff62 + added class reference types of the architecture-specific t*def/t*sym
classes

git-svn-id: trunk@27396 -
2014-03-30 21:04:32 +00:00
Jonas Maebe
b57c95043f + support overriding tdef/tsym methods with target-specific functionality:
o made all (non-abstract) tdef and tsym constructors virtual
   o added c*def/c*sym classref types for every (non-abstract) t*def/t*sym
     class
   o added cpusym unit for every architecture that derives a tcpu*def/tcpu*sym
     class from the base classes, and initialises the c*def/c*sym classes with
     them. This is done so that the llvm target will be able to derive from
     the tcpu*def/sym classes without umpteen ifdefs, and it also means that
     the WPO can devirtualise everything because the c* variables are only
     initialised with one class type
   o replaced all t*def/t*sym constructor calls with c*def/c*sym constructor
     calls

git-svn-id: trunk@27361 -
2014-03-29 22:31:55 +00:00
florian
4d86d25c6c * -O4 switch for optimizations which are correct but which might have unexpected effects
like field reordering (possible problems cracker classes) or using ebp as normal register (broken
      stack traces from dump_stack)
    + niln is also valid in a cse domain
    * parameters passed by reference shall have a complexity >1
    * load nodes from outer scopes shall have a complexity >1
    * better cse debugging
    + more node types added to cse
    * consider parameters passed by reference in cse
    * take care of cse in parameters in simple cases

git-svn-id: trunk@22050 -
2012-08-09 18:58:54 +00:00
Jonas Maebe
85a3fd3357 + ossinttype/osuinttype defs that correspond to OS_SINT/OS_INT for use in
the high level code generator

git-svn-id: trunk@21279 -
2012-05-12 16:03:15 +00:00
pierre
6b2a0e978b Fix ia64 compilation problems
git-svn-id: trunk@20121 -
2012-01-20 14:17:56 +00:00
florian
5acf377e31 * enable node cse for all cpus as level 2 optimization
git-svn-id: trunk@14703 -
2010-01-17 12:28:28 +00:00
florian
32098ceea9 * first iA-64 register stuff
git-svn-id: trunk@4432 -
2006-08-17 21:09:24 +00:00
florian
715b020ba3 * some iA-64 updates
git-svn-id: trunk@4428 -
2006-08-16 19:36:38 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
florian
8a9758c5e2 * logs truncated 2004-06-20 08:55:28 +00:00
florian
588e2c38bf * dwarf branch merged 2004-06-16 20:07:06 +00:00
mazen
a835405a27 * fixed a compilation bug accmulator-->accumulator, in definition of return_result_reg 2002-11-17 18:26:15 +00:00
mazen
41153e2b1a + return_result_reg and function_result_reg are now used, in all plateforms, to pass functions result between called function and its caller. See the explanation of each one 2002-11-17 17:49:08 +00:00
peter
dcd9e0107c * old logs removed and tabs fixed 2002-09-07 15:25:00 +00:00
carl
9da171faf2 + stab register indexes for powerpc (moved from gdb to cpubase)
+ tprocessor enumeration moved to cpuinfo
  + linker in target_info is now a class
  * many many updates for m68k (will soon start to compile)
  - removed some ifdef or correct them for correct cpu
2002-08-12 15:08:39 +00:00
carl
18b102ce95 + moved target_cpu_string to cpuinfo
* renamed asmmode enum.
  * assembler reader has now less ifdef's
  * move from nppcmem.pas -> ncgmem.pas vec. node.
2002-08-10 14:46:29 +00:00
carl
9d0465995f - removed as this unit is no longer necessary 2002-08-09 19:07:43 +00:00
carl
21b3a10f02 + defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
carl
9b12acc70a * renamed some constants 2002-04-20 21:38:45 +00:00
carl
4cff0f13fd - moved type constant 2002-04-07 13:41:50 +00:00
florian
00917cb46f * the info about exception frames is stored now on the stack
instead on the heap
2001-01-05 17:35:50 +00:00
florian
a7e7058a2d + initial revision 2000-12-31 16:54:19 +00:00