nickysn
|
f29492bdea
* at -O3 level, convert i:=i and/or/xor k to the new in_[and/or/xor]_assign_x_y
|
8 years ago |
florian
|
b55cb246da
* do +/-/pred/succ to inc/dec optimizations only at an appropriate optimziation level
|
8 years ago |
pierre
|
a7c7319352
Avoid use of getcopy method for i:=i+/i k optimization
|
8 years ago |
florian
|
a679cd4e37
* copy loadnodeflags in tloadnode.dogetcopy as well
|
8 years ago |
nickysn
|
bd48a71a98
* replace i:=i+k/i:=k+i/i:=i-k (integer only, for now; later we can also do this for pointers too) by inc/dec(i,k)
|
8 years ago |
florian
|
a27b07b342
+ more restrictions on pred/succ to dec/inc optimization
|
8 years ago |
florian
|
000cffa8e3
* make more use of nf_internal to avoid range check errors
|
8 years ago |
florian
|
509f6839fe
+ replace i:=succ/pred(i) by inc/dec(i)
|
8 years ago |
Jonas Maebe
|
233622157c
* don't attempt to load the VMT of a niln when taking the address of a
|
8 years ago |
Jonas Maebe
|
2d051f89f7
* don't increase refcounts for variants assigned to (ti_)const nodes, fixes
|
9 years ago |
Jonas Maebe
|
f64556c125
* when taking the address of a class method via an instance, create a procvar
|
9 years ago |
Jonas Maebe
|
18580d3069
* when assigning a value to a temp marked as ti_const, do not immediately
|
9 years ago |
Jonas Maebe
|
9914f02faa
* always set the resultdef for variant array constructors correctly, so we
|
9 years ago |
Jonas Maebe
|
95927665ce
- removed variable notification support, it's not used and superceded by
|
10 years ago |
florian
|
63f828d54e
* take care of nf_internal when doing range checking and inserting type conversions in tassignmentnode.pass_typecheck
|
10 years ago |
Jonas Maebe
|
f402b0d7df
* changed getpointerdef() into a tpointerdef.getreusable() class method
|
10 years ago |
Jonas Maebe
|
dd3d0ae5bc
* set the type of the hidden $vmt parameter to the correct classrefdef and
|
10 years ago |
Jonas Maebe
|
822b943d08
- removed most special handling of self (the self parameter has had the
|
10 years ago |
Jonas Maebe
|
5bb89cc2f0
* keep track of the reason why a loadparentfpnode has been created: to
|
10 years ago |
Jonas Maebe
|
b57c95043f
+ support overriding tdef/tsym methods with target-specific functionality:
|
11 years ago |
svenbarth
|
798bb91e90
Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstringdef into a new function def_is_related in unit defcmp.
|
11 years ago |
florian
|
541d67771b
* keep managed types in registers if possible. Under certain circumstances (if they don't require init/final code,
|
12 years ago |
sergei
|
4e873d0561
+ Determine early (before pass 2) whether managed parameters/locals/temps will cause the procedure to reference RTTI labels and, therefore, need GOT.
|
12 years ago |
Jonas Maebe
|
5ea03973d3
* reject assignments to vecn[rangen] (mantis #22941)
|
13 years ago |
florian
|
ca5fabda6d
* cleanup some unused units from uses clauses
|
13 years ago |
florian
|
e18a9cccaa
* fix expectlocs for method pointers
|
13 years ago |
Jonas Maebe
|
b1d00b66ac
* fixed internalerror after invalid type node in subscript node
|
13 years ago |
Jonas Maebe
|
aee5380ae0
* merged trunk up to r20882
|
13 years ago |
Jonas Maebe
|
26754a3f9f
* fully compare typenodes and rttinodes in their docompare() methods
|
13 years ago |
Jonas Maebe
|
5c56b1bc3d
* give an error when trying to take address of a global label declared in
|
13 years ago |