yury
|
e5c2d13671
* Do not set pi_needs_got in current_procinfo.flags at the node level, since the GOT usage can only be estimated there. Instead set the pi_needs_got flag at places where the GOT register is accessed during the code generation. This eliminates generation of the unneeded initialization of the GOT register and fixes linker errors when the _GLOBAL_OFFSET_TABLE_ symbol is referenced but no actual GOT references are present.
|
6 anni fa |
Jonas Maebe
|
ea69a5b372
* finalizetemps nodes should never be considered equal and have side effects
|
6 anni fa |
Jonas Maebe
|
3b9f5a5e96
* moved finalization of code generator temps to a node, so it can be getcopy'd
|
6 anni fa |
svenbarth
|
116230f759
* forgot to commit extension to tspecializenode
|
6 anni fa |
florian
|
800ce23499
* fixed some issues to get correct values of section_count, works better than before but it is still not perfect for unknown reasons
|
6 anni fa |
svenbarth
|
0ba14c7ad8
* fix memory leak when freeing a temp delete node: also call the inherited destructor so that e.g. tnode.optinfo is freed.
|
7 anni fa |
florian
|
1497b64804
* the temp. locations created by cse were not properly cleanup up, this patch fixes this
|
7 anni fa |
florian
|
b1dff29cbf
* removed unused units
|
8 anni fa |
florian
|
ec45a92fb5
* more nodedata printing fixes, similiar to r35477
|
8 anni fa |
Jonas Maebe
|
b5fb9beec9
* fixed printing of nodedata to the screen
|
8 anni fa |
svenbarth
|
c6bfb0064f
* keep track of the sections that are created in the asmlists
|
8 anni fa |
florian
|
82e6e1eb34
+ tempinfo flag ti_no_final_regsync which prevents that the final reg. sync. is emitted
|
8 anni fa |
florian
|
502e48541c
* properly copy flags of tempinfo
|
8 anni fa |
Jonas Maebe
|
179c1ab328
* changed ttemp*node.tempinfo^.flags to a private field, and added setters
|
9 anni fa |
Jonas Maebe
|
18580d3069
* when assigning a value to a temp marked as ti_const, do not immediately
|
9 anni fa |
Jonas Maebe
|
46166c89cb
- removed no longer used and unsafe ttemprefnode.create_offset()
|
9 anni fa |
svenbarth
|
4f5fc66298
+ new parser-only node class to handle Delphi-mode inline specializations
|
10 anni fa |
sergei
|
657ac78304
* Improved handling of registers used in assembler blocks. Assembler nodes no longer have lists of used registers attached to them. Instead, each specified register creates an allocation/deallocation pair and an additional tai_regalloc.markused item directly in the asmlist. This way, register lists are no longer limited to integer registers, and parsing no longer depends on paramanager to know which registers are volatile.
|
10 anni fa |
florian
|
7b7aa8d542
* remove statements with only a nothing node when they are the only children of a block
|
10 anni fa |
Jonas Maebe
|
9e29fd424d
* changed the "laststatement" parameter of internalstatements() from "var"
|
11 anni fa |
florian
|
3e4198ea45
* take care of dyn. arrays in cse
|
11 anni fa |
florian
|
99eadb91b3
* run CheckAndWarn to get proper locations for warnings about uninitialized variables
|
11 anni fa |
florian
|
3cb747f4a7
* mark the node which is the entry of the user code with a flag
|
11 anni fa |
florian
|
541d67771b
* keep managed types in registers if possible. Under certain circumstances (if they don't require init/final code,
|
12 anni fa |
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 anni fa |
florian
|
075abd6220
+ support of stackframesize for arm thumb
|
12 anni fa |
florian
|
7155808570
+ ttempcreatenode.printnodedata writes tempinitcode node
|
12 anni fa |
Jonas Maebe
|
b50d0aa3d0
* only don't pre-finalize funcret temps that are passed by reference to the
|
13 anni fa |
florian
|
c62a2c8bb5
+ write temptype when printing tempdelete nodes
|
13 anni fa |
Jonas Maebe
|
aee5380ae0
* merged trunk up to r20882
|
13 anni fa |