florian
|
0a7b795744
* fix for the regressions caused by r27417
|
há 11 anos atrás |
florian
|
73cf0b62f2
* relaxed conditions for floats in int registers, this improved softfloat code significantly
|
há 11 anos atrás |
nickysn
|
0aab7fcc9c
* fixed tcgtypeconvnode.second_cstring_to_pchar for i8086 far data memory models by using the high level code generator
|
há 11 anos atrás |
nickysn
|
2644d7566c
* refactored tcgtypeconvnode.second_pointer_to_array to use
|
há 11 anos atrás |
nickysn
|
bd75abb64b
+ fill the treference.segment in tcgtypeconvnode.second_pointer_to_array when
|
há 11 anos atrás |
nickysn
|
a9f56d2714
* refactored tcgtypeconvnode.second_ansistring_to_pchar to use the high level
|
há 11 anos atrás |
Jonas Maebe
|
d46c353849
* migrated JVM-specific second_nil_to_methodprocvar code to njvmcnv
|
há 11 anos atrás |
Jonas Maebe
|
4065483a50
* completed thlcgobj.location_force_fpureg(), use it everywhere and removed
|
há 11 anos atrás |
Jeppe Johansen
|
07b2982e77
Don't do ARM FoldShiftLdrStr peephole optimization if there's an offset in the reference.
|
há 11 anos atrás |
florian
|
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
|
há 12 anos atrás |
svenbarth
|
76f6de5cf1
Refactor tobjectdef.find_implemented_interface out into unit defcmp so that the recently introduced cycle between symdef and defcmp can be broken again.
|
há 12 anos atrás |
sergei
|
f80ce76a69
+ MIPS: emulate "flags", i.e. support LOC_FLAGS location. This allows to generate differently optimized code for branching and for conversion to register, typically saving a register and instruction per compare.
|
há 12 anos atrás |
nickysn
|
7a0bf4fa54
* the change in r25067 disabled for 16-bit and 8-bit CPUs, because it relies on reg_cgsize, which gives wrong results on archs that use GetNextReg()
|
há 12 anos atrás |
sergei
|
f3a1c749fb
* tcgtypeconvnode.second_int_to_int: reuse 8 and 16-bit-sized register locations on targets with 32-bit-only registers when casting to larger size (except ShortInt to Word cast). This is possible because upper bits of such registers are always kept valid by code generators (see 'maybeadjustresult' method in cgcpu.pas). Removes a lot of useless register moves.
|
há 12 anos atrás |
florian
|
19495439b1
* do not destroy the left operand in second_ansistring_to_pchar if it is a register
|
há 12 anos atrás |
Jonas Maebe
|
5051453806
+ support for LOC_(C)MMREGISTER in hlcg
|
há 12 anos atrás |
Jonas Maebe
|
5152c86932
* set the location size of load nodes of procsyms without methodpointer/
|
há 12 anos atrás |
florian
|
5a81601565
* type casting could force pointers into sub registers, so handle them when converting the pointer to an array
|
há 12 anos atrás |
paul
|
5d74e0578a
compiler: remove unused variables and unneeded assignments
|
há 12 anos atrás |
florian
|
4d4561923e
* nil method pointers can be kept in registers
|
há 13 anos atrás |
florian
|
d8161c185c
+ track usage of flags by using a new register RS_/NR_DEFAULTFLAGS
|
há 13 anos atrás |
Jonas Maebe
|
edd42aa42a
* moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for
|
há 13 anos atrás |
Jonas Maebe
|
aee5380ae0
* merged trunk up to r20882
|
há 13 anos atrás |
florian
|
111d05c68f
o patch by Alexander Shishkin, resolves #20409
|
há 14 anos atrás |
Jonas Maebe
|
c22394a9f4
* converted second_array_to_pointer() to thlcg
|
há 14 anos atrás |
Jonas Maebe
|
7f22a2f223
+ support for range checking calculations with hlcgobj
|
há 14 anos atrás |
Jonas Maebe
|
979f55e1db
+ support for procedural variables for the JVM target
|
há 14 anos atrás |
Jonas Maebe
|
085d0efead
* some fixes for fake procvar support
|
há 14 anos atrás |
Jonas Maebe
|
6857dde33e
+ shortstring support for the JVM target (including accessing character 0 as
|
há 14 anos atrás |
Jonas Maebe
|
aa1f299a17
+ added hook for "individual value to open array of one element"-conversion,
|
há 14 anos atrás |