Jonas Maebe
|
7c21cba1e2
* migrated g_copyshortstring, g_incrrefcount and g_array_rtti_helper to thlcg
|
13 anni fa |
Jonas Maebe
|
7a0ae38700
+ also specify the parameter def when allocating a parameter via
|
13 anni fa |
Jonas Maebe
|
708a2532fc
* consistently define empty saved_mm_registers arrays as containing a single
|
13 anni fa |
Jonas Maebe
|
f2c82e32cd
- removed g_indirect_sym_load() from hlcgobj/hlcg2ll because this cgobj
|
13 anni fa |
Jonas Maebe
|
edd42aa42a
* moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for
|
13 anni fa |
Jonas Maebe
|
641b259aed
* adjusted thlcg.g_rangecheck() implementation so it can be used for all
|
13 anni fa |
Jonas Maebe
|
003a30db6b
- reverted r21246, it breaks tcalext3/5 on x86
|
13 anni fa |
Jonas Maebe
|
9568693664
* removed superfluous sign extension from a_load_subsetreg_reg() (the value
|
13 anni fa |
Jonas Maebe
|
834026bfb5
* synchronised with trunk up to r21067
|
13 anni fa |
sergei
|
5f93d9992a
* Ignore FPU/MM registers in tcg.(de)allocallcpuregisters if they are not used in current procedure. This is consistent with logic of tcgcallnode and removes a lot of useless xmm regallocs on win64.
|
13 anni fa |
Jonas Maebe
|
b512744bfb
* don't overwrite the reg to load in a parameter in tcg.a_load_reg_cgpara()
|
13 anni fa |
Jonas Maebe
|
aee5380ae0
* merged trunk up to r20882
|
13 anni fa |
Jonas Maebe
|
dc70db9402
* parameter passing support for AIX:
|
13 anni fa |
Jonas Maebe
|
260958eb45
* changed last parameter of g_indirect_sym_load() to a set and also
|
13 anni fa |
Jonas Maebe
|
dabcfc2806
+ LOC_(C)LOC_SUBSETREF/G support for tcg.a_loadmm_loc_reg()
|
13 anni fa |
sergei
|
06192a8137
Values of managed variables are never ever used after decrementing reference on the variable, so there is no point of having a 'decrement reference' as a separate operation. We can always do 'finalize', i.e. clear the contents after decref.
|
13 anni fa |
sergei
|
8c9ad67682
+ tcgexitnode,tcgbreaknode,tcgcontinuenode: added possibility to generate specialized code for leaving unwind-protected regions.
|
14 anni fa |
sergei
|
a32fdc3ae6
+ Added a simple helper tcg.g_call, intended to replace allocallcpuregisters+a_call_name+deallocallcpuregisters sequence which is used all over the place.
|
14 anni fa |
sergei
|
6e23565edf
+ Initialize/finalize variants using dedicated helpers, produces both smaller (no RTTI loading necessary) and faster (direct path taken) code.
|
14 anni fa |
florian
|
4868b09844
* patch by alexvin to replace $ifopt by $push/$pop, resolves #20332
|
14 anni fa |
florian
|
6d996bf832
* made a_call_ref of PowerPC generic, we need to allocate a register after all on risc platforms
|
14 anni fa |
Jonas Maebe
|
7f22a2f223
+ support for range checking calculations with hlcgobj
|
14 anni fa |
florian
|
77f2d6cc0d
* introduce usage of TCGInt in the code generator units
|
14 anni fa |
florian
|
fb84cb865b
* rebase to trunk@17295
|
14 anni fa |
florian
|
8cfbb70326
+ generic a_cmp_const_reg_label
|
14 anni fa |
sergei
|
7f62d5cfb0
* tcg.g_array_rtti_helper: if high-value is a constant, handle it without using a register.
|
14 anni fa |
sergei
|
37d5a6c354
* tcg.g_array_rtti_helper(): When converting 'high' to 'length', use an intermediate register to do the increment, so that the original value of 'high' parameter is preserved regardless of platform and optimization settings. Should fix regressions introduced by r17068.
|
14 anni fa |
sergei
|
54bc8efa0b
* Fixed reference counting of open array parameters passed by value. RTTI of the array itself is useless in this case, as it does not provide correct element count. Now using dedicated helpers which take RTTI of array element and the element count. Resolves #18859.
|
14 anni fa |
florian
|
726b24c591
* (d)allocallcpuregisters must not handle fpu registers on avr
|
14 anni fa |
florian
|
26fbfaf5a7
+ introduce the usage of asizeint/asizeuint for cpus with sizeof("alu")<>sizeof(pointer)
|
14 anni fa |