summaryrefslogtreecommitdiff
path: root/compiler/powerpc/cpuinfo.pas
Commit message (Collapse)AuthorAgeFilesLines
* * safecall support is meanwhile generic, so enabled for all linux targetsflorian2020-01-311-0/+1
| | | | git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@44076 3ad0048d-3df7-0310-abae-a5850022a9f2
* * disable cs_opt_regvar on all platforms when compiled for LLVM (LLVM doesjonas2020-01-291-2/+2
| | | | | | | | that itself, our LLVM code generator can't handle it, and if it did then afterwards we would have to spill 90% of those register variables again to make them SSA) git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@44062 3ad0048d-3df7-0310-abae-a5850022a9f2
* Systematically include fpcdefs.inc at sart of all units used by compilerpierre2019-07-031-0/+2
| | | | git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@42322 3ad0048d-3df7-0310-abae-a5850022a9f2
* Moved tcontrollerdatatype out into cpuinfo.laksen2015-09-071-1/+7
| | | | | | Added cputype and fputype info to tcontrollerdatatype arrays. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@31574 3ad0048d-3df7-0310-abae-a5850022a9f2
* + change always floating point divisions into multiplications if they are a ↵florian2014-11-161-0/+3
| | | | | | | | | power of two, this is an exact operation so it is always allowed * change only divisions by normal numbers into multiplications git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@29085 3ad0048d-3df7-0310-abae-a5850022a9f2
* * boolean constant instead of IFDEFs for detection of microcontroller supporthajny2014-11-101-0/+17
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@29052 3ad0048d-3df7-0310-abae-a5850022a9f2
* * -O4 switch for optimizations which are correct but which might have ↵florian2012-08-091-0/+1
| | | | | | | | | | | | | | | | | 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: http://svn.freepascal.org/svn/fpc/trunk@22050 3ad0048d-3df7-0310-abae-a5850022a9f2
* + introduce -Oofastmathflorian2012-08-081-1/+1
| | | | | | * limit the application of the tree transformation introduced in r21986 to safe cases and -Oofastmath git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@22040 3ad0048d-3df7-0310-abae-a5850022a9f2
* + optimization that (re)orders instance fields of Delphi-style classes injonas2012-07-221-1/+2
| | | | | | | | | | | | | | | | order to minimise memory losses due to alignment padding. Not yet enabled by default at any optimization level, but can be (de)activated separately via -Oo(no)orderfields o added separate tdef.structalignment method that returns the alignment of a type when it appears in a record/object/class (factors out AIX-specific double alignment in structs) o changed the handling of the offset of a delegate interface implemented via a field, by taking the field offset on demand rather than at declaration time (because the ordering optimization causes the offsets of fields to be unknown until the entire declaration has been parsed) git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21947 3ad0048d-3df7-0310-abae-a5850022a9f2
* * enabled node cse with -O2 for ppc32jonas2010-09-191-2/+2
| | | | | | | * enabled tail recursion with -O2 for ppc64 git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@16021 3ad0048d-3df7-0310-abae-a5850022a9f2
* + add no-fpu support to compiler/rtl for powerpc-linux (-Cfnone)micha2008-03-021-1/+2
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@10422 3ad0048d-3df7-0310-abae-a5850022a9f2
* * enabled tail recursion optimization for ppcjonas2007-09-081-2/+2
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@8412 3ad0048d-3df7-0310-abae-a5850022a9f2
* - removed ppc601 as ppc32 cpu targetjonas2007-02-031-4/+8
| | | | | | | | | | | | | | | | | + added ppc740 (g3), ppc7400 (G4) and ppc970 (G5) as ppc32 cpu targets * initialise optimizecputype by default to ppc7400 for ppc32 and to ppc970 for ppc64 * merged ppc32/ppc64 overflow checking code and use the ppc64 one in case cputype or optimizecputype >= ppc970, because one of the instructions used in the ppc32 version no longer exists on the ppc970 (although it's emulated in the kernel on at least Mac OS X) * moved some other support routines and constants to ppcgen which were needed for the overflow checking (were identical for ppc32 and ppc64) git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@6323 3ad0048d-3df7-0310-abae-a5850022a9f2
* * fixed two small errorsflorian2006-10-111-1/+6
| | | | | | | * supported_optimizerswitches now takes generic flags also into account git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@4865 3ad0048d-3df7-0310-abae-a5850022a9f2
* * reorganized optimizer switch setsflorian2006-10-111-3/+3
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@4862 3ad0048d-3df7-0310-abae-a5850022a9f2
* - disabled loop unrolling for level 3 optimizations since it only causesjonas2006-03-171-1/+1
| | | | | | | | crashes (and even if it didn't, on its own it mainly causes code bloat) git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@2941 3ad0048d-3df7-0310-abae-a5850022a9f2
* * list supported optimization options in -ipeter2006-03-131-0/+3
| | | | | | | * support $OPTIMIZATION and $O+ git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@2904 3ad0048d-3df7-0310-abae-a5850022a9f2
* * rewrite of optimizer optionspeter2006-03-131-6/+10
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@2901 3ad0048d-3df7-0310-abae-a5850022a9f2
* * inline and compilerproc are now procoptions instead of proccall typesjonas2005-07-181-2/+0
| | | | | | | | | (so both can be combined with each other, as well as with other calling conventions) * defined COMPPROCINLINEFIXED so SYSTEMINLINE is again activated git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@658 3ad0048d-3df7-0310-abae-a5850022a9f2
* * log and id tags removedfpc2005-05-211-19/+0
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@42 3ad0048d-3df7-0310-abae-a5850022a9f2
* initial importfpc2005-05-161-0/+92
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@1 3ad0048d-3df7-0310-abae-a5850022a9f2