Commit History

作者 SHA1 備註 提交日期
  Jonas Maebe 504a9d1594 * fixed register sizes in a_load_ref_reg_unaligned() 10 年之前
  Jonas Maebe e6511bcb33 * support multiple paralocs in a_load_reg_cgpara() by taking a round trip 10 年之前
  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 年之前
  Jonas Maebe b745dcc64c * moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because 11 年之前
  Jonas Maebe a637fbe596 * moved all g_exception_*() methods to hlcgobj and cleaned them up (no more 11 年之前
  Jonas Maebe 5c75b6dd6b * synchronised with trunk up till r28402 11 年之前
  Jonas Maebe 831cc96f48 * give an internalerror when calling cg.makeregsize() for a high level 11 年之前
  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 年之前
  Jonas Maebe 7949bebb8d * synchronised with r28168 of trunk 11 年之前
  sergei cd27d64cd5 + Support (as target-independent as possible) optimization of division by constants: 11 年之前
  Jonas Maebe bacd303208 * synchronized with trunk up to r27758 11 年之前
  nickysn 5dcbaa4b2d - rm the cpu16bitalu and cpu64bitalu ifdefs from tcg.a_load_ref_cgpara as well 11 年之前
  Jonas Maebe dab8754bb6 * moved joinreg64 from cg64f32 to cgobj (joinreg128 is also declared 11 年之前
  Jonas Maebe e9268a0a14 * synchronised with trunk up till r26975 11 年之前
  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 年之前
  sergei 0d3f36eebf - Remove references to global variable 'cg' from methods of tcg and some of its descendants. 11 年之前
  nickysn be85998313 * fixes in optimize_op_const: 11 年之前
  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 年之前
  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 年之前
  Jonas Maebe 1df3039424 + LLVM temp allocator based on new R_TEMPREGISTER register class. For every 11 年之前
  nickysn bf07fc077b * specify AT_DATA in all references to the tobjectdef.vmt_mangledname symbol. 12 年之前
  svenbarth c48d572996 Implement support for saving and restoring address registers. 12 年之前
  svenbarth 235c06ab34 Implement volatile address registers. Fixes quite some tests, but also breaks others... (overall more are fixed than are broken :) ) 12 年之前
  florian e81d2d1f3b * basic avx support for floating point operations (use -Cfavx to activate) 12 年之前
  nickysn 512ca83f33 - don't allocate/deallocate the fpu registers in tcg.[de]allocallcpuregisters on the i8086 12 年之前
  nickysn a5c5b05362 * initial support for system procs that use calling conventions that push left to right on i8086 or i386 12 年之前
  florian 1eeeb309c7 * intial armv6m support, it is not working yet, constant pool insertation and conditional branch fixup is not working yet 12 年之前
  paul 5d74e0578a compiler: remove unused variables and unneeded assignments 12 年之前
  Jonas Maebe 69c29a415f * pass the procdef to getintparaloc instead of only the proccalloption, so 12 年之前
  florian 4f30ac0247 * put records with 16 bytes size into two register on 64 bit targets if possible 12 年之前