Commit History

Author SHA1 Message Date
  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
  florian c087d97b96 * typo fixed 12 years ago
  florian 0e41df598e * merge i8086 branch by Nikolay Nikolov 12 years ago
  florian 52070e26e1 * arm thumb uses always the stack pointer as frame pointer 12 years ago
  florian b231c049c9 * arm thumb knows only positively growing stacks 12 years ago
  nickysn 30d661734c + enable tprocdef.fpu_used for i8086 also 12 years ago