Jonas Maebe
|
b57c95043f
+ support overriding tdef/tsym methods with target-specific functionality:
|
11 years ago |
florian
|
686a2d2f3f
+ Support omitting the frame pointer on arm even in procedures with incoming parameters
|
11 years ago |
florian
|
04464b8622
* do not create an fpc_zeromem node if size=0
|
11 years ago |
Jonas Maebe
|
f936a48afa
* don't change the forward/interface definition of regular forward/interface
|
11 years ago |
Jonas Maebe
|
1ac4021178
* moved po_has_inlininginfo from procoptions to procimploptions so that
|
11 years ago |
Jonas Maebe
|
e9268a0a14
* synchronised with trunk up till r26975
|
11 years ago |
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.
|
11 years ago |
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).
|
11 years ago |
florian
|
b1f54b2853
* indentation fixed
|
11 years ago |
florian
|
fc7dc9e54c
* do cse after the init/final code has been inserted, this might enable new cse opportunities
|
11 years ago |
florian
|
6e63272ab7
* added missing parenthesis
|
11 years ago |
nickysn
|
338d72f564
* extracted the code from psub.translate_registers for generating the name of
|
11 years ago |
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).
|
11 years ago |
florian
|
99eadb91b3
* run CheckAndWarn to get proper locations for warnings about uninitialized variables
|
11 years ago |
Jonas Maebe
|
044e133067
* override hlcgcpu.create_codegen with hlcgllvm.create_codegen when building
|
11 years ago |
florian
|
8be7cfa05f
* check the scope of a variable when checking dfa based uninitialized variables,
|
11 years ago |
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
|
11 years ago |
florian
|
3cb747f4a7
* mark the node which is the entry of the user code with a flag
|
11 years ago |
florian
|
cca520abd9
+ warn for uninitialized out parameters when dfa is enabled
|
11 years ago |
florian
|
1a4584f4c6
+ dead store elimination, based on a patch by Jeppe Johansen
|
11 years ago |
florian
|
e8787c4b48
+ constant propagation, based on a patch by Jeppe Johansen
|
11 years ago |
svenbarth
|
68a3827539
Fix for Mantis #21051. Correctly handle specializations that occur during the specialization of methods.
|
12 years ago |
sergei
|
7fbcf64608
* Disabled r25488 for ARM targets since it causes crashes there, Mantis #25050.
|
12 years ago |
sergei
|
1bd43f0ea1
* Outgoing parameters on stack do not need to inhibit stack frame optimization on targets with fixed stack, because there they do not modify stack pointer in the middle of routine.
|
12 years ago |
florian
|
d4968e054b
+ arm: tsettings.instructionset
|
12 years ago |
sergei
|
ac2006898f
* Mark procedures with shortstring value parameters as non-leaf, because such parameters generate a call (to fpc_shortstr_assign).
|
12 years ago |
svenbarth
|
fc79d47b09
Fix for Mantis #24651. Allow pointer comparison for internal expressions (in this case check for valid VMT).
|
12 years ago |
sergei
|
1419a12865
- Removed MIPS-specific code which has been copied to TMIPSProcinfo.set_first_temp_offset in r23885.
|
12 years ago |
sergei
|
4e873d0561
+ Determine early (before pass 2) whether managed parameters/locals/temps will cause the procedure to reference RTTI labels and, therefore, need GOT.
|
12 years ago |
Jonas Maebe
|
a1bc04bbb3
* don't omit stack frame generation when generating gprof information, as
|
12 years ago |