Jonas Maebe
|
0f57327bff
* maybereplacewithtemp/maybereplacewithtempref: also create a temp in case
|
6 lat temu |
Jonas Maebe
|
0a91fcb44f
* LLVM-specific support for bsr*/bsf*
|
6 lat temu |
pierre
|
243c967967
Commit of new debug feature implemented by J. Gareth Moreton
|
6 lat temu |
Jonas Maebe
|
281b3ad276
* fix case completeness and unreachable code warnings in compiler that would
|
6 lat temu |
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 lat temu |
Jonas Maebe
|
ea69a5b372
* finalizetemps nodes should never be considered equal and have side effects
|
6 lat temu |
Jonas Maebe
|
3b9f5a5e96
* moved finalization of code generator temps to a node, so it can be getcopy'd
|
6 lat temu |
svenbarth
|
116230f759
* forgot to commit extension to tspecializenode
|
6 lat temu |
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 lat temu |
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 lat temu |
florian
|
1497b64804
* the temp. locations created by cse were not properly cleanup up, this patch fixes this
|
7 lat temu |
florian
|
b1dff29cbf
* removed unused units
|
8 lat temu |
florian
|
ec45a92fb5
* more nodedata printing fixes, similiar to r35477
|
8 lat temu |
Jonas Maebe
|
b5fb9beec9
* fixed printing of nodedata to the screen
|
8 lat temu |
svenbarth
|
c6bfb0064f
* keep track of the sections that are created in the asmlists
|
8 lat temu |
florian
|
82e6e1eb34
+ tempinfo flag ti_no_final_regsync which prevents that the final reg. sync. is emitted
|
8 lat temu |
florian
|
502e48541c
* properly copy flags of tempinfo
|
8 lat temu |
Jonas Maebe
|
179c1ab328
* changed ttemp*node.tempinfo^.flags to a private field, and added setters
|
9 lat temu |
Jonas Maebe
|
18580d3069
* when assigning a value to a temp marked as ti_const, do not immediately
|
9 lat temu |
Jonas Maebe
|
46166c89cb
- removed no longer used and unsafe ttemprefnode.create_offset()
|
9 lat temu |
svenbarth
|
4f5fc66298
+ new parser-only node class to handle Delphi-mode inline specializations
|
10 lat temu |
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 lat temu |
florian
|
7b7aa8d542
* remove statements with only a nothing node when they are the only children of a block
|
10 lat temu |
Jonas Maebe
|
9e29fd424d
* changed the "laststatement" parameter of internalstatements() from "var"
|
11 lat temu |
florian
|
3e4198ea45
* take care of dyn. arrays in cse
|
11 lat temu |
florian
|
99eadb91b3
* run CheckAndWarn to get proper locations for warnings about uninitialized variables
|
11 lat temu |
florian
|
3cb747f4a7
* mark the node which is the entry of the user code with a flag
|
11 lat temu |
florian
|
541d67771b
* keep managed types in registers if possible. Under certain circumstances (if they don't require init/final code,
|
12 lat temu |
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 lat temu |
florian
|
075abd6220
+ support of stackframesize for arm thumb
|
12 lat temu |