Commit History

Author SHA1 Message Date
  Jonas Maebe 73cae02c20 --- Merging r29821 into '.': 9 years ago
  sergei 8f4430e795 * tcg.translate_register: check that reg.allocator is not nil before calling its method (in case of "assembler nostackframe" function returning an x87 float compiler tries to translate NR_ST which is used for function result). 10 years ago
  sergei e4fea2ebc8 * Dummy implementations of a_bit_scan_reg_reg and g_stackpointer_alloc in tcg, removes the need to override these methods in every descendant code generator solely to avoid "constructing a class with abstract method" warning. 11 years ago
  sergei cd27d64cd5 + Support (as target-independent as possible) optimization of division by constants: 11 years ago
  nickysn 5dcbaa4b2d - rm the cpu16bitalu and cpu64bitalu ifdefs from tcg.a_load_ref_cgpara as well 11 years ago
  Jonas Maebe dab8754bb6 * moved joinreg64 from cg64f32 to cgobj (joinreg128 is also declared 11 years ago
  sergei 9c1f917e3a * a_call_ref functionality cannot be implemented efficiently at code generator level, because references need specific preparations at earlier points. Moved this support to tcgcallnode and its x86 descendants, and got rid of all ifdef's around. 11 years ago
  sergei 0d3f36eebf - Remove references to global variable 'cg' from methods of tcg and some of its descendants. 11 years ago
  nickysn be85998313 * fixes in optimize_op_const: 11 years ago
  nickysn 85dd9e5789 + added a size parameter to optimize_op_const and do a sign extension of the 'a' parameter up from the specified size, so that things like (i and $ffffffff) get optimized away the same way as (i and -1) 11 years ago
  sergei 5cd0684d45 * tcg.a_load_ref_reg_unaligned: if loading signed 16-bit value, treat upper half as signed 8-bit to ensure that result is properly extended. This routine is used only by SPARC target (other CPUs use specific implementations), and it generates pretty inefficient code, therefore it's probably worth to drop it altogether and implement SPARC-specific version. Mantis #25440. 11 years ago
  nickysn bf07fc077b * specify AT_DATA in all references to the tobjectdef.vmt_mangledname symbol. 11 years ago
  svenbarth c48d572996 Implement support for saving and restoring address registers. 11 years ago
  svenbarth 235c06ab34 Implement volatile address registers. Fixes quite some tests, but also breaks others... (overall more are fixed than are broken :) ) 12 years ago
  florian e81d2d1f3b * basic avx support for floating point operations (use -Cfavx to activate) 12 years ago
  nickysn 512ca83f33 - don't allocate/deallocate the fpu registers in tcg.[de]allocallcpuregisters on the i8086 12 years ago
  nickysn a5c5b05362 * initial support for system procs that use calling conventions that push left to right on i8086 or i386 12 years ago
  florian 1eeeb309c7 * intial armv6m support, it is not working yet, constant pool insertation and conditional branch fixup is not working yet 12 years ago
  paul 5d74e0578a compiler: remove unused variables and unneeded assignments 12 years ago
  Jonas Maebe 69c29a415f * pass the procdef to getintparaloc instead of only the proccalloption, so 12 years ago
  florian 4f30ac0247 * put records with 16 bytes size into two register on 64 bit targets if possible 12 years ago
  pierre d8c2930454 Also accept R_ADDRESSREGISTER in a_load_cgparaloc_anyreg method 12 years ago
  florian 2e7fe1aebd * support of avx register requires now proper usage of R_SUBMMWHOLE 13 years ago
  florian ca5fabda6d * cleanup some unused units from uses clauses 13 years ago
  florian 67744ef46e * fix methodpointers in registers on big endian targets 13 years ago
  florian d93cee995b * fix register method pointer for ppc64 and x86_64-linux 13 years ago
  florian 7361e19799 + support for handling OS_128/OS_S128 on 64 Bit CPUs as far as needed for method pointers in registers 13 years ago
  Jonas Maebe be8f8fec76 * converted tcg.g_releasevaluepara_openarray() to thlcg 13 years ago
  Jonas Maebe 9197ce100e * converted tcg.g_copyvaluepara_openarray() to thlcg 13 years ago
  Jonas Maebe aba6923187 * moved g_test_self() from cgobj to hlcgobj 13 years ago