florian
45c70ec81c
* patch by Nico Erfurth: Support the usage of BIC instead of AND on ARM
...
BIC clears the specified bits, while AND keeps them. The usage of BIC
allows a broader range of shifterconsts to be used on the ARM cpu, often
saving a cycle.
Previously code like:
Data:=Data and $FFFFFF00
would result in
mvn r1, #255
and r0, r0, r1
This patch changes this to
bic r0, r0, #255
git-svn-id: trunk@21510 -
2012-06-06 19:45:26 +00:00
florian
fefc130efc
* patch by Nico Erfurth: Handle BIC properly in taicpu.spilling_get_operation_type
...
BIC was handled as a read only operation, which caused it to overwrite
live register content sometimes.
git-svn-id: trunk@21509 -
2012-06-06 19:44:53 +00:00
florian
8cae4c9f23
* patch by Nico Erfurth: Fix for MovStrMov Peephole optimizer on ARM
...
The loop checked for the wrong instruction for .opcode = A_STR. Making
the whole optimizer non functional but at least not destructive.
git-svn-id: trunk@21508 -
2012-06-06 19:44:20 +00:00
florian
83fb4c289d
* patch by Nico Erfurth: Implement FoldShiftProcess Peephole optimizer for ARM
...
This optimizer folds shift/roll operations into following data
instructions.
It will change code like:
mov r0, r0, lsl #16
add r1, r0, r1
into
add r1, r1, r0, lsl #16
Source registers will be reordered when necessary, also SUB/SBC will be
replaced with RSB/RSC and vice versa when reordering is required.
It could be expanded to support more operations like LDR/STR.
git-svn-id: trunk@21507 -
2012-06-06 19:43:36 +00:00
florian
5393efb128
* patch by Nico Erfurth: Support A_MOV and A_MVN in RedundantMovProcess
...
This changes the ARM Peephole optimizer RedundantMovProcess to also
recognize and modify something like the following sequence.
mov r0, r1
mov r0, r0, lsl #8
this would be changed into
mov r0, r1, lsl #8
git-svn-id: trunk@21506 -
2012-06-06 19:43:05 +00:00
florian
4ea1d22c5a
* patch by Nico Erfruth: Support BX for function returns on armv5+
...
BX is supported from ARMv4T onwards, but i don't have a armv4t device to
test it.
Using BX instead of mov pc,lr allows for a better pipeline utilization
by enabling the CPUs branch predictor to work properly.
git-svn-id: trunk@21505 -
2012-06-06 19:42:26 +00:00
Jonas Maebe
12553a9367
* don't give -CO warnings or hints for ordinal constants, because those
...
are already checked by range checking (and were checked wrongly by -CO
checking) (mantis #19581 )
git-svn-id: trunk@21504 -
2012-06-06 19:28:22 +00:00
Jonas Maebe
ca29bb10af
- zapped some gremlins in comments
...
git-svn-id: trunk@21503 -
2012-06-06 18:55:38 +00:00
Jonas Maebe
3414f91590
* minor reformatting, and removed superfluous assigned test (the value is
...
already used before that test)
git-svn-id: trunk@21502 -
2012-06-06 18:51:14 +00:00
Jonas Maebe
9412d4abd2
* add a reference to the procsym corresponding to the chosen overloaded
...
procdef, so that the unit containing it is marked as "used" (mantis #15966 )
Even better would be if the unit containing the originally found procsym
were not also marked as used, but that would require a significant
rewrite (all symbols found using symboltable helpers are automatically
marked by those routines)
git-svn-id: trunk@21501 -
2012-06-06 18:46:01 +00:00
Jonas Maebe
df99ef17b6
+ mfpvr, mfdcr, mtdcr, mfdec and mtdec opcodes (mantis #18878 )
...
git-svn-id: trunk@21500 -
2012-06-06 18:17:55 +00:00
Jonas Maebe
769a4ecc6a
* reduced complexity/running time of the test
...
git-svn-id: trunk@21499 -
2012-06-06 18:17:36 +00:00
svenbarth
aa0f1bdf26
pdecl.pas, readconstant: If we are parsing a constant declaration in a generic and we encounter an intrinsic then this intrinsic is left as is (thus the node p returned by comp_expr will be a inlinen instead of an expected ordconstn, stringconstn, etc.). Nevertheless we need to create a symbol for the constant (which isn't done otherwise). In the case of SizeOf a constant "0" will be created. This fixes Mantis #21593 .
...
git-svn-id: trunk@21498 -
2012-06-06 15:00:28 +00:00
svenbarth
7332a0f801
ninl.pas, tinlinenode.pass_typecheck: an intrinsic which has a generic type parameter as argument is left as is (e.g. a call) and thus this needs to be respected when typechecking a SizeOf. Fixes Mantis #21592 .
...
git-svn-id: trunk@21497 -
2012-06-06 14:41:12 +00:00
svenbarth
bf9cb352b3
ptype.pas, single_type: If the generic dummy type is used in mode Delphi then generate an error. This fixes Mantis #21363 .
...
git-svn-id: trunk@21496 -
2012-06-06 13:15:18 +00:00
Mattias Gaertner
a5e05d0d65
fpimage: tiff: fixed writing bits per channel
...
git-svn-id: trunk@21494 -
2012-06-06 00:01:41 +00:00
Tomas Hajny
95bb7a9129
* don't check for returned string in case of wildcards and multiple matches (order depends on the underlying filesystem and not guaranteed)
...
git-svn-id: trunk@21493 -
2012-06-05 22:24:57 +00:00
sergei
7d3294b504
* Moved 4 procedures for basic reading/writing TObjSection contents into ogcoff.pas, so they don't have to be reimplemented for every output format.
...
git-svn-id: trunk@21492 -
2012-06-05 19:52:40 +00:00
michael
efe5362670
* Fixed bug #19376 : when quoting, quote character should be doubled
...
git-svn-id: trunk@21491 -
2012-06-05 18:43:55 +00:00
michael
f97c4b7b57
* Applied patch from Reinier Olislaghers to quote memo fields (bug 19759)
...
git-svn-id: trunk@21490 -
2012-06-05 18:35:22 +00:00
Mattias Gaertner
54ba30ec10
fpimage: tiff: write tiles
...
git-svn-id: trunk@21489 -
2012-06-05 18:33:33 +00:00
Jonas Maebe
8329e60d28
* also support running the "full" and "fulldb" targets with -jX by
...
serializing their individual steps
git-svn-id: trunk@21488 -
2012-06-05 14:47:41 +00:00
michael
a0facbf1af
* Applied rename patch from Luiz Americo
...
git-svn-id: trunk@21487 -
2012-06-04 19:04:44 +00:00
sergei
5b035afc9b
* sizeof(tagVariant) should be 24 for 64 bit targets, so it is assignment-compatible with Variant type. Resolves #22050 .
...
git-svn-id: trunk@21486 -
2012-06-04 18:22:36 +00:00
Mattias Gaertner
71f5e86a7f
fcl-image: tiff: register handler, write hostname, maker, model, software
...
git-svn-id: trunk@21485 -
2012-06-04 17:09:38 +00:00
sergei
263b46be86
* ogelf.pas: Changed MaybeSwap* into procedures, makes them more suitable for reuse in the upcoming reader (and reduces amount of copying while writing, too).
...
git-svn-id: trunk@21484 -
2012-06-04 10:27:14 +00:00
Mattias Gaertner
ca0cc29a26
fcl-image: tiff: reading CMYK, handling of unorderd tags, alpha mode 1, multiple pages, tiles
...
git-svn-id: trunk@21483 -
2012-06-04 09:39:09 +00:00
florian
31b1678757
* write parameter refs to ppu (only 1=used; 0=unsed), fixes parameter usage checking of inlined procedures loaded from units
...
git-svn-id: trunk@21482 -
2012-06-03 18:56:44 +00:00
florian
e96dc4204e
* version update
...
git-svn-id: trunk@21481 -
2012-06-03 18:55:44 +00:00
Jonas Maebe
4fe93bbff0
* clarified that you should only clean between test suite runs for the
...
same platform, not between any two runs
git-svn-id: trunk@21480 -
2012-06-03 18:03:39 +00:00
Jonas Maebe
04df0d537e
* more finegrained parallelism support for testsuite runs: the tests are no
...
longer split per directory, but in chunks of 100 tests (configurable via
the new CHUNKSIZE=xxx Makefile parameter), which then all can be checked
in parallel
o dependencies between tests are handled by always putting tests whose
name is the same except for the last character into the same chunk
o as previously, -jx can only be used for the "all" target, other targets
cannot be executed in parallel
o the "units" directory has been renamed "tstunits" because otherwise
"make distclean" will remove it entirely now that the main tests
makefile also compiles a program
git-svn-id: trunk@21479 -
2012-06-03 17:56:28 +00:00
marco
c7a90ef5d2
* if wifexited, pass exitcode unmodified. Bug #22055 , though it doesn't close that.
...
git-svn-id: trunk@21478 -
2012-06-03 16:18:51 +00:00
marco
1edca76490
* Patch from #22183 by Luiz. Fix a copy paste error and
...
change some redundant AS statements to casts. (redundant
because they were found by find for the respective type)
git-svn-id: trunk@21476 -
2012-06-03 14:54:44 +00:00
marco
0b60e0dbcf
* addition of stdole2 and eventsink to winceunits. Patch by Ludo #22157
...
I btw doubt this kind of cross package including of units proper in
fpmake ?
git-svn-id: trunk@21474 -
2012-06-03 14:29:27 +00:00
marco
347ab7651a
* changed delp from unit dos to unit sysutils. (path lengths)
...
git-svn-id: trunk@21472 -
2012-06-03 12:36:56 +00:00
marco
6033d3df0d
* adding a copyright banner and a short description.
...
git-svn-id: trunk@21471 -
2012-06-03 11:25:37 +00:00
marco
bc56239af7
* removed checkcvs. We stopped using CVS 7 years ago, and don't check $Log:'s
...
that often anymore. There is nothing worth keeping from this source (which is by me btw)
git-svn-id: trunk@21470 -
2012-06-03 11:16:17 +00:00
Tomas Hajny
6c6d2489d1
+ test for ExpandFileNameCase added
...
git-svn-id: trunk@21468 -
2012-06-02 22:37:30 +00:00
Tomas Hajny
99a9955195
+ ExpandFileNameCase implementation added
...
git-svn-id: trunk@21466 -
2012-06-02 22:30:08 +00:00
sergei
747cd55b09
* Fixed 64-bit ELF program header definition (field order is different from 32-bit counterpart!)
...
* Factored values used in the ELF header into constants, so they can be reused when reading object files.
* Writing first 16 bytes of ELF header should be endian-neutral.
* Section symbols must have st_name equal to zero, using section shstridx is incorrect because it is an index into .shstrtab, not into .strtab (actually written content is unchanged, because section_write_symbol is called while shstridx is still zero).
git-svn-id: trunk@21455 -
2012-06-02 11:35:12 +00:00
florian
52372a88ca
* arm and x86-64 can do exception handling without a framepointer based stack
...
git-svn-id: trunk@21454 -
2012-06-01 21:32:23 +00:00
florian
15b613a083
* another rule fix
...
git-svn-id: trunk@21453 -
2012-06-01 21:31:14 +00:00
sergei
e41a365f59
* Changed 'var' parameters to 'out' in order to avoid warnings (Mantis #22136 )
...
git-svn-id: trunk@21452 -
2012-06-01 19:57:28 +00:00
pierre
1759d5fc8e
Correctly handle implicitlibs="c gcc"
...
git-svn-id: trunk@21451 -
2012-06-01 14:28:41 +00:00
svenbarth
a7f95382b6
Added test for Mantis #15683 which seems to be fixed already.
...
git-svn-id: trunk@21450 -
2012-06-01 12:01:18 +00:00
pierre
a9e6a732c7
Enable graph for go32v2 target
...
git-svn-id: trunk@21449 -
2012-06-01 08:52:47 +00:00
pierre
a998ce14eb
Avoid installation in units/i386-go32v2 instead of units/go32v2 for global packages go32v2 installation
...
git-svn-id: trunk@21448 -
2012-06-01 08:44:19 +00:00
michael
f855753a78
* Easy access functions in TJSONObject
...
git-svn-id: trunk@21447 -
2012-05-31 21:06:22 +00:00
florian
3ae5fc8c04
* patch by Nico Erfurth: adds a check for SM_ASR to also support removal of unnecessary sign extension before STRH.
...
git-svn-id: trunk@21446 -
2012-05-31 20:24:48 +00:00
florian
af7bb6faab
* ignore unused parameters when inlining
...
git-svn-id: trunk@21445 -
2012-05-31 18:48:38 +00:00