summaryrefslogtreecommitdiff
path: root/compiler/nld.pas
Commit message (Expand)AuthorAgeFilesLines
* --- Merging r39877 into '.':marco2018-11-121-1/+2
* * also check for nf_assign_done_in_right flag after typechecking the right sidesvenbarth2018-05-251-0/+8
* + new flag ra_different_scope: used if a node tree is marked as non-regable i...florian2018-04-041-2/+2
* + support for <dyn. array>+<dyn. array>, resolves #30463florian2018-03-041-0/+7
* + add putboolean and getboolean convenience methods to tentfilesvenbarth2018-01-141-4/+4
* * use an enum instead of integer constants to represent inline numbersnickysn2017-05-101-1/+1
* * removed unused unitsflorian2017-05-091-2/+2
* * tarrayconstructornode: force conversion to set if there's a range node in t...svenbarth2017-05-041-1/+1
* * keep track of allow_array_constructor as part of the array constructor nodesvenbarth2017-05-041-0/+2
* * tassignmentnode.pass_typecheck: also allow "dynarray := []" in addition to ...svenbarth2017-05-041-2/+9
* + tarrayconstructornode: add utility method has_range_node to check whether t...svenbarth2017-05-041-0/+20
* * tarrayconstructornode.pass_typecheck: set elementdef of the arraydef only a...svenbarth2017-05-041-1/+1
* * moved the conversion of "x:=x op k" to inline nodes to a separate optimizationnickysn2017-04-261-213/+0
* * fixed the missing warnings for unused variables at -O3, when one of the newnickysn2017-04-111-15/+15
* + perform the "i:=i +/-/and/or/xor k" optimization when there are two typecastsnickysn2017-04-111-3/+56
* + perform the "i:=-i" / "i:=not i" optimization even when there are typecastsnickysn2017-04-101-3/+34
* * fixed a memory leak in the "i:=-i" / "i:=not i" optimizationnickysn2017-04-101-2/+1
* - remove whitespace, was inserted by accidentnickysn2017-04-101-2/+0
* * at -O3 optimization level, convert "i:=not i" and "i:=-i" to the newnickysn2017-04-091-0/+25
* * at -O3 level, convert i:=i and/or/xor k to the new in_[and/or/xor]_assign_x_ynickysn2017-03-291-13/+54
* * do +/-/pred/succ to inc/dec optimizations only at an appropriate optimziati...florian2017-03-121-55/+61
* Avoid use of getcopy method for i:=i+/i k optimizationpierre2017-03-111-14/+19
* * copy loadnodeflags in tloadnode.dogetcopy as wellflorian2017-03-101-1/+1
* * replace i:=i+k/i:=k+i/i:=i-k (integer only, for now; later we can also do t...nickysn2017-03-091-1/+36
* + more restrictions on pred/succ to dec/inc optimizationflorian2016-11-061-2/+3
* * make more use of nf_internal to avoid range check errorsflorian2016-11-051-1/+1
* + replace i:=succ/pred(i) by inc/dec(i)florian2016-11-051-0/+19
* * don't attempt to load the VMT of a niln when taking the address of ajonas2016-10-071-1/+2
* * don't increase refcounts for variants assigned to (ti_)const nodes, fixesjonas2016-09-061-0/+1
* * when taking the address of a class method via an instance, create a procvarjonas2016-08-301-1/+9
* * when assigning a value to a temp marked as ti_const, do not immediatelyjonas2016-08-121-0/+1
* * always set the resultdef for variant array constructors correctly, so wejonas2015-11-041-3/+2
* - removed variable notification support, it's not used and superceded byjonas2015-10-021-5/+1
* * take care of nf_internal when doing range checking and inserting type conve...florian2015-08-311-2/+6
* * changed getpointerdef() into a tpointerdef.getreusable() class methodjonas2015-06-221-1/+1
* * set the type of the hidden $vmt parameter to the correct classrefdef andjonas2015-05-311-5/+0
* - removed most special handling of self (the self parameter has had thejonas2015-05-311-15/+12
* * keep track of the reason why a loadparentfpnode has been created: tojonas2015-02-231-2/+2
* + support overriding tdef/tsym methods with target-specific functionality:jonas2014-03-291-3/+3
* Extract tdef.is_related plus its overrides in tobjectdef, trecorddef and tstr...svenbarth2013-10-251-1/+1
* * keep managed types in registers if possible. Under certain circumstances (i...florian2013-06-231-1/+2
* + Determine early (before pass 2) whether managed parameters/locals/temps wil...sergei2013-06-021-0/+3
* * reject assignments to vecn[rangen] (mantis #22941)jonas2012-09-211-1/+5
* * cleanup some unused units from uses clausesflorian2012-09-211-3/+3
* * fix expectlocs for method pointersflorian2012-09-061-1/+1
* * fixed internalerror after invalid type node in subscript nodejonas2012-07-151-2/+2
* * merged trunk up to r20882jonas2012-04-151-41/+124
|\
| * * fully compare typenodes and rttinodes in their docompare() methodsjonas2012-03-251-2/+6
| * * give an error when trying to take address of a global label declared injonas2012-03-101-1/+5
| * * Changed code generation for assignments of managed types, it now generates ...sergei2012-01-191-29/+50