Історія комітів

Автор SHA1 Опис Дата
  Jonas Maebe 281b3ad276 * fix case completeness and unreachable code warnings in compiler that would 6 роки тому
  florian bd57ca99a8 * cosmetics 8 роки тому
  florian ea8774c18d * split the sparc code generator into a generic base class and separate classes for sparc32 and sparc64 8 роки тому
  florian 1f4432af6b * sparc64 compiler can be build, not working yet 8 роки тому
  Jonas Maebe a25ebbba3e + added volatility information to all memory references 8 роки тому
  Jonas Maebe aa1be3276f - removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol(): 9 роки тому
  Jonas Maebe 61e4a1b811 + added tasmlist parameter to getintparaloc() (needed for llvm) 10 роки тому
  Jonas Maebe b745dcc64c * moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because 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 роки тому
  sergei 77d97303a9 * SPARC: cleanup and simplify 64-bit code generator. Call cg.a_op64_const_reg_reg where possible to make use of its optimization abilities. 11 роки тому
  sergei 51f6092672 * SPARC: OP_NOT can always be done in 32 bits, because for 8 and 16-bit operations the high bits of result are adjusted immediately afterwards. 11 роки тому
  sergei f20b6c73ef * SPARC: convert carry flag into register without branching. 11 роки тому
  sergei f3801d13de * SPARC: cleaned up and actualized TAsmCond (stuff copy-pasted from x86 removed, conditions for unordered floating-point comparisons added). Fixes Mantis #9362 on this target. 11 роки тому
  sergei 534ecbda9f * SPARC: r26561 caused a_op_const_reg_reg used for zero-extending 8-bit values to be optimized away. Fixed by replacing it with an explicit instruction. 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 4168388235 + SPARC: support 8 and 16-bit arithmetic shifts. 11 роки тому
  sergei 63c1a05718 * SPARC: Removed hacks with g1_used that were used for g_intf_wrapper to be operational without initialized reg.allocator, and replaced them with a proper solution (which is basically a clone from MIPS cg). 11 роки тому
  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 роки тому
  sergei bf94257310 * SPARC: simplified and fixed a_load_const_reg method, was generating redundant instructions for constants with non-zero bits 10..12. 11 роки тому
  sergei f8a60522d4 - SPARC: removed 3 code generator methods, they provide no difference in generated code from generic code generator. 11 роки тому
  sergei 176d8434e4 * SPARC: completely rewrote PIC-related code, got it twice shorter in source lines and much less instructions in generated code. 11 роки тому
  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 роки тому
  sergei 890d757573 + SPARC: override g_external_wrapper method and emit PIC-safe jump without distance limit. Mantis #25455. 11 роки тому
  sergei e6a9bfdc1d * SPARC, g_concatcopy and g_concatcopy_unaligned: removed strange (probably long outdated) comments and unnecessary operations. 11 роки тому
  sergei 03fb83cc01 * SPARC: fixed PIC interface wrappers for non-virtual methods. The fix uses branching with 8 MB distance limit, but in particular case of interface wrappers this limit applies to code size of a single unit, not to entire program, and is therefore hard enough to reach. 11 роки тому
  sergei 65d24e000f * SPARC: generate PIC prologue as recommended by ABI, it does not require FPC_GETGOT helper. 11 роки тому
  sergei 5ccdfcf106 * SPARC: optimized a_op_const_reg and a_op_const_reg_reg, take advantage of optimize_op_const functionality. 11 роки тому
  sergei c3fe0c7379 * On SPARC, using shifts for zero-extending to OS_16 is more efficient than ANDing with 65535 (two instructions and no temp registers vs. three instructions and a temp register). 11 роки тому
  florian 4d5119bf1c * fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables 11 роки тому
  paul 51825b6f2e compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation) 12 роки тому