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.
|
12 rokov pred |
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()
|
12 rokov pred |
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.
|
12 rokov pred |
florian
|
19495439b1
* do not destroy the left operand in second_ansistring_to_pchar if it is a register
|
12 rokov pred |
Jonas Maebe
|
5051453806
+ support for LOC_(C)MMREGISTER in hlcg
|
12 rokov pred |
Jonas Maebe
|
5152c86932
* set the location size of load nodes of procsyms without methodpointer/
|
12 rokov pred |
florian
|
5a81601565
* type casting could force pointers into sub registers, so handle them when converting the pointer to an array
|
12 rokov pred |
paul
|
5d74e0578a
compiler: remove unused variables and unneeded assignments
|
12 rokov pred |
florian
|
4d4561923e
* nil method pointers can be kept in registers
|
13 rokov pred |
florian
|
d8161c185c
+ track usage of flags by using a new register RS_/NR_DEFAULTFLAGS
|
13 rokov pred |
Jonas Maebe
|
edd42aa42a
* moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for
|
13 rokov pred |
Jonas Maebe
|
aee5380ae0
* merged trunk up to r20882
|
13 rokov pred |
florian
|
111d05c68f
o patch by Alexander Shishkin, resolves #20409
|
14 rokov pred |
Jonas Maebe
|
c22394a9f4
* converted second_array_to_pointer() to thlcg
|
14 rokov pred |
Jonas Maebe
|
7f22a2f223
+ support for range checking calculations with hlcgobj
|
14 rokov pred |
Jonas Maebe
|
979f55e1db
+ support for procedural variables for the JVM target
|
14 rokov pred |
Jonas Maebe
|
085d0efead
* some fixes for fake procvar support
|
14 rokov pred |
Jonas Maebe
|
6857dde33e
+ shortstring support for the JVM target (including accessing character 0 as
|
14 rokov pred |
Jonas Maebe
|
aa1f299a17
+ added hook for "individual value to open array of one element"-conversion,
|
14 rokov pred |
Jonas Maebe
|
d1a1d30e04
* unless compiled with -dnounsupported, the compiler will now accept not
|
14 rokov pred |
Jonas Maebe
|
0e87627218
+ gethltemp() to allocate a temp specifying full type information even
|
14 rokov pred |
Jonas Maebe
|
e56ad62f09
* second_real_to_real() converted to hlcg (in so far possible, no MM support)
|
14 rokov pred |
florian
|
918909c65d
* fix building on powerpc/powerpc64/mips/mipsel
|
14 rokov pred |
florian
|
f5694da7bc
* OS_INT => OS_32
|
14 rokov pred |
florian
|
f419966f06
+ generic second_int_to_bool, depends on OP_OR setting flags
|
14 rokov pred |
Jonas Maebe
|
97f9157a7a
* convert LOC_FLAGS/LOC_JUMP to cbool value in bool_to_bool conversion,
|
15 rokov pred |
Jonas Maebe
|
57bd6d2685
+ merged nestedprocvars branch
|
15 rokov pred |
Jonas Maebe
|
85984c2d8f
* insert proper type conversions when optimising logical operations and
|
15 rokov pred |
Jonas Maebe
|
d1538ab023
o added ARM VPFv2/VFPv3 support:
|
16 rokov pred |
florian
|
cc622779c9
* set size of nil constants casted to method pointers correctly, first part of resolving #10684
|
16 rokov pred |