florian
|
84a1f614d9
* fix several double ;
|
5 gadi atpakaļ |
florian
|
82a3877126
+ x86: track use of full ymm registers and generate vzeroupper if needed
|
5 gadi atpakaļ |
florian
|
8f0a3cfce7
* x86-64: adjust stack by push/pop if possible
|
5 gadi atpakaļ |
florian
|
ef3155c2ef
* there is no exit stackframe needed if a subroutine never returns
|
5 gadi atpakaļ |
Jonas Maebe
|
1e3f72403e
* renamed getintparaloc to getcgtempparaloc
|
5 gadi atpakaļ |
florian
|
ba203c0564
+ x86 makes use of fpu_capabilities
|
6 gadi atpakaļ |
florian
|
367bc18bc5
* cfa for x86-64 fixed
|
6 gadi atpakaļ |
florian
|
ded001753d
+ initial native x86-64 support
|
6 gadi atpakaļ |
florian
|
64ad48e89e
* forgotten part of r39750
|
7 gadi atpakaļ |
Jonas Maebe
|
4686f61002
* keep track of the temp position separately from the offset in references,
|
7 gadi atpakaļ |
nickysn
|
518cdf9674
* replaced the saved_XXX_registers arrays with virtual methods inside
|
7 gadi atpakaļ |
florian
|
b1dff29cbf
* removed unused units
|
8 gadi atpakaļ |
Jonas Maebe
|
265c8e7bbc
+ support for specifying ms_abi_default, ms_abi_cdelc, sysv_abi_default, and
|
8 gadi atpakaļ |
Jonas Maebe
|
880d438704
* renamed t<cpuname>procinfo to tcpuprocinfo for all targets, so we can
|
8 gadi atpakaļ |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
8 gadi atpakaļ |
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 gadi atpakaļ |
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.
|
9 gadi atpakaļ |
Jonas Maebe
|
61e4a1b811
+ added tasmlist parameter to getintparaloc() (needed for llvm)
|
10 gadi atpakaļ |
Jonas Maebe
|
67b8aceaee
* synchronized with privatetrunk till r30095
|
10 gadi atpakaļ |
Jonas Maebe
|
79a06b1514
+ iphonesim/x86_64 target (64 bit iOS simulator)
|
10 gadi atpakaļ |
florian
|
35a04ad095
* modified patch of Paul W to replace leave by mov/pop, resolves #26455
|
10 gadi atpakaļ |
Jonas Maebe
|
d8c898742a
* handle the fact that records containing a single extended value are
|
11 gadi atpakaļ |
Jonas Maebe
|
8244d366d0
- moved deallocation of NR_PIC_OFFSET_REG from the x86_64 to the i386 code
|
11 gadi atpakaļ |
Jonas Maebe
|
b745dcc64c
* moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because
|
11 gadi atpakaļ |
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 gadi atpakaļ |
sergei
|
f508442a7e
* Emit everything to the same asmlist (fixing copy-paste error).
|
11 gadi atpakaļ |
sergei
|
409e176ded
* Factored reusable (SEH-related) piece of code into separate procedure.
|
12 gadi atpakaļ |
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 gadi atpakaļ |
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 gadi atpakaļ |
sergei
|
5dda96bdfe
- Tcgx86_64.init_register_allocators: removed 'preserved_by_proc' parameter, because it isn't used by RA in any way.
|
12 gadi atpakaļ |