Commit History

Author SHA1 Message Date
  sergei 05489d6e05 * SPARC: fixed g_intf_wrapper for non-virtual methods once again, my initial assumption was not correct: a wrapper does not necessarily reference methods from the class that implements the interface, it may be methods from parent classes, which can be located arbitrarily far away in address space. 11 years ago
  sergei bf94257310 * SPARC: simplified and fixed a_load_const_reg method, was generating redundant instructions for constants with non-zero bits 10..12. 11 years ago
  Jonas Maebe d2b8275b99 + support for arbitrary encodings in readstr/writestr 11 years ago
  Jonas Maebe ddf08b4eb7 * call TranslatePlaceholderCP() when comparing code pages to avoid 11 years ago
  nickysn f69a76b5b1 * generate shorter code on 8-bit and 16-bit CPUs in thlcg2ll.location_force_reg, 11 years ago
  nickysn 9ec84d1259 * generate shorter code on 8 and 16-bit CPUs in thlcg2ll.location_force_reg, 11 years ago
  nickysn 6d48b32115 * fixes and improvements in tcg8086.a_load_reg_reg for the case when the src and 11 years ago
  nickysn 4e795eca99 * fixes for 16 and 8-bit ALUs in thlcg2ll.location_force_reg for the cases when 11 years ago
  florian 27f6fd1c2c * use new shl/shr constant folding (of r26295) only if forinline is set 11 years ago
  florian be3749301f * fix possible issues due to new behaviour of constant shifting 11 years ago
  sergei 34cde7a07a * SPARC, tsparcaddnode.second_cmp64bit: don't copy LOC_CREGISTER locations, and handle comparison with constants without loading them into register (if possible). 11 years ago
  florian 739166f3e7 * fix test 11 years ago
  sergei f8a60522d4 - SPARC: removed 3 code generator methods, they provide no difference in generated code from generic code generator. 11 years ago
  nickysn f2e73b5e6f + added 32-bit and 64-bit unsigned asm optimized multiplication routines for 11 years ago
  florian 880201e56c + pointerconstn is also a constant node 11 years ago
  florian 4258fe6765 * adapt exponent used in test to supported float type 11 years ago
  florian de3a116a28 * handle records with size 0 as function results correctly 11 years ago
  florian 561ec1f782 * unified internal errors 11 years ago
  florian 2081b9cad7 * do not convert a boolean to a 32 bit int first when converting to a 64 bit int, this causes data loss when casting e.g. a qwordbool to a qword 11 years ago
  florian b47f1c4176 * disable constant propagation for tests which will cause a regression because const. prop. causes a compile time error while the tests expect a runtime error 11 years ago
  florian be807d6cef + tests for dead store removal 11 years ago
  florian 27ac68cdc7 * be more careful when removing dead stores 11 years ago
  florian e9777503d1 * check addr_taken when propagating constants 11 years ago
  florian b1ee6f282c * set successor node for load nodes as well, they can be generated when inlining 11 years ago
  florian 89663e499b * fold shifting of constants equally to cpus 11 years ago
  sergei d70a880f33 * SPARC: properly justify parameters on stack with size less than 4, fixes failure on tests/cg/tcalext5.pp 11 years ago
  sergei 176d8434e4 * SPARC: completely rewrote PIC-related code, got it twice shorter in source lines and much less instructions in generated code. 11 years ago
  sergei 1a3b46967e + Two more checks for access to global data and setting the pi_needs_got flag, intended for targets that require decision about PIC code generation strictly before pass 2. 11 years ago
  reiniero 076ff1f47a * fcl-db: dbase: follow upstream commit r319: 11 years ago
  sergei eaba90dda7 * SPARC: since peephole optimizer recognizes only one conditional branching instruction, generate all branches using A_Bxx opcode, and change it to A_FBxx if necessary when writing assembler. This enables optimization of floating-point branches. 11 years ago