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