Commit History

Author SHA1 Message Date
  Jonas Maebe 7af95cbf06 * LLVM does not support 128 bits arithmetic on 32 bit platforms, which we 6 years ago
  Jonas Maebe 04d295f186 * first step towards supporting 32 bit targets with the LLVM code generator: 6 years ago
  Jonas Maebe d1361ca6ed * fixed adjustments of lower/upper bounds in range test optimization in case 6 years ago
  yury 4357caaad8 * Removed unused local vars. 6 years ago
  florian 116f36fe56 * avoid range check errors 6 years ago
  Jonas Maebe 0b246f3dbd * converted Boolean8 to an internal type, and mapped Boolean to the 6 years ago
  pierre 293973b306 Add missing setting of expectloc for multiplications 6 years ago
  florian 352fb866ef * is_range_test returns false if "lower" bound is greater than "upper" bound 6 years ago
  florian a34d4e715c Merged riscv_new branch 6 years ago
  florian a21397e356 + based on a patch by Laksen, optimize (v>=x) and (v<=y) into (v-x)<(y-x) 6 years ago
  svenbarth 32c307e9ce * fix for Mantis #34021: if one of the two operators is an array constructor try to use an operator overload for that first before converting it to a set 7 years ago
  florian 32a58ba7d1 * might_have_sideeffects gets flags: if mhs_exceptions is passed, nodes which might cause an exception are considered as having a side effect 7 years ago
  florian 52846df241 * fixed condition in getbestreal 7 years ago
  florian 0c6cf12fbf + support for the directive $EXCESSPRECISION 7 years ago
  svenbarth fa78bb0e89 * warn if the compiler hides an eventual "+" operator overload if modeswitch ArrayOperators is active 7 years ago
  svenbarth 97acf24290 + add a new modeswitch ArrayOperators which is set by default in Delphi modes that enables the internal array operators (currently only "+") 7 years ago
  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 7 years ago
  svenbarth 199b5809a3 * optimize "dynarr := dynarr + [elem]" to "Insert(elem, dynarr, High(SizeInt))" and "dynarr := [elem] + dynarr" to "Insert(elem, dynarr, 0)" (we need to do this in the typecheck of taddnode as otherwise the array constructor is already converted) 7 years ago
  florian 71e71ad267 * fix currency division on non x86 32 bit targets 7 years ago
  florian b2825f2467 * scale constants if possible before currency multiplications to avoid overflows, resolves #33439 7 years ago
  florian c230f81719 + support for <dyn. array>+<dyn. array>, resolves #30463 7 years ago
  Jonas Maebe 1934285c20 * don't convert "int64(sint32) * cardinal_const" into a 32x32->64 7 years ago
  pierre 59edd81a26 Disable some code using bestrealrec if macro FPC_SOFT_FPUX80 is defined 7 years ago
  Károly Balogh b755524c38 made it possible to override the decision from the cgs, if a certain muln needs a helper 8 years ago
  nickysn 34113b930b * removed the checkoverflow: boolean parameter of the software mul helpers; 8 years ago
  Károly Balogh 3e8ee48458 m68k: define cpurox and enabled the rotate-related optimizations on CPUs which support rotate instructionsoptions.pas 8 years ago
  nickysn efc5e339d0 * use an enum instead of integer constants to represent inline numbers 8 years ago
  florian b1dff29cbf * removed unused units 8 years ago
  nickysn 546e993c25 * use resultdef for the type of the resulting zero const from the '0*x' and 8 years ago
  nickysn f26a844b19 * only do the '0*x' and '0 and x' optimization if x has no side effects (except 8 years ago