Commit Graph

42057 Commits

Author SHA1 Message Date
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
michael
e164a16171 * Reworked TUploadedFile.Stream
git-svn-id: trunk@26572 -
2014-01-24 09:44:36 +00:00
nickysn
be85998313 * fixes in optimize_op_const:
* Do the sign extension of the 'a' parameter internally in a local variable,
    so that it does not become visible outside the function.
  * Use a zero extended version of 'a' (instead of sign extension) for the
    parameter of ispowerof2().

git-svn-id: trunk@26571 -
2014-01-23 14:05:11 +00:00
Károly Balogh
2791e8ad15 use optimized cg loading functions in 64bit compares instead of hardcoded move.ls (move.l #X,dn is 48bit long, clr.l/moveq.l is 16bit long)
git-svn-id: trunk@26570 -
2014-01-23 03:03:44 +00:00
Károly Balogh
667ec17cae tiny optimization for clearing address regs
git-svn-id: trunk@26569 -
2014-01-23 02:29:45 +00:00
Károly Balogh
047395df5f implemented add/sub ops in a_op_reg_ref, since these are used often. also fixed up reference handling in a_op_const_ref a bit
git-svn-id: trunk@26568 -
2014-01-23 02:07:24 +00:00
Károly Balogh
cd4bb364e5 reenabled and fixed up tcg68k.op_const_ref a bit
git-svn-id: trunk@26567 -
2014-01-22 23:15:01 +00:00
sergei
534ecbda9f * SPARC: r26561 caused a_op_const_reg_reg used for zero-extending 8-bit values to be optimized away. Fixed by replacing it with an explicit instruction.
git-svn-id: trunk@26566 -
2014-01-22 21:37:37 +00:00
masta
0736bf4ded Try to change typical constant AND-masking operations into shifts for ARM
If the constant only contains a string of ones starting from lsb or msb
we can shift out the bits accordingly, opening up some possibilities for
the peephole optimizer to fold at least one shift into another
operation.

git-svn-id: trunk@26565 -
2014-01-22 20:21:02 +00:00
svenbarth
a2f3f0d269 Explicitely add WinSock2 unit to rtl-extra so that it is installed as well.
git-svn-id: trunk@26564 -
2014-01-22 16:05:01 +00:00
michael
72d43272ac * More clear and flexible way to process content from stdin
git-svn-id: trunk@26563 -
2014-01-22 15:35:08 +00:00
michael
3d892683a2 * Cleaner interface to set request content. Allow not reading content.
git-svn-id: trunk@26562 -
2014-01-22 15:15:52 +00:00
nickysn
85dd9e5789 + added a size parameter to optimize_op_const and do a sign extension of the 'a' parameter up from the specified size, so that things like (i and $ffffffff) get optimized away the same way as (i and -1)
git-svn-id: trunk@26561 -
2014-01-22 15:00:34 +00:00
michael
bef2957e0b * Use global class vars to create handler/request/response. Avoids having to do 2 overrides
git-svn-id: trunk@26560 -
2014-01-22 14:55:14 +00:00
Károly Balogh
e6db32e192 + add missing "else" in r26558 to fix build
git-svn-id: trunk@26559 -
2014-01-22 09:33:50 +00:00
Tomas Hajny
8242d060ce * correct name for OS/2 and EMX import libraries
git-svn-id: trunk@26558 -
2014-01-22 00:50:41 +00:00