michael
c06ab3f0f3
* Fix bug ID #30954
...
git-svn-id: trunk@34980 -
2016-11-27 11:42:10 +00:00
Károly Balogh
98d4c426cb
m68k: some groundwork for an improved optimizer, now tries to optimize away MOVE/FMOVE based unnecessary register shuffling around ops when possible (with room for further improvements)
...
git-svn-id: trunk@34979 -
2016-11-27 11:23:11 +00:00
marcus
f426f8d225
Recreated fpcres Makefile (needed for arm-aros)
...
git-svn-id: trunk@34978 -
2016-11-27 10:56:56 +00:00
Jonas Maebe
477283031c
* fixed tprocvardef.size() for
...
a) C-blocks: they are equivalent to a voidpointertype, as they are
implicit pointer types
b) procvardefs created from static class methods (there is no
self pointer in this case)
o fixes webtbs/tw30936.pp with LLVM
git-svn-id: trunk@34977 -
2016-11-26 21:51:21 +00:00
Jonas Maebe
b2e99da3e6
* use tabstractprocdef.is_addressonly to determine whether a procvar is
...
stored in more than one register (has a self and a code pointer), instead
of assuming it always occupies more than one register if the original
procdef had a self pointer (can be different when getting the address
of a static class procedure)
git-svn-id: trunk@34976 -
2016-11-26 21:51:18 +00:00
florian
8b3478617d
* enable more feature on avr, as long as no pascal level file I/O is used, this does not hurt
...
git-svn-id: trunk@34975 -
2016-11-26 19:44:55 +00:00
florian
bcb7061314
* made TObject usable, even if no ansistring support is available
...
git-svn-id: trunk@34974 -
2016-11-26 19:33:31 +00:00
florian
da7e1b3769
+ tavraddrnode.pass_generate_code, avoiding unneeded moves
...
git-svn-id: trunk@34973 -
2016-11-26 19:31:33 +00:00
florian
bfb6d4d1b7
* enable test to work also with small targets taking only a shortint as longjmp argument
...
git-svn-id: trunk@34972 -
2016-11-26 18:42:15 +00:00
florian
0c238b72e5
+ set/longjmp implementation for avr
...
git-svn-id: trunk@34971 -
2016-11-26 18:33:15 +00:00
michael
10360a823e
* Fix bug ID #30960
...
git-svn-id: trunk@34970 -
2016-11-26 17:28:55 +00:00
michael
3e21810dbd
* Change comments for AdjustLineBreaks (bug ID 30959)
...
git-svn-id: trunk@34969 -
2016-11-26 17:05:54 +00:00
michael
18f2592433
* float version of modulo (Patch from Thaddy De koning, bug ID #30744 )
...
git-svn-id: trunk@34968 -
2016-11-26 16:57:34 +00:00
michael
ba35278552
* Patch from Werner Pamler to implement ^ in expression parser (Big ID 30970)
...
git-svn-id: trunk@34967 -
2016-11-26 16:16:57 +00:00
michael
784da563ef
* Patch from Silvio Clecio to implement QualifiedClassName (bug ID 30985)
...
git-svn-id: trunk@34966 -
2016-11-26 13:53:27 +00:00
michael
629d8277da
* Patch from Michalis Kamburelis to fix scanning of $ELSE (bug ID 31007)
...
git-svn-id: trunk@34965 -
2016-11-26 13:32:52 +00:00
lacak
2f1addbb11
fcl-db: sqlite: fix UpdateIndexDefs if TableName is in format DatbaseName.TableName. Partial fixes bug #30834
...
git-svn-id: trunk@34963 -
2016-11-25 12:31:43 +00:00
lacak
b78ff18bfa
fcl-db: sqlite: check if sqlite library is compiled with SQLITE_ENABLE_COLUMN_METADATA IOW there is API function sqlite3_column_origin_name() and co. Bug #30935
...
git-svn-id: trunk@34962 -
2016-11-25 12:12:07 +00:00
florian
f66ee3628c
* CPU bitness dependent counter sizes for faster testing on slow CPUs
...
git-svn-id: trunk@34959 -
2016-11-24 20:59:53 +00:00
Jonas Maebe
ef90b46e52
* comment fix
...
git-svn-id: trunk@34958 -
2016-11-24 19:47:48 +00:00
florian
8e7101a65a
* proper naming of the optimziation in the DebugMsg
...
git-svn-id: trunk@34957 -
2016-11-24 18:28:48 +00:00
Jonas Maebe
d39db60934
* initialise the llvmvalueloc field for LOC_VOID locations, so they don't
...
get randomly passed as either byval or not (while they don't contain any
data and hence this can't cause bugs in the generated code, it can cause
signature mismatches in llvm)
git-svn-id: trunk@34956 -
2016-11-24 08:57:09 +00:00
Jonas Maebe
280a6e15b7
* fixed invalid memory reads and potential double freeing when removing
...
superfluous temporary paralocs for llvm
git-svn-id: trunk@34955 -
2016-11-24 08:57:05 +00:00
yury
ed6d993008
* pas2jni: Proper boolean handling - jboolean must be 0/1.
...
git-svn-id: trunk@34954 -
2016-11-23 14:39:46 +00:00
yury
d5cc2e83cf
* pas2jni: Use cthreads first.
...
git-svn-id: trunk@34953 -
2016-11-23 14:21:49 +00:00
yury
ea16dfdcf8
* pas2jni: Suppress false warnings in Java code.
...
git-svn-id: trunk@34952 -
2016-11-23 13:49:04 +00:00
yury
4dcc9de92f
* pas2jni: More clean Java code for sets.
...
git-svn-id: trunk@34951 -
2016-11-23 13:33:35 +00:00
sergei
8f4f40d240
* Disabled running the test, because it needs SSE4.1 capable CPU to run, and there is no portable way to detect it.
...
The purpose of test is compiling MOVSS instruction without warnings, so it still fulfills its task.
git-svn-id: trunk@34950 -
2016-11-22 10:35:41 +00:00
sergei
133fcb5ab2
* Fixed VMOVQ instruction encoding, now assembles correctly also in 32-bit code.
...
+ Test
git-svn-id: trunk@34949 -
2016-11-21 13:59:44 +00:00
sergei
b5660401fe
* Some cleanup for AVX part of internal assembler. Functionality is not changed.
...
git-svn-id: trunk@34948 -
2016-11-21 07:49:43 +00:00
Jonas Maebe
acaae2bf3c
* fixed test so it does not use uninitialised floating point values (that
...
could trigger exceptions)
git-svn-id: trunk@34947 -
2016-11-21 07:39:17 +00:00
Jonas Maebe
48ef33a8b3
* fixed interprocedural gotos for llvm
...
o ensure that the label's local "jumpbuf" variable gets moved to the
parentfpstruct soon enough
o don't generate global symbols for interprocedural labels: they're not
necessary if they are only used via setjmp/longjmp (all references are
local in that case), and if they are referenced via an assembler block
then we'll have to handle them by passing a blockaddress() expression
as parameter to that assembler block (which does not require a global
symbol, but which is not yet implemented)
git-svn-id: trunk@34946 -
2016-11-21 07:39:13 +00:00
Jonas Maebe
ade45eb31a
+ support for llvm load nodes of labelsym using blockaddress()
...
git-svn-id: trunk@34945 -
2016-11-21 07:39:09 +00:00
Jonas Maebe
3b7d9447ae
* blockaddress creates a constant operand for another opcode, it's not an
...
independent operation
o additionally, it does not take a "label" qualifier for its label argument
git-svn-id: trunk@34944 -
2016-11-21 07:39:05 +00:00
sergei
ebe134febc
* Fixed memory reference size for MOVSS instruction, Mantis #29954 .
...
git-svn-id: trunk@34943 -
2016-11-21 03:31:25 +00:00
sergei
870fda34d5
* x86 AT&T reader and writer: cleaned up usage of attsufMM suffix:
...
* It is now only used to select size of vector instructions (i.e. 128 or 256 bits)
* Scalar instructions reverted to use attsufINT suffix (selecting between 32 or 64 bits).
* Additionally, vcvtsi2sd and vcvtsi2ss with rm64 operand are x86_64 only.
git-svn-id: trunk@34942 -
2016-11-21 02:07:13 +00:00
florian
3b665ddea2
- unused variable removed
...
git-svn-id: trunk@34941 -
2016-11-20 22:28:50 +00:00
florian
86f0b59095
* avoid conversion to larger type in Align
...
git-svn-id: trunk@34940 -
2016-11-20 19:02:53 +00:00
florian
01e1e9410d
+ dummy heap status implementations
...
git-svn-id: trunk@34939 -
2016-11-20 18:31:03 +00:00
florian
b527bab087
* better check if we are in the main program which never returns
...
git-svn-id: trunk@34938 -
2016-11-20 18:01:13 +00:00
florian
e33b2920dc
+ CallReg2Jmp optimization
...
git-svn-id: trunk@34937 -
2016-11-20 18:00:27 +00:00
florian
3eef641833
* convert jmp into rjmp only of the target is not a function
...
git-svn-id: trunk@34936 -
2016-11-20 18:00:01 +00:00
florian
0882c13cb7
* do not move dest to a new register if not needed in tcgavr.g_concatcopy
...
git-svn-id: trunk@34935 -
2016-11-20 16:07:53 +00:00
florian
e49a826837
+ PushPushPopPop2MovMov optimization
...
git-svn-id: trunk@34934 -
2016-11-20 16:03:49 +00:00
florian
cfb5ebeb23
* Find* subroutines return an error by default
...
git-svn-id: trunk@34933 -
2016-11-20 16:03:12 +00:00
florian
0dbcd5daa9
* do not run test, if no stack checking is available
...
git-svn-id: trunk@34932 -
2016-11-20 16:02:37 +00:00
florian
13de8c6808
* -Or => -Ooregvar
...
git-svn-id: trunk@34931 -
2016-11-20 15:45:01 +00:00
florian
16fa079a2a
* allocate always a minimum block size, else free list management causes memory corruption
...
git-svn-id: trunk@34930 -
2016-11-20 15:44:22 +00:00
florian
baa33d7e2f
* pass enabled features to the compiler when running tests on the embedded target, so tests can depend on the features
...
git-svn-id: trunk@34929 -
2016-11-20 15:43:27 +00:00
Jonas Maebe
a89a4d905f
+ test for already fixed mantis #30948
...
git-svn-id: trunk@34928 -
2016-11-20 11:44:25 +00:00