Commit History

Autor SHA1 Mensaxe Data
  Jonas Maebe d69ad8fa41 * removed temppos field again from parameter locations: they're not allocated %!s(int64=7) %!d(string=hai) anos
  Jonas Maebe 4686f61002 * keep track of the temp position separately from the offset in references, %!s(int64=7) %!d(string=hai) anos
  Jonas Maebe 880d438704 * renamed t<cpuname>procinfo to tcpuprocinfo for all targets, so we can %!s(int64=8) %!d(string=hai) anos
  Jonas Maebe a25ebbba3e + added volatility information to all memory references %!s(int64=8) %!d(string=hai) anos
  sergei b4904deea8 * MIPS: Fixed code generation for PIC global symbols with large offset, resolves #30552. %!s(int64=8) %!d(string=hai) anos
  Jonas Maebe aa1be3276f - removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol(): %!s(int64=9) %!d(string=hai) anos
  sergei 5456960d54 * MIPS: Fixed code generation for PIC calls to local functions. Uncovered by r32803, before that the buggy branch was never taken because all functions were global. %!s(int64=9) %!d(string=hai) anos
  Jonas Maebe 61e4a1b811 + added tasmlist parameter to getintparaloc() (needed for llvm) %!s(int64=10) %!d(string=hai) anos
  Jonas Maebe 67b8aceaee * synchronized with privatetrunk till r30095 %!s(int64=10) %!d(string=hai) anos
  sergei 06ee500352 * MIPS: improved code generation in make_simple_ref %!s(int64=10) %!d(string=hai) anos
  sergei ac64c4600f + MIPS: make use of instructions MUL,SEB and SEH that are available in modern cores. %!s(int64=11) %!d(string=hai) anos
  sergei 768e090006 - MIPS: don't create reg.allocator for MM registers. %!s(int64=11) %!d(string=hai) anos
  sergei d9a7d28838 + MIPS: support floating point conditions in its emulated flags, on MIPS4+ convert such flags to registers using conditional move instructions (i.e. without branching). For older cores generated code remains the same. %!s(int64=11) %!d(string=hai) anos
  sergei f0496001fb - MIPS: removed allocation of stack/frame pointer registers in prologue, hacks like this are no longer needed since r27104. %!s(int64=11) %!d(string=hai) anos
  Jonas Maebe b745dcc64c * moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because %!s(int64=11) %!d(string=hai) anos
  sergei f1d1fd4f24 * Inserted explicit typecasts in order to prevent range check errors at some places where signed and unsigned types are assigned to each other (mostly MIPS-specific, but one was necessary in generic code). %!s(int64=11) %!d(string=hai) anos
  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. %!s(int64=11) %!d(string=hai) anos
  sergei cd27d64cd5 + Support (as target-independent as possible) optimization of division by constants: %!s(int64=11) %!d(string=hai) anos
  sergei 4202343033 * MIPS: emit ".set nomips16" and ".set noreorder" directives for procedures declared as "assembler nostackframe", as it is done for regular procedures. Handwritten assembler routines typically utilize delay slots, and it is desirable that assembler does not mess it up. %!s(int64=11) %!d(string=hai) anos
  sergei ed1555b918 * Moved generation of .ent/.end directives out of generic code generator. %!s(int64=11) %!d(string=hai) anos
  sergei d7c7ee2c2a * MIPS: fixed 8/16 bit arithmetic shifting to be done without using an additional register. %!s(int64=11) %!d(string=hai) anos
  sergei 0d3f36eebf - Remove references to global variable 'cg' from methods of tcg and some of its descendants. %!s(int64=11) %!d(string=hai) anos
  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) %!s(int64=11) %!d(string=hai) anos
  sergei 2a112ad01b * MIPS: don't optimize reference twice for 64-bit loads and stores. Now loading/storing 64-bit value to global variable takes typically 3 instructions. %!s(int64=11) %!d(string=hai) anos
  sergei e10e383b8e * MIPS: ".set macro"/".set nomacro" directives around ".cprestore" are necessary only when offset is outside smallint range. Otherwise they just clutter the assembler file. %!s(int64=11) %!d(string=hai) anos
  sergei 9494fadf08 * MIPS: set pi_do_call flag for assembler procedures with stackframes, so in PIC mode it further receives pi_needs_got in PIC mode and allocates the GP save temp. %!s(int64=12) %!d(string=hai) anos
  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. %!s(int64=12) %!d(string=hai) anos
  sergei 9a6edd0fb8 * MIPS: handle restoring GP after calls without GAS macro processing, removes ugly workaround for GAS bug. %!s(int64=12) %!d(string=hai) anos
  sergei 9e4cc57768 * MIPS: handle 8 and 16-bit arithmetic shifts internally, by shifting argument left by 24/16 bits, followed with 32-bit arithmetic shift right by appropriately adjusted amount. %!s(int64=12) %!d(string=hai) anos
  sergei 59d6df4fca * MIPS: replaced opcode mapping functions with array, much shorter that way. Separate "overflow" mapping is also no longer needed. %!s(int64=12) %!d(string=hai) anos