- 11 Nov, 2014 1 commit
-
-
Christoph Mallon authored
-
- 29 Oct, 2014 1 commit
-
-
yb9976 authored
Since safely iterating over out edges caches the next edges, we cannot recursively move Proj nodes along with their operands. If the Proj node is the cached one this causes the out edges to suddenly iterate over another block. This fixes opt/fehler279.c and opt/fehler280.c.
-
- 16 Oct, 2014 1 commit
-
-
Christoph Mallon authored
-
- 14 Oct, 2014 1 commit
-
-
Matthias Braun authored
-
- 13 Oct, 2014 1 commit
-
-
Christoph Mallon authored
-
- 25 Sep, 2014 1 commit
-
-
Matthias Braun authored
The start block is not special block without any "real" instructions anymore. In particular this means: - There is no X_initial_exec Proj from the Start node anymore, "normal" cfopts are used for jumping out of the start block. - The backend never had the special convention of the start block not containing actual code and used to fixup this discrpancy, no more fixup code needed now. - The part_block() code got a bit more complicated because splitting the start block is tricky (previously part_block() simply failed in this case but was never used in the Start block because of its special convention)
-
- 19 Sep, 2014 3 commits
-
-
Andreas Fried authored
-
Andreas Fried authored
-
Matthias Braun authored
- It was only available in the ia32 backend and broken there. As the feature is rarely used, I remove it for now instead of going through the trouble of fixing it.
-
- 17 Sep, 2014 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
The previous approach put the irg link into the block attributes, so while saving memory an extra indirection was necessary. Some testing with valgrind massif+callgrind revealed that a direct link increses peak memory usage by ~1% while also increasing runtime by ~1%. More importantly the code gets a bit simpler and some strange corner cases can be removed with the direct link.
-
- 28 Aug, 2014 2 commits
-
-
Andreas Fried authored
-
Andreas Fried authored
-
- 30 May, 2014 1 commit
-
-
Matthias Braun authored
This is necessary as the arm backend needs special calling conventions (only even register numbers) in these cases.
-
- 28 May, 2014 8 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
Avoid unnecessary pointer dereferencing.
-
Matthias Braun authored
Avoid unnecessary pointer dereferencing.
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
- 15 Apr, 2014 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
- Compound type selection is performed with Member - Array indexing is performed with Sel - Instead of the simpleSel constructor functions you can use the normal Member constructors now - The concept of array element entities has been removed, Sel nodes just contain a pointer to the array type now.
-
- 29 Mar, 2014 1 commit
-
-
Christoph Mallon authored
-
- 27 Mar, 2014 3 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
- 18 Mar, 2014 1 commit
-
-
Christoph Mallon authored
-
- 17 Mar, 2014 2 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 14 Mar, 2014 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
- 13 Mar, 2014 1 commit
-
-
Christoph Mallon authored
-
- 17 Feb, 2014 1 commit
-
-
Christoph Mallon authored
-
- 31 Jan, 2014 1 commit
-
-
Matthias Braun authored
This can be used to effectively test aliasing in libfirm.
-
- 28 Jan, 2014 2 commits
-
-
Christoph Mallon authored
Deduce the mode automatically from the given entity.
-
Christoph Mallon authored
-
- 27 Jan, 2014 1 commit
-
-
Christoph Mallon authored
This removes the strange entity/type duality and we get rid of union symconst_symbol.
-
- 03 Dec, 2013 1 commit
-
-
yb9976 authored
-