J. Gareth "Curious Kit" Moreton
|
1b8fc23dfd
* x86: Code generation fixes where FLAGS
|
il y a 3 ans |
Jonas Maebe
|
197f5cbec5
* let all the case code generation work with tconstexprint instead of aint,
|
il y a 6 ans |
florian
|
50dba9ad66
* if both labels of a case label are equal, we still cannot skip the comparison in a jump tree, resolves #31589
|
il y a 8 ans |
florian
|
d5754cf47c
* create jmp trees for really big case statements
|
il y a 8 ans |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
il y a 8 ans |
florian
|
57f93ed40d
* correctly generate accesses to jump tables if it contains negative entries, resolves issue #30119
|
il y a 9 ans |
Jonas Maebe
|
da696057ab
* converted register_maybe_adjust_setbase() to the high level code generator
|
il y a 9 ans |
Jonas Maebe
|
ab22aaa2b7
* adjust the set base for i8086 before loading it into cx as a shift count
|
il y a 9 ans |
Jonas Maebe
|
687bb15299
* renamed getdatalabel() to getglobaldatalabel
|
il y a 10 ans |
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.
|
il y a 11 ans |
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.
|
il y a 11 ans |
florian
|
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
|
il y a 11 ans |
nickysn
|
8608969eb8
* tx86casenode.genjumptable: explicitly emit near pointers in the case jump table on i8086, regardless of the memory model
|
il y a 12 ans |
Jonas Maebe
|
2dd75e707e
* renamed thlcgobj.tcgsize2orddef to defutil.cgsize_orddef
|
il y a 12 ans |
nickysn
|
1797c8b803
* i8086 fixes for the handling of large sets in tx86innode.pass_generate_code; test/cg/tin.pp works now
|
il y a 12 ans |
nickysn
|
de345ac191
* added missing setbase fixup in tx86innode.pass_generate_code for the case of LOC_CONSTANT in LOC_REFERENCE for large sets
|
il y a 12 ans |
nickysn
|
533bd30094
* some more i8086 bug fixes in tx86innode.pass_generate_code
|
il y a 12 ans |
nickysn
|
967e10ea95
* i8086 fixes in tx86innode.pass_generate_code
|
il y a 12 ans |
nickysn
|
1f5d384a1e
* i8086 fix in tx86casenode.genlinearlist
|
il y a 12 ans |
nickysn
|
b930c9a0db
* all the remaining cases of the 'in' operator fixed (hopefully) for i8086
|
il y a 12 ans |
nickysn
|
8ca0b443b8
* another case of the 'in' operator fixed for i8086 ('x in const', when use_small=false and genjumps=false)
|
il y a 12 ans |
nickysn
|
d7c9603351
* i8086 fixes for the 'in' operator in the case of 'unsigned,small,non_constant IN smallset'
|
il y a 12 ans |
florian
|
d6f0a1a0df
* do not generate scaled indicies for case table jumps for i8086
|
il y a 12 ans |
florian
|
feefcb6d3d
* don't generate dec for case nodes of unsigned types because dec does not set the carry flag, resolves #23503
|
il y a 12 ans |
florian
|
0b30b0fd5a
* re-enable jump tables for x86-64, they are fixed, see also
|
il y a 12 ans |
Jonas Maebe
|
edd42aa42a
* moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for
|
il y a 13 ans |
Jonas Maebe
|
aee5380ae0
* merged trunk up to r20882
|
il y a 13 ans |
sergei
|
c6d382fe18
* Moved procedure genlinearlist from ti386casenode to tx86casenode. This optimization works well on x86_64, resulting in approximately twice less instructions than when using generic code.
|
il y a 14 ans |
Jonas Maebe
|
28740dce2d
- removed extra "fordefinition" parameter again from tprocdef.mangledname(),
|
il y a 14 ans |
Jonas Maebe
|
b023627f6a
* converted tcgcasenode.pass_generate_code() to hlcgobj
|
il y a 14 ans |