Commit történet

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