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 years ago |
nickysn
|
378afb69b2
* optimization in tcg386.g_intf_wrapper: use the much more efficient case 1
|
12 years ago |
nickysn
|
aca22a59f7
* optimizations in tcg386.g_copyvaluepara_openarray in order to avoid the
|
12 years ago |
nickysn
|
bd0585274e
* tsettings.enablecld converted to a targetswitch ts_cld
|
12 years ago |
nickysn
|
52fcc0a407
+ added a new x86-specific compiler option 'enablecld', which controls whether
|
12 years ago |
nickysn
|
5c46e6f474
* emit a cld instruction before the rep movsXX in tcg386.g_copyvaluepara_openarray
|
12 years ago |
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 years ago |
florian
|
94cf650d9a
* use lea to adjust stack pointer, this is equal or faster on all modern CPUs than add/sub
|
12 years ago |
paul
|
51825b6f2e
compiler: change ret_in_param to accept tabstractprocdef instead of tproccalloption to allow check more options (required for record constructor implementation)
|
12 years ago |
pierre
|
5b5a5ab7af
+ Add EXTDEBUG warning if pi_needs_got was not set in pass_1
|
13 years ago |
Jonas Maebe
|
b1dc518ac4
* removed systems_need_16_byte_stack_alignment and use target_info.stackalign instead
|
13 years ago |
florian
|
3a9e3991be
* the switch -Oouseebp allows the i386 compiler to use ebp as normal register
|
13 years ago |
Jonas Maebe
|
d6066ed51a
* fixed compilation for i386/m68k after r21878/21879
|
13 years ago |
pierre
|
b9f8934d7e
* Fix for go32v2 specific failure in test/cg/tcalval5 with -Aas option
|
13 years ago |
sergei
|
78c0215447
Preparations to native threadvar support:
|
13 years ago |
florian
|
ce76ce8769
* fixed wrong tmpref usage as mentioned by Pierre on the mailing list
|
14 years ago |
florian
|
69e7d8b02f
* generate correct PIC in tcg386.a_loadaddr_ref_cgpara, resolves #19464
|
14 years ago |
florian
|
77f2d6cc0d
* introduce usage of TCGInt in the code generator units
|
14 years ago |
svenbarth
|
35b47e491c
Rebase to revision 17306
|
14 years ago |
sergei
|
c6accaba5c
* tcg386.g_copyvaluepara_openarray, improved generated code:
|
14 years ago |
svenbarth
|
96116a6c3a
Several adjustments because virtual methods in helpers are just normal methods and a VMT isn't generated for them either.
|
14 years ago |
paul
|
56bf42de57
compiler: implement record methods and class methods:
|
14 years ago |
Jonas Maebe
|
8b0301409a
+ i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and
|
15 years ago |
Jonas Maebe
|
f13f6627c4
* moved use_fixed_stack from cgutils to a method in paramgr so it can
|
15 years ago |
joost
|
65ab1e820b
* Safecall on linux/i386 now behaves like cdecl plus hidden exception support.
|
15 years ago |
joost
|
181804e4b9
* Fixed passing parameters on the stack to cdecl interface-methods. The 'call'
|
15 years ago |
Jonas Maebe
|
574d7eb70d
* use call/pop instead of call/mov/ret to get the GOT pointer on
|
15 years ago |
Jonas Maebe
|
283018a3bf
* changed tprocdef.funcretloc[] from a tlocation into a tcgpara so it can
|
15 years ago |
Jonas Maebe
|
9bc15a5f61
* renamed a_param_* to a_load_*_cgpara
|
15 years ago |
florian
|
515774b864
* merged armthum branch
|
16 years ago |