Jonas Maebe
|
e0ca083cce
--- Merging r30038 into '.':
|
vor 9 Jahren |
Jonas Maebe
|
e926169fcb
- Merging r29456 into '.':
|
vor 9 Jahren |
florian
|
96c21fa0fe
Merged r29636
|
vor 10 Jahren |
marco
|
154caf1283
--- Merging r29590 into '.':
|
vor 10 Jahren |
florian
|
f1eb00a450
* do not issue a hint about uninitialized var-parameters, resolves #25916
|
vor 10 Jahren |
sergei
|
0b4d54fcb9
- Delete all position markers from assembler code before optimization. Markers of this kind are not used by optimizer and are expected to be ignored, but ignoring them requires numerous checks in all target-specific optimizers and currently isn't done correctly. In turn, failure to ignore markers prevents optimization of procedure prologues and epilogues.
|
vor 11 Jahren |
Jonas Maebe
|
362ff5ad01
* only check for _PROPERTY as a regular token, so that
|
vor 11 Jahren |
sergei
|
96dd464bf2
* Moved fixup_jmps to target-specific classes for powerpc,powerpc64 and MIPS, cleaned out remaining $ifdef's. A slight functionality change is that fixup_jmps is now called before adding the procedure end symbol, not after, but that should not matter.
|
vor 11 Jahren |
sergei
|
eeb15fc445
* Added virtual method tprocinfo.postprocess_code and moved target-specific processing from base class into target-specific descendant classes (ARM and AVR, other targets still to do).
|
vor 11 Jahren |
Jonas Maebe
|
d020a32b9a
- removed no longer used tprocdef.fpu_used field for i386/i8086 (the one
|
vor 11 Jahren |
Jonas Maebe
|
b57c95043f
+ support overriding tdef/tsym methods with target-specific functionality:
|
vor 11 Jahren |
florian
|
686a2d2f3f
+ Support omitting the frame pointer on arm even in procedures with incoming parameters
|
vor 11 Jahren |
florian
|
04464b8622
* do not create an fpc_zeromem node if size=0
|
vor 11 Jahren |
Jonas Maebe
|
f936a48afa
* don't change the forward/interface definition of regular forward/interface
|
vor 11 Jahren |
Jonas Maebe
|
1ac4021178
* moved po_has_inlininginfo from procoptions to procimploptions so that
|
vor 11 Jahren |
sergei
|
52af9a2c89
* Changed passing of hidden parameters to constructors of class-style objects: VMT is always passed in the first ('self') parameter, and the second one ('vmt', although this name is now misleading) contains flag specifying the constructor behavior and meaning of 'self'. Together with r26656 this removes methodpointer sharing between two parameter node trees, it becomes possible not to put methodpointer into temp, but use node tree below 'self' parameter to do virtual calls. This also matches behavior of Delphi.
|
vor 11 Jahren |
sergei
|
a1dfaa54dd
* Fixed exception handling in constructors of TP-style objects to correctly handle cases of statically allocated objects (must call destructor but do not free memory) and objects without destructor (must free memory if it was allocated dynamically).
|
vor 11 Jahren |
florian
|
b1f54b2853
* indentation fixed
|
vor 11 Jahren |
florian
|
fc7dc9e54c
* do cse after the init/final code has been inserted, this might enable new cse opportunities
|
vor 11 Jahren |
florian
|
6e63272ab7
* added missing parenthesis
|
vor 11 Jahren |
nickysn
|
338d72f564
* extracted the code from psub.translate_registers for generating the name of
|
vor 11 Jahren |
sergei
|
6ea9ce1077
* Force managed types to be always returned in parameters, independent of target (primitive types were already handled that way; the patch affects small records with fields of managed types).
|
vor 11 Jahren |
florian
|
99eadb91b3
* run CheckAndWarn to get proper locations for warnings about uninitialized variables
|
vor 12 Jahren |
florian
|
8be7cfa05f
* check the scope of a variable when checking dfa based uninitialized variables,
|
vor 12 Jahren |
florian
|
57586b69c7
* implicit try...finally frames are added after dfa so we don't have to take care if the subroutine needs/uses those or not
|
vor 12 Jahren |
florian
|
3cb747f4a7
* mark the node which is the entry of the user code with a flag
|
vor 12 Jahren |
florian
|
cca520abd9
+ warn for uninitialized out parameters when dfa is enabled
|
vor 12 Jahren |
florian
|
1a4584f4c6
+ dead store elimination, based on a patch by Jeppe Johansen
|
vor 12 Jahren |
florian
|
e8787c4b48
+ constant propagation, based on a patch by Jeppe Johansen
|
vor 12 Jahren |
svenbarth
|
68a3827539
Fix for Mantis #21051. Correctly handle specializations that occur during the specialization of methods.
|
vor 12 Jahren |