Jonas Maebe
|
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
|
9 jaren geleden |
florian
|
77b4709e7a
+ i386 compiler tracks now flag usage if needed, so the mov $0,reg -> xor reg,reg transformation can be enabled
|
9 jaren geleden |
svenbarth
|
f297b00f5b
Extend the x86 targets by the ability to handle indirect symbols.
|
9 jaren geleden |
svenbarth
|
77ede2ac9f
i386/cgcpu.pas, tcg386:
|
9 jaren geleden |
yury
|
862348c317
* Keep the GOT offset in a virtual register for i386 non-darwin platforms.
|
10 jaren geleden |
Jonas Maebe
|
67b8aceaee
* synchronized with privatetrunk till r30095
|
10 jaren geleden |
florian
|
35a04ad095
* modified patch of Paul W to replace leave by mov/pop, resolves #26455
|
10 jaren geleden |
Jonas Maebe
|
8244d366d0
- moved deallocation of NR_PIC_OFFSET_REG from the x86_64 to the i386 code
|
11 jaren geleden |
Jonas Maebe
|
b745dcc64c
* moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because
|
11 jaren geleden |
Jonas Maebe
|
a637fbe596
* moved all g_exception_*() methods to hlcgobj and cleaned them up (no more
|
11 jaren geleden |
sergei
|
31edfdc05f
* i386: push references with size OS_F64 using less instructions.
|
11 jaren geleden |
sergei
|
0d3f36eebf
- Remove references to global variable 'cg' from methods of tcg and some of its descendants.
|
11 jaren geleden |
pierre
|
1cec09f979
Add -Caoldwin32gnu ABI option to cope with 'ret $4' issues in old GNU mingw32 C compiler (version below 4.7)
|
11 jaren geleden |
sergei
|
f2096de53a
* tcg386.g_proc_exit: instead of recalculating stack size, use current_procinfo.final_localsize which was calculated in g_proc_entry.
|
11 jaren geleden |
sergei
|
179586f589
+ SEH support for Win32. Enable by cycling with OPT=-dTEST_WIN32_SEH.
|
12 jaren geleden |
nickysn
|
85e1f444c5
* is_ecx_used modified to only check the callee side, but after a call to
|
12 jaren geleden |
nickysn
|
fbca7ee2cb
* check callerside if calleeside isn't available in is_ecx_used. Based on the
|
12 jaren geleden |
nickysn
|
a0723ccfd5
* also check if ECX is nonvolatile in is_ecx_used. Not strictly necessary for the current set of i386 calling conventions, but good as an extra safety precaution in case new calling conventions are added or the code is adapted and used on other platforms.
|
12 jaren geleden |
nickysn
|
378afb69b2
* optimization in tcg386.g_intf_wrapper: use the much more efficient case 1
|
12 jaren geleden |
nickysn
|
aca22a59f7
* optimizations in tcg386.g_copyvaluepara_openarray in order to avoid the
|
12 jaren geleden |
nickysn
|
bd0585274e
* tsettings.enablecld converted to a targetswitch ts_cld
|
12 jaren geleden |
nickysn
|
52fcc0a407
+ added a new x86-specific compiler option 'enablecld', which controls whether
|
12 jaren geleden |
nickysn
|
5c46e6f474
* emit a cld instruction before the rep movsXX in tcg386.g_copyvaluepara_openarray
|
12 jaren geleden |
sergei
|
5c4abfa75a
+ Implemented saving/restoring registers using PUSH/POP instructions on i386 targets with non-fixed stack. Provides some advantage in code size (e.g. the compiler becomes about 20KBytes smaller).
|
12 jaren geleden |
florian
|
94cf650d9a
* use lea to adjust stack pointer, this is equal or faster on all modern CPUs than add/sub
|
12 jaren geleden |
paul
|
51825b6f2e
compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation)
|
12 jaren geleden |
pierre
|
5b5a5ab7af
+ Add EXTDEBUG warning if pi_needs_got was not set in pass_1
|
13 jaren geleden |
Jonas Maebe
|
b1dc518ac4
* removed systems_need_16_byte_stack_alignment and use target_info.stackalign instead
|
13 jaren geleden |
florian
|
3a9e3991be
* the switch -Oouseebp allows the i386 compiler to use ebp as normal register
|
13 jaren geleden |
Jonas Maebe
|
d6066ed51a
* fixed compilation for i386/m68k after r21878/21879
|
13 jaren geleden |