florian
|
79dfd9fb51
+ MIPS: take care of setnoat
|
před 5 roky |
Jonas Maebe
|
281b3ad276
* fix case completeness and unreachable code warnings in compiler that would
|
před 6 roky |
Jonas Maebe
|
d69ad8fa41
* removed temppos field again from parameter locations: they're not allocated
|
před 7 roky |
Jonas Maebe
|
4686f61002
* keep track of the temp position separately from the offset in references,
|
před 7 roky |
Jonas Maebe
|
880d438704
* renamed t<cpuname>procinfo to tcpuprocinfo for all targets, so we can
|
před 8 roky |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
před 8 roky |
sergei
|
b4904deea8
* MIPS: Fixed code generation for PIC global symbols with large offset, resolves #30552.
|
před 8 roky |
Jonas Maebe
|
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
|
před 9 roky |
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.
|
před 9 roky |
Jonas Maebe
|
61e4a1b811
+ added tasmlist parameter to getintparaloc() (needed for llvm)
|
před 10 roky |
Jonas Maebe
|
67b8aceaee
* synchronized with privatetrunk till r30095
|
před 10 roky |
sergei
|
06ee500352
* MIPS: improved code generation in make_simple_ref
|
před 10 roky |
sergei
|
ac64c4600f
+ MIPS: make use of instructions MUL,SEB and SEH that are available in modern cores.
|
před 11 roky |
sergei
|
768e090006
- MIPS: don't create reg.allocator for MM registers.
|
před 11 roky |
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.
|
před 11 roky |
sergei
|
f0496001fb
- MIPS: removed allocation of stack/frame pointer registers in prologue, hacks like this are no longer needed since r27104.
|
před 11 roky |
Jonas Maebe
|
b745dcc64c
* moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because
|
před 11 roky |
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).
|
před 11 roky |
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.
|
před 11 roky |
sergei
|
cd27d64cd5
+ Support (as target-independent as possible) optimization of division by constants:
|
před 11 roky |
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.
|
před 11 roky |
sergei
|
ed1555b918
* Moved generation of .ent/.end directives out of generic code generator.
|
před 11 roky |
sergei
|
d7c7ee2c2a
* MIPS: fixed 8/16 bit arithmetic shifting to be done without using an additional register.
|
před 11 roky |
sergei
|
0d3f36eebf
- Remove references to global variable 'cg' from methods of tcg and some of its descendants.
|
před 11 roky |
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)
|
před 11 roky |
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.
|
před 11 roky |
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.
|
před 11 roky |
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.
|
před 12 roky |
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.
|
před 12 roky |
sergei
|
9a6edd0fb8
* MIPS: handle restoring GP after calls without GAS macro processing, removes ugly workaround for GAS bug.
|
před 12 roky |