svenbarth
|
72c595eefe
+ implement support for Insert() for dynamic arrays; the parameter that is inserted can be a dynamic or static array of the same type, an array constructor or a single element of the arrays type; all that is determined based on the second type
|
8 år sedan |
nickysn
|
a7ca75a4b6
* use current node's localswitches field for checking whether range and overflow
|
8 år sedan |
nickysn
|
efc5e339d0
* use an enum instead of integer constants to represent inline numbers
|
8 år sedan |
florian
|
b1dff29cbf
* removed unused units
|
8 år sedan |
nickysn
|
987cf2a9cf
* fixed a bug in the maxqword check in the Rol/RorQWord(maxqword,x)->maxqword
|
8 år sedan |
nickysn
|
f65f0b125a
+ optimize sar(0,x) to 0 and sar(-1,x) to -1
|
8 år sedan |
nickysn
|
c028362f31
* added the missing pop directive after the push directive in handle_const_rox
|
8 år sedan |
nickysn
|
855cd616f0
+ optimize rol(0, x) and ror(0, x) to 0; also optimize the case with all ones,
|
8 år sedan |
nickysn
|
29429cca3c
+ mask the shift/rotate count value in the rol/ror/sar inline nodes, before
|
8 år sedan |
nickysn
|
b17d97050f
+ also simplify rol(x,0) and ror(x,0) to x
|
8 år sedan |
nickysn
|
8ac84ce43a
+ simplify sar(x,0) to x
|
8 år sedan |
nickysn
|
d8ec0eff8e
+ implemented inline code generation for 64-bit sar (the SarInt64 intrinsic) on
|
8 år sedan |
nickysn
|
5393daa994
+ added compile time const evaluation for Bsf/Bsr(const) as well
|
8 år sedan |
nickysn
|
32395bbcbb
+ added compile time const evaluation optimization for PopCnt(const)
|
8 år sedan |
nickysn
|
d7c8a081a1
+ enable using the cg64 ops OP_SHR/OP_SHL/OP_SAR on i386 for implementing the
|
8 år sedan |
nickysn
|
b14f277e8f
+ use rtl helpers for 64-bit shl/shr/sar/rol/ror modify in place operations, on
|
8 år sedan |
nickysn
|
f514657e45
+ implemented the sar/shl/shr/rol/ror inline modify-in-place nodes; the actual
|
8 år sedan |
nickysn
|
8d885ffde6
+ write the inlinenumber of inline nodes in the node tree
|
8 år sedan |
nickysn
|
256dc546ac
+ implemented the in_neg_assign_x and in_not_assign_x inline nodes, which will
|
8 år sedan |
nickysn
|
fc59649a98
+ added inline nodes for handling and/or/xor in place (i.e. x:=x op y, where
|
8 år sedan |
florian
|
6d6a45c034
* add/sub nodes with nf_internal set should not do overflow checking, resolves #30889
|
8 år sedan |
florian
|
a705525e9b
* allow prec/succ on non-consecutive enums if pred/succ are generated internally
|
8 år sedan |
florian
|
0bc1e7e23b
* "inherit" the nf_internal flag in tinlinenode.getaddsub_for_incdec
|
8 år sedan |
florian
|
64e2c2b914
+ simplify succ/pred(<const>/x+/-x<const>)
|
8 år sedan |
florian
|
000cffa8e3
* make more use of nf_internal to avoid range check errors
|
8 år sedan |
florian
|
e4d60b2048
* factored out tinlinenode.getaddsub_for_incdec from first_IncDec so it can be used independently
|
8 år sedan |
florian
|
9c81e90e08
+ extension to iso mode: reset/rewrite can take a file name as a second parameter
|
8 år sedan |
nickysn
|
d6007d650a
* use tpointerdef.pointer_arithmetic_int/uint_type in tinlinenode.pass_typecheck
|
8 år sedan |
nickysn
|
e847971477
* use the actual ValSInt type from the system unit, instead of ptrsinttype when
|
8 år sedan |
svenbarth
|
26a2ddd3d6
+ extend Delete() intrinsics with Delphi compatible support for dynamic arrays. Also fixes Mantis #30306
|
9 år sedan |