Commitin historia

Tekijä SHA1 Viesti Päivämäärä
  florian f00a55ae08 + tinlinenode.createintern 10 vuotta sitten
  Jonas Maebe 67b8aceaee * synchronized with privatetrunk till r30095 10 vuotta sitten
  Jonas Maebe 68303b8df1 * add explicit check that argument of sizeof(x) is a simple load node (this 10 vuotta sitten
  florian 0dfbba86f3 * properly firstpass nodes when inc(...) is converted into ...:=...+x, resolves #27471 10 vuotta sitten
  florian c9ba9665dd * set nf_internal for if nodes generated by assert, prevent warning for assert(true); resolves #26467 10 vuotta sitten
  nickysn a9e1419ee3 * extracted the pass 1 handling of inc/dec to a virtual method first_IncDec 10 vuotta sitten
  pierre a77735d7af Fix bug in in_const_swap_qword handling 10 vuotta sitten
  Jonas Maebe e8026ad8d3 * fixed the resultdef of length() intrinsic: it's ossinttype rather than 11 vuotta sitten
  sergei 04d8e8a5dc * On 64-bit targets, handle abs(int64) internally, using the same code as for abs(longint), i.e. without branching. Both generic and x86-specific pass 2 code is already suitable for different operand sizes, only type checking needs removal of excessive conversions to 32 bits. 11 vuotta sitten
  svenbarth 34394d6925 Fix for Mantis #26180. Accept undefineddef as first parameter type of an Assert if it is used inside a generic. 11 vuotta sitten
  sergei 274c2fc82f * handle_ln_const: if/else branches were swapped, correct values are: ln(0)=-Inf and ln(-#)=NaN. 11 vuotta sitten
  sergei 743326dc70 * abs(): when translated to generic fpc_abs_real() helper, typecast result back to original precision, similar to how it is done for sqr and sqrt. Fixes compilation on m68k after r27808 (m86k looks like the only target still needing this generic handling). 11 vuotta sitten
  sergei 37625211f5 * Fixed sqrt procedure selection on arm-wince after r27809. 11 vuotta sitten
  sergei 22e099d000 * sqrt(real): for targets with emulated floating point, invoke float64_sqrt or float32_sqrt from softfpu code. Testing on ARM CPU shows that float64_sqrt executes about twice faster and offers better accuracy than fpc_sqrt_real from genmath.inc. 11 vuotta sitten
  sergei fc5f45f65c * sqr(real) and sqrt(real): remove typeconv node inserted by initial call processing (see explanation in comments), allowing these functions to be evaluated using precision of argument. In particular, sqrt(single) and sqrt(double) now emit 'sqrtss' and 'sqrtsd' instructions on x86 targets with -Cfsse3. Non-x86 targets already have the necessary support in code generators. 11 vuotta sitten
  florian d88d644925 + support for FMA intrinsic: if there is no hardware support, the compiler throws an error. 11 vuotta sitten
  svenbarth 256c852631 Fix for Mantis #23776. 11 vuotta sitten
  Jonas Maebe d452686c39 * moved pbestrealtype from symdef to symcpu 11 vuotta sitten
  Jonas Maebe b57c95043f + support overriding tdef/tsym methods with target-specific functionality: 11 vuotta sitten
  Jonas Maebe 0edb7b2288 * fixed r27320 for darwin, as its mangled names get prefixed with '_' 11 vuotta sitten
  svenbarth a08e8ff982 Fix for Mantis #25929 11 vuotta sitten
  florian ab3f5744e0 * skip dec/inc type checking in unspecialized generic methods, resolves #25603 11 vuotta sitten
  florian e841027a48 * fixes handling of typed files in iso mode 11 vuotta sitten
  nickysn e1332304ef * when converting Hi() to a shr node, convert the right shr const parameter to 11 vuotta sitten
  Jonas Maebe d2b8275b99 + support for arbitrary encodings in readstr/writestr 11 vuotta sitten
  sergei 8ecad469a6 * Reverted r26256 since it produced wrong results if argument of inc/dec is actually unaligned. Added description of the issue and slightly increased node complexity at which address is cached, so operations on record/class fields do not take address. 11 vuotta sitten
  sergei b376f56bf3 * Use typed pointer to store address of x when processing inc(x)/dec(x) with range checking enabled. This preserves alignment of x and prevents generating unaligned code on alignment-sensitive targets. 11 vuotta sitten
  florian 4d5119bf1c * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables 11 vuotta sitten
  florian 412dc6586f * the writestr helper initializes the target string, so mark it as being written 11 vuotta sitten
  sergei 9ad98a2c4d * Handle "SarInt64" always as internal procedure, introduced virtual method tinlinenode.first_sar that by default converts it into call to "fpc_sarint64" unless target CPU is 64-bit. This provides a point to insert target-specific optimizations. 11 vuotta sitten