Commit Verlauf

Autor SHA1 Nachricht Datum
  yury e5c2d13671 * Do not set pi_needs_got in current_procinfo.flags at the node level, since the GOT usage can only be estimated there. Instead set the pi_needs_got flag at places where the GOT register is accessed during the code generation. This eliminates generation of the unneeded initialization of the GOT register and fixes linker errors when the _GLOBAL_OFFSET_TABLE_ symbol is referenced but no actual GOT references are present. vor 6 Jahren
  Jonas Maebe 07bd4ba517 * let all the case code generation work with tconstexprint instead of aint, vor 6 Jahren
  florian a2cee252e8 * when optimizing range checks in case nodes, unsigned comparisions must be used, resolves #34782 vor 6 Jahren
  florian bd4b7a6bc4 * more case fixes vor 6 Jahren
  florian f6e32ae90e * (modified) path by Gareth Moreton to fix case handling vor 6 Jahren
  florian 7f5c2fa3aa * (modified) patch by Gareth Moreton: Speed improvement in case blocks, resolves #0034762 vor 6 Jahren
  yury 4357caaad8 * Removed unused local vars. vor 6 Jahren
  florian 50dba9ad66 * if both labels of a case label are equal, we still cannot skip the comparison in a jump tree, resolves #31589 vor 8 Jahren
  florian d5754cf47c * create jmp trees for really big case statements vor 8 Jahren
  Jonas Maebe a25ebbba3e + added volatility information to all memory references vor 8 Jahren
  florian 57f93ed40d * correctly generate accesses to jump tables if it contains negative entries, resolves issue #30119 vor 9 Jahren
  Jonas Maebe da696057ab * converted register_maybe_adjust_setbase() to the high level code generator vor 9 Jahren
  Jonas Maebe ab22aaa2b7 * adjust the set base for i8086 before loading it into cx as a shift count vor 9 Jahren
  Jonas Maebe 687bb15299 * renamed getdatalabel() to getglobaldatalabel vor 10 Jahren
  sergei 5e8f8f4755 * Use GOT-relative constants for i386 PIC jump tables, they don't need runtime relocations. Now almost ABI-compliant on Linux/BSD (Darwin targets unchanged). Also clean up i8086-specific stuff: using tai_const.create_type_sym(aitconst_ptr,...) generates near pointers on i8086, which is the desired goal. vor 11 Jahren
  sergei 31d160aaf5 * x86: clean up and place jump tables into sec_rodata on all targets. Effectively it does not change anything, because sec_rodata with relocations still go into writable data at assembler level. vor 11 Jahren
  florian 4d5119bf1c * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables vor 11 Jahren
  nickysn 8608969eb8 * tx86casenode.genjumptable: explicitly emit near pointers in the case jump table on i8086, regardless of the memory model vor 12 Jahren
  Jonas Maebe 2dd75e707e * renamed thlcgobj.tcgsize2orddef to defutil.cgsize_orddef vor 12 Jahren
  nickysn 1797c8b803 * i8086 fixes for the handling of large sets in tx86innode.pass_generate_code; test/cg/tin.pp works now vor 12 Jahren
  nickysn de345ac191 * added missing setbase fixup in tx86innode.pass_generate_code for the case of LOC_CONSTANT in LOC_REFERENCE for large sets vor 12 Jahren
  nickysn 533bd30094 * some more i8086 bug fixes in tx86innode.pass_generate_code vor 12 Jahren
  nickysn 967e10ea95 * i8086 fixes in tx86innode.pass_generate_code vor 12 Jahren
  nickysn 1f5d384a1e * i8086 fix in tx86casenode.genlinearlist vor 12 Jahren
  nickysn b930c9a0db * all the remaining cases of the 'in' operator fixed (hopefully) for i8086 vor 12 Jahren
  nickysn 8ca0b443b8 * another case of the 'in' operator fixed for i8086 ('x in const', when use_small=false and genjumps=false) vor 12 Jahren
  nickysn d7c9603351 * i8086 fixes for the 'in' operator in the case of 'unsigned,small,non_constant IN smallset' vor 12 Jahren
  florian d6f0a1a0df * do not generate scaled indicies for case table jumps for i8086 vor 12 Jahren
  florian feefcb6d3d * don't generate dec for case nodes of unsigned types because dec does not set the carry flag, resolves #23503 vor 12 Jahren
  florian 0b30b0fd5a * re-enable jump tables for x86-64, they are fixed, see also vor 12 Jahren