Commit Graph

42072 Commits

Author SHA1 Message Date
florian
fc7dc9e54c * do cse after the init/final code has been inserted, this might enable new cse opportunities
git-svn-id: trunk@26623 -
2014-01-30 17:19:01 +00:00
lacak
c4a981fa8e fcl-db: bufdataset: TBufDataset autoincrement fields (ftAutoInc) are not restarted when dataset is closed and again reopened. See bug #25628
git-svn-id: trunk@26622 -
2014-01-30 09:03:40 +00:00
lacak
03e76b5f8b fcl-db: bufdataset: Check if blob field is not ReadOnly when blob stream is created (in bmWrite mode). Bug #25648
git-svn-id: trunk@26621 -
2014-01-30 08:19:52 +00:00
Jeppe Johansen
257b1affaa Fixed previous fix of LsrAnd2Lsr optimization.
Added an extra condition for <ARMv6 processors in MLA/MLS optimization.

git-svn-id: trunk@26620 -
2014-01-29 22:22:58 +00:00
Jeppe Johansen
f773334374 Fixed LsrAnd2Lsr peephole optimization for ARM.
git-svn-id: trunk@26619 -
2014-01-29 21:35:28 +00:00
Jonas Maebe
859676d7d3 * fixed r26519 for darwin/x86-64, see comments (mantis #25644)
git-svn-id: trunk@26618 -
2014-01-29 21:26:45 +00:00
Jonas Maebe
c05da62b0e * detect static data use by record methods and methods of nested classes/
records, so we avoid inlining them (mantis #25598)

git-svn-id: trunk@26617 -
2014-01-29 21:26:38 +00:00
Jonas Maebe
b611882337 * some minor formatting fixes
git-svn-id: trunk@26616 -
2014-01-29 19:26:17 +00:00
Jonas Maebe
a6d28b5630 * pass on the "eval" state (whether or not subexpressions should be evaluated)
when encountering a "(" in a preprocessor expression (broken after r25465,
    mantis #25296)

git-svn-id: trunk@26615 -
2014-01-29 19:26:12 +00:00
Jonas Maebe
2f741121e9 * don't give an internal error when freeing an error token in the preprocessor
(mantis #25573)

git-svn-id: trunk@26614 -
2014-01-29 19:26:03 +00:00
Jeppe Johansen
3b4f59c316 Fixed MLA/MLS peephole optimization and moved it to the generic ARM peephole optimizer.
git-svn-id: trunk@26613 -
2014-01-29 17:28:13 +00:00
Jeppe Johansen
184baa3f99 Fixed invalid peephole optimization of ADD/SUB(SP) instructions for ARMv7*M targets.
git-svn-id: trunk@26612 -
2014-01-29 17:12:57 +00:00
lacak
1034503c5d fcl-db: bufdataset: improve rev.26604. do not use Field.SetData in BlobStream constructor, because SetData also calls Validate and generates deFieldChange. Which is too early in constructor. These events must be generated after data will be written (in fact deFieldChange is called in BlobStream destructor and Validate is not called in current implementation).
Instead of Field.SetData I use direct write to record buffer.
Bug #25648

git-svn-id: trunk@26611 -
2014-01-29 09:22:37 +00:00
Jonas Maebe
2adfb6cdda * don't endlessly recurse when printing the typename of a procvardef that
refers to itself via a pointerdef in its parameter or result type(s)
    (mantis #25551)

git-svn-id: trunk@26610 -
2014-01-28 20:14:31 +00:00
Jonas Maebe
6d5bef3e1d * removed code duplication in tpointerdef.GetTypeName
git-svn-id: trunk@26609 -
2014-01-28 20:14:28 +00:00
Jonas Maebe
89d97a3c2e * only consider tc_pointer_to_array typeconversions to determine whether a
pointer->array type conversion implies an implicit dereference operation
    (mantis #25622)

git-svn-id: trunk@26608 -
2014-01-28 20:14:24 +00:00
Jonas Maebe
9c4505045b * fixed formatting
git-svn-id: trunk@26607 -
2014-01-28 20:14:10 +00:00
masta
9e0af11ad8 Rerun the peephole optimizer after removing the current instruction.
This lets the optimizer pickup on more possible optimizations.

git-svn-id: trunk@26606 -
2014-01-28 16:00:51 +00:00
masta
57ff589ec7 Always set p to the next instruction after removing p from asml.
Some time ago we introduced GetNextInstructionUsingReg, which might
return an instruction a couple of instructions away from our current
location. Most of the code then just returned the new instruction (hp1)
instead of the instruction following p. This could prevent the peephole
optimizer from finding possible optimizations.

git-svn-id: trunk@26605 -
2014-01-28 16:00:47 +00:00
lacak
8e6fcd876c fcl-db: bufdataset: when data are written to BLOB field (using TBufBlobStream) assign new write blob buffer to BLOB field in record buffer. So new data are there before Post.
(setting FieldByName('blob').AsString := '...' does not save data to field until record is posted)
Bug #25648

git-svn-id: trunk@26604 -
2014-01-28 13:30:27 +00:00
masta
c644503daf Add MovLdr2Ldr peephole optimizer for ARM
The existing LdrLdr2LdrMov optimizer will generate a lot of
sequences like this:

ldr regA, [...]
mov regB, regA
ldr regB, [regB, ...]

this now gets changed to

ldr regA, [...]
ldr regB, [regA, ...]

this saves an instruction and might open up more possibilities for the load scheduler.

git-svn-id: trunk@26603 -
2014-01-28 13:20:35 +00:00
masta
77d12f61a2 Handle LDRD and STRD correctly in RegInInstruction for ARM
LDRD and STRD only have the first even numbered register in their instruction operands,
this additional code will also check for the register following it.
Example:
  ldrd r0, [r13]

The old code will only detect r0 as in use, not the implicit r1.

git-svn-id: trunk@26602 -
2014-01-28 13:20:26 +00:00
lacak
b55c4eec60 fcl-db: bufdataset: formatting
git-svn-id: trunk@26601 -
2014-01-28 13:20:16 +00:00
michael
b5a2b3860b * Added AddEmptyStrings to ExtractStrings (bug 25633)
git-svn-id: trunk@26600 -
2014-01-28 08:38:29 +00:00
michael
b023e30164 * Only resize TStringStream.Datastring in case the string will grow because of the write operation
git-svn-id: trunk@26599 -
2014-01-28 08:37:49 +00:00
pierre
754790f641 Use new static library not supproted message
git-svn-id: trunk@26598 -
2014-01-27 22:29:07 +00:00
pierre
6feab20b01 regenerated after: Add different message for static libraary not supported
git-svn-id: trunk@26597 -
2014-01-27 22:28:29 +00:00
pierre
b4d0cf5593 * Add different message for static libraary not supported
git-svn-id: trunk@26596 -
2014-01-27 22:26:29 +00:00
sergei
ff3fe06af9 * Changed condition around declaration of 'cgpara' to be the same as around its usage.
- Removed one of $ifdef's.

git-svn-id: trunk@26595 -
2014-01-27 01:41:51 +00:00
nickysn
1faf138667 + fixed mistyped call to BsfWord in test tbsx1.pp
git-svn-id: trunk@26594 -
2014-01-26 23:50:30 +00:00
nickysn
4c27c42f35 + added asm optimized BSF/BSR routines for i8086 by Max Nazhalov
git-svn-id: trunk@26593 -
2014-01-26 23:12:32 +00:00
nickysn
5832c323b1 - don't define FPC_HAS_INTERNAL_BSF and FPC_HAS_INTERNAL_BSR on i8086. BSF/BSR
is 386+ only and the internal handling was not used anyway on i8086, due to
  some nested defines in systemh.inc missing on i8086.

git-svn-id: trunk@26592 -
2014-01-26 20:02:15 +00:00
nickysn
48edf78003 * make BSR/BSF return byte, instead of cardinal on 16/8-bit targets
git-svn-id: trunk@26591 -
2014-01-26 19:56:31 +00:00
nickysn
5e0359d389 * 16/8-bit ALU fix for 64-bit pred/succ after r26580
git-svn-id: trunk@26590 -
2014-01-26 15:44:58 +00:00
Tomas Hajny
444fdc818b * corrected header (cosmetic)
git-svn-id: trunk@26589 -
2014-01-26 14:26:28 +00:00
florian
48ae2d215a + concatcopy variants using sse and avx, only activated if optimization for size is done because at least on an i7-4770 it has shown no benefit
git-svn-id: trunk@26588 -
2014-01-26 12:37:54 +00:00
florian
060aa2a7fe + SSE and AVX unit cpu flags
git-svn-id: trunk@26587 -
2014-01-26 12:37:52 +00:00
florian
2ec5a649d7 * set Ch_* for more operations
* Ch_* flags for VMOVSD and VMOVSS are now set for the 2 operand variants

git-svn-id: trunk@26586 -
2014-01-26 12:37:50 +00:00
michael
92187d7045 * Fix to fill in Accept HTTP header (By Mark van Ham, bug #25621)
git-svn-id: trunk@26585 -
2014-01-26 12:29:26 +00:00
florian
0ea0b5c34d * quote parameters
git-svn-id: trunk@26584 -
2014-01-26 11:40:46 +00:00
nickysn
e83ef05b74 - disable cs_opt_nodecse from -O2 on i8086, because it breaks building packages
since r26579

git-svn-id: trunk@26583 -
2014-01-26 02:08:08 +00:00
florian
c44b5d1043 * take care of tempinitcode when creating def information for tempcreatenodes
git-svn-id: trunk@26581 -
2014-01-25 09:40:51 +00:00
florian
cb8100bccf * do not reuse registers in prec/succ
git-svn-id: trunk@26580 -
2014-01-25 09:40:48 +00:00
florian
1b355ce1e4 * apply cse to all non-regable variables if possible
git-svn-id: trunk@26579 -
2014-01-25 08:50:13 +00:00
michael
03b859947f * Fixed bug ID #25263
git-svn-id: trunk@26578 -
2014-01-24 16:49:07 +00:00
michael
fa4aa67f35 * Fixed bug ID #24674
git-svn-id: trunk@26577 -
2014-01-24 15:14:02 +00:00
michael
9bfe0b5e2a * Fix bug ID #25262
git-svn-id: trunk@26576 -
2014-01-24 15:03:19 +00:00
michael
1521541bf4 * Forgot to add this file prior to commit
git-svn-id: trunk@26575 -
2014-01-24 14:21:29 +00:00
michael
d3ebc96dc8 * Fix bug ID #25412
git-svn-id: trunk@26574 -
2014-01-24 13:55:11 +00:00
michael
7a3cd62e3a * Patch from Dennis (Bug ID 25534) to add some APR functions to the interface
git-svn-id: trunk@26573 -
2014-01-24 10:40:22 +00:00