florian
|
84a1f614d9
* fix several double ;
|
5 anni fa |
florian
|
82a3877126
+ x86: track use of full ymm registers and generate vzeroupper if needed
|
5 anni fa |
florian
|
8f0a3cfce7
* x86-64: adjust stack by push/pop if possible
|
5 anni fa |
florian
|
ef3155c2ef
* there is no exit stackframe needed if a subroutine never returns
|
5 anni fa |
Jonas Maebe
|
1e3f72403e
* renamed getintparaloc to getcgtempparaloc
|
5 anni fa |
florian
|
ba203c0564
+ x86 makes use of fpu_capabilities
|
6 anni fa |
florian
|
367bc18bc5
* cfa for x86-64 fixed
|
6 anni fa |
florian
|
ded001753d
+ initial native x86-64 support
|
6 anni fa |
florian
|
64ad48e89e
* forgotten part of r39750
|
7 anni fa |
Jonas Maebe
|
4686f61002
* keep track of the temp position separately from the offset in references,
|
7 anni fa |
nickysn
|
518cdf9674
* replaced the saved_XXX_registers arrays with virtual methods inside
|
7 anni fa |
florian
|
b1dff29cbf
* removed unused units
|
8 anni fa |
Jonas Maebe
|
265c8e7bbc
+ support for specifying ms_abi_default, ms_abi_cdelc, sysv_abi_default, and
|
8 anni fa |
Jonas Maebe
|
880d438704
* renamed t<cpuname>procinfo to tcpuprocinfo for all targets, so we can
|
8 anni fa |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
8 anni fa |
sergei
|
eb86cd47c6
* tcgx86_64.g_proc_entry: Don't crash if 'list' is initially empty. Went unnoticed this far because ncgutil.gen_proc_entry_code adds some items before calling cg.g_proc_entry.
|
9 anni fa |
sergei
|
1b965e6766
* x86: Don't save/restore integer registers that are volatile per calling convention of current procedure. It implies that nothing will be saved for procedures with OLDFPCCALL, FAR16 and PASCAL and calling conventions. OLDFPCCALL restores behavior that was in effect before r25224.
|
10 anni fa |
Jonas Maebe
|
61e4a1b811
+ added tasmlist parameter to getintparaloc() (needed for llvm)
|
10 anni fa |
Jonas Maebe
|
67b8aceaee
* synchronized with privatetrunk till r30095
|
10 anni fa |
Jonas Maebe
|
79a06b1514
+ iphonesim/x86_64 target (64 bit iOS simulator)
|
10 anni fa |
florian
|
35a04ad095
* modified patch of Paul W to replace leave by mov/pop, resolves #26455
|
10 anni fa |
Jonas Maebe
|
d8c898742a
* handle the fact that records containing a single extended value are
|
11 anni fa |
Jonas Maebe
|
8244d366d0
- moved deallocation of NR_PIC_OFFSET_REG from the x86_64 to the i386 code
|
11 anni fa |
Jonas Maebe
|
b745dcc64c
* moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because
|
11 anni fa |
florian
|
d8c0f11ff9
+ cs_userbp optimizer switch, so on x86-64 the compiler can make use of rbp if it is not needed as frame pointer
|
11 anni fa |
sergei
|
f508442a7e
* Emit everything to the same asmlist (fixing copy-paste error).
|
12 anni fa |
sergei
|
409e176ded
* Factored reusable (SEH-related) piece of code into separate procedure.
|
12 anni fa |
sergei
|
da2887a4ec
* x86_64-win64: SEH finalization procedures have frame pointer set to RBP but since r25389 they save registers relative to RSP. Fixed offsets for .seh_savereg/.seh_savexmm directives.
|
12 anni fa |
sergei
|
e41149a7ec
* x86_64: reworked register saving/restoring to use PUSH/POP instructions for procedures with RSP-based frame and SEH finalization procedures. XMM registers are also saved/restored without involving tempgen in mentioned cases. This prevents SEH finalization procedures from saving registers in stack frame of their parent procedures, fixing incorrect unwind bytecode (Mantis #24791). It also reduces executable size (for compiler itself, by about 100Kb).
|
12 anni fa |
sergei
|
5dda96bdfe
- Tcgx86_64.init_register_allocators: removed 'preserved_by_proc' parameter, because it isn't used by RA in any way.
|
12 anni fa |