Historia zmian

Autor SHA1 Wiadomość Data
  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. 6 lat temu
  Jonas Maebe 07bd4ba517 * let all the case code generation work with tconstexprint instead of aint, 6 lat temu
  florian a2cee252e8 * when optimizing range checks in case nodes, unsigned comparisions must be used, resolves #34782 6 lat temu
  florian bd4b7a6bc4 * more case fixes 6 lat temu
  florian f6e32ae90e * (modified) path by Gareth Moreton to fix case handling 6 lat temu
  florian 7f5c2fa3aa * (modified) patch by Gareth Moreton: Speed improvement in case blocks, resolves #0034762 6 lat temu
  yury 4357caaad8 * Removed unused local vars. 6 lat temu
  florian 50dba9ad66 * if both labels of a case label are equal, we still cannot skip the comparison in a jump tree, resolves #31589 8 lat temu
  florian d5754cf47c * create jmp trees for really big case statements 8 lat temu
  Jonas Maebe a25ebbba3e + added volatility information to all memory references 8 lat temu
  florian 57f93ed40d * correctly generate accesses to jump tables if it contains negative entries, resolves issue #30119 9 lat temu
  Jonas Maebe da696057ab * converted register_maybe_adjust_setbase() to the high level code generator 9 lat temu
  Jonas Maebe ab22aaa2b7 * adjust the set base for i8086 before loading it into cx as a shift count 9 lat temu
  Jonas Maebe 687bb15299 * renamed getdatalabel() to getglobaldatalabel 10 lat temu
  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. 11 lat temu
  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. 11 lat temu
  florian 4d5119bf1c * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables 11 lat temu
  nickysn 8608969eb8 * tx86casenode.genjumptable: explicitly emit near pointers in the case jump table on i8086, regardless of the memory model 12 lat temu
  Jonas Maebe 2dd75e707e * renamed thlcgobj.tcgsize2orddef to defutil.cgsize_orddef 12 lat temu
  nickysn 1797c8b803 * i8086 fixes for the handling of large sets in tx86innode.pass_generate_code; test/cg/tin.pp works now 12 lat temu
  nickysn de345ac191 * added missing setbase fixup in tx86innode.pass_generate_code for the case of LOC_CONSTANT in LOC_REFERENCE for large sets 12 lat temu
  nickysn 533bd30094 * some more i8086 bug fixes in tx86innode.pass_generate_code 12 lat temu
  nickysn 967e10ea95 * i8086 fixes in tx86innode.pass_generate_code 12 lat temu
  nickysn 1f5d384a1e * i8086 fix in tx86casenode.genlinearlist 12 lat temu
  nickysn b930c9a0db * all the remaining cases of the 'in' operator fixed (hopefully) for i8086 12 lat temu
  nickysn 8ca0b443b8 * another case of the 'in' operator fixed for i8086 ('x in const', when use_small=false and genjumps=false) 12 lat temu
  nickysn d7c9603351 * i8086 fixes for the 'in' operator in the case of 'unsigned,small,non_constant IN smallset' 12 lat temu
  florian d6f0a1a0df * do not generate scaled indicies for case table jumps for i8086 12 lat temu
  florian feefcb6d3d * don't generate dec for case nodes of unsigned types because dec does not set the carry flag, resolves #23503 12 lat temu
  florian 0b30b0fd5a * re-enable jump tables for x86-64, they are fixed, see also 12 lat temu