Commit History

Autor SHA1 Mensaxe Data
  florian 4f052e4f90 o fix several issues with floating point exceptions %!s(int64=7) %!d(string=hai) anos
  florian 9af9658fa7 * first parameter of SetLength must be valid, as it is read %!s(int64=7) %!d(string=hai) anos
  svenbarth 9b45f58c0b + add flags that allow checking for overloads with isbinaryoverloaded() and isunaryoverloaded() without modifying the passed in node or even checking for normally non-overloadable operators %!s(int64=7) %!d(string=hai) anos
  svenbarth 0e5a598b6a * don't use a vecnode to convert a dynamic array or an array constructor to a pointer as that will lead to problems with range checking if the array should be empty; fixes run of tarray12 with -Cr %!s(int64=7) %!d(string=hai) anos
  svenbarth 916ff0b92c + extend Concat() with support for dynamic arrays %!s(int64=7) %!d(string=hai) anos
  florian 194c0c7073 * compilation fixed %!s(int64=7) %!d(string=hai) anos
  florian 4752b0ef96 + tinlinenode calls cpu specific routines for unknown inline numbers %!s(int64=7) %!d(string=hai) anos
  svenbarth f6a867ef04 * move handling of Concat to tinlinenode so that it can be easily extended for dynamic arrays %!s(int64=8) %!d(string=hai) anos
  svenbarth b3ee9339b8 * also report the dynamic array "overloads" for the Insert() intrinsics %!s(int64=8) %!d(string=hai) anos
  svenbarth c5b33f51f9 * fix for Mantis #32412: correctly handle an incorrect parameter count for Delete() and Insert() intrinsics %!s(int64=8) %!d(string=hai) anos
  svenbarth 0b02dab684 + new Delphi-compatible intrinsic GetTypeKind() which returns the TTypeKind of a type as a constant value (and thus can be optimized away in If- and Case-statements) %!s(int64=8) %!d(string=hai) anos
  svenbarth 29d9beb40c * initialize datatemp %!s(int64=8) %!d(string=hai) anos
  svenbarth 72c595eefe + implement support for Insert() for dynamic arrays; the parameter that is inserted can be a dynamic or static array of the same type, an array constructor or a single element of the arrays type; all that is determined based on the second type %!s(int64=8) %!d(string=hai) anos
  nickysn a7ca75a4b6 * use current node's localswitches field for checking whether range and overflow %!s(int64=8) %!d(string=hai) anos
  nickysn efc5e339d0 * use an enum instead of integer constants to represent inline numbers %!s(int64=8) %!d(string=hai) anos
  florian b1dff29cbf * removed unused units %!s(int64=8) %!d(string=hai) anos
  nickysn 987cf2a9cf * fixed a bug in the maxqword check in the Rol/RorQWord(maxqword,x)->maxqword %!s(int64=8) %!d(string=hai) anos
  nickysn f65f0b125a + optimize sar(0,x) to 0 and sar(-1,x) to -1 %!s(int64=8) %!d(string=hai) anos
  nickysn c028362f31 * added the missing pop directive after the push directive in handle_const_rox %!s(int64=8) %!d(string=hai) anos
  nickysn 855cd616f0 + optimize rol(0, x) and ror(0, x) to 0; also optimize the case with all ones, %!s(int64=8) %!d(string=hai) anos
  nickysn 29429cca3c + mask the shift/rotate count value in the rol/ror/sar inline nodes, before %!s(int64=8) %!d(string=hai) anos
  nickysn b17d97050f + also simplify rol(x,0) and ror(x,0) to x %!s(int64=8) %!d(string=hai) anos
  nickysn 8ac84ce43a + simplify sar(x,0) to x %!s(int64=8) %!d(string=hai) anos
  nickysn d8ec0eff8e + implemented inline code generation for 64-bit sar (the SarInt64 intrinsic) on %!s(int64=8) %!d(string=hai) anos
  nickysn 5393daa994 + added compile time const evaluation for Bsf/Bsr(const) as well %!s(int64=8) %!d(string=hai) anos
  nickysn 32395bbcbb + added compile time const evaluation optimization for PopCnt(const) %!s(int64=8) %!d(string=hai) anos
  nickysn d7c8a081a1 + enable using the cg64 ops OP_SHR/OP_SHL/OP_SAR on i386 for implementing the %!s(int64=8) %!d(string=hai) anos
  nickysn b14f277e8f + use rtl helpers for 64-bit shl/shr/sar/rol/ror modify in place operations, on %!s(int64=8) %!d(string=hai) anos
  nickysn f514657e45 + implemented the sar/shl/shr/rol/ror inline modify-in-place nodes; the actual %!s(int64=8) %!d(string=hai) anos
  nickysn 8d885ffde6 + write the inlinenumber of inline nodes in the node tree %!s(int64=8) %!d(string=hai) anos