Commit History

Author SHA1 Message Date
  Jonas Maebe cb96acefc9 vector support: check supported type during parsing already 2 years ago
  florian f9a4631adf * don't switch a+/-/sqr(b) into an fma statement if b is too complex 3 years ago
  florian f6b5c513bb * patch by Rika: makes #39786 work on more setups, resolves #39786 3 years ago
  florian fcb5531fbc * convert a+/-const1-/const2 in into a+/-(-const1)+(-const2) to enable further optimizations, resolves #39782 3 years ago
  florian 95dfccbb5e * do not optimize away +0.0 if no fastmath is passed as -0.0+(+0.0)=+0.0 3 years ago
  florian 94665a40d7 * optimize a-const1-const2 when const1 and const2 are real constants and fast math is on, part of fixing #39782 3 years ago
  Jonas Maebe 573f2c20d7 taddnode.cmp_of_disjunct_ranges: fortify in case of programs with errors 3 years ago
  Sergey Larin 60c967f255 Optimized the comparison of a widestring variable with '' 3 years ago
  Sergey Larin 35db2b2da3 Fixed optimization `Length(W)=0` -> `(Pointer(W)=nil) or (PLongword(Pointer(W)-4)^=0)` for WideString 3 years ago
  florian 81c8078735 * reorder string expressions with parentheses so fpc_*_concat_multi can be used efficiently, resolved #39479 3 years ago
  florian f21f7f0f50 * handle result type of unsigned ordinal operations in ISO/Extpas mode similiar to TP, solves 3 years ago
  florian e132ae2fee * last commit was not correct, fixed 3 years ago
  florian bf5f37b14a * fix conditional statement as pointed out by Sergey Larin 3 years ago
  florian 6404478ea4 * cleanup of VER3_0 defines 3 years ago
  florian 292be9029e * when converting a*a into sqr(a), set the result type correctly 3 years ago
  florian 5a617cd108 + fold real constants c1,c2 for v+c1+c2 or c1+(c2+v) (+ being either + or *) as well if fastmath is enabled 3 years ago
  florian ff3acfb8cd * cleanup of 2.7.0 defines 3 years ago
  florian 08050086b9 * keep type when removing "1*", resolves #38840 3 years ago
  florian 00d4a6889d * add no internal flag when folding constants in taddnode.simplify, resolves #39308 3 years ago
  florian 8cb92fd49a * simplify real expressions involving unary minus 3 years ago
  Pierre Muller 33ad038bbb * Avoid some wrong error messages after initial error 3 years ago
  florian 3069d74ecc * handle constant folding correctly for <pointer>+<ord. constant>+<ord. constant>, resolves #39332 4 years ago
  Yuriy Sydorov 6a3f32ba69 * optimize tests for a single bit "(a and one_bit_mask_const) = <> one_bit_mask_const" into "(a and one_bit_mask_const) <> = 0" to enable further CPU specific optimizations. 4 years ago
  florian 83ce289ea4 * last commit fixed, hopefully final fix 4 years ago
  florian f448603970 * improved last commit, better handling of boolean expressions 4 years ago
  florian 62bd0068b6 * do not apply the (a and b) or (c and not(b)) into c xor ((c xor a) and b) optimziation if short boolean evaluation is used, should resolve #38576 4 years ago
  florian e0a1bc6675 + optimize (a and b) or (c and not(b)) into c xor ((c xor a) and b) 4 years ago
  florian 272a0e3e26 + apply excess precision also to unary minus nodes 4 years ago
  yury 64c586b86d * Removed/ifdefed lots of unused variables. 4 years ago
  florian 12adb47d65 * clean up 4 years ago