florian
|
c12a4989d0
+ use cpurox define in the compiler for CPUs having internal ror/rol support
|
13 ani în urmă |
paul
|
c1866d5c17
compiler:
|
13 ani în urmă |
paul
|
c6ca9e5091
compiler:
|
13 ani în urmă |
paul
|
a99ffb3097
compiler: apply patches from Inoussa and Jonas:
|
14 ani în urmă |
florian
|
a5cdc0cdde
* changed check introduced in r19193 into the same method as other locations in nadd.pas do
|
14 ani în urmă |
florian
|
bba726ae78
* don't do x*x -> sqr(x) optmization for arm softfloat
|
14 ani în urmă |
paul
|
005795495d
merge r17552 from cpstrnew branch by inoussa:
|
14 ani în urmă |
paul
|
4b24a58871
compiler: remove/hide few unused variables
|
14 ani în urmă |
florian
|
c855c7a0aa
* unified handling of comparison of constant and expression with disjunct ranges of values
|
14 ani în urmă |
florian
|
4f6a803c29
+ might_have_sideeffects, make use of it when optimizing x*x into sqr(x)
|
14 ani în urmă |
Jonas Maebe
|
8c7f1e1013
* only transform multiplication nodes to sqr, not any kind of addnode
|
14 ani în urmă |
Jonas Maebe
|
b5fc32750b
* check whether both left and right are reals rather than twice whether left
|
14 ani în urmă |
florian
|
e796a878ca
* convert <real x>*<real x> into sqr(<real x>), it might reduces register
|
14 ani în urmă |
pierre
|
9ec1213be1
* Reorganize code to avoid warnings about unreachable code
|
14 ani în urmă |
florian
|
d35d1ed357
+ initial support for pascal booleans with sizes 2, 4 and 8
|
14 ani în urmă |
florian
|
6e1d5e0aa0
* handle pointer+type param. correctly, resolves #19548
|
14 ani în urmă |
paul
|
d21bbc4548
compiler: reduce amount of hints and warnings
|
14 ani în urmă |
florian
|
cb003b631b
* use helper for dword*dword if needed
|
14 ani în urmă |
florian
|
d5455cf6ac
+ software multiplication support for OS_16,OS_S16,OS_32,OS_S32
|
14 ani în urmă |
paul
|
906ca89f4e
compiler:
|
14 ani în urmă |
Jonas Maebe
|
2222f2c44b
* renamed is_class_or_interface_or_dispinterface_or_objc() into
|
14 ani în urmă |
paul
|
86d3e41442
compiler: replace MODESWTICH POINTERARITHMETICS with $POINTERMATH directive, disable pointer arithmetic in delphi mode by default (compatible with delphi), enable pointer arithmetic in fpc/objfpc modes as they had it enabled by default before, add has_pointer_math field to tpointerdef to allow pointer arithmetic with such pointer even if pointer math mode is off (delphi compatible) + tests
|
14 ani în urmă |
Jonas Maebe
|
769eb3f604
* moved the initialisation of the nodetree and tai class reference constants
|
15 ani în urmă |
Jonas Maebe
|
94d976bc87
* when simplifying ordinal expressions during inlining, keep the resultdef
|
15 ani în urmă |
florian
|
8b1889d033
* now compilation on i386 was broken, fixed
|
15 ani în urmă |
florian
|
33c67c7972
* compilation fixed on x86-64
|
15 ani în urmă |
florian
|
66571ee4c8
* use extended as default real type in calculations only if fputype=x87
|
15 ani în urmă |
Jonas Maebe
|
025ec34e4d
+ "CExtended" type that is the same as "extended", but conforming to the
|
15 ani în urmă |
Jonas Maebe
|
38b1271a21
* fixed wrong range check errors for "qword and constant" after
|
15 ani în urmă |
Jonas Maebe
|
5e1a09f817
* fixed getting the "original" def in taddnode.simplify by stopping at
|
15 ani în urmă |