- 18 Jul, 2014 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
- 15 Apr, 2014 1 commit
-
-
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.
-
- 10 Apr, 2014 2 commits
-
-
Christoph Mallon authored
By default a node needs the graph explicitly given iff it has a known block.
-
Christoph Mallon authored
Just inspecting the attribute block is sufficient.
-
- 27 Mar, 2014 1 commit
-
-
Matthias Braun authored
-
- 07 Mar, 2014 1 commit
-
-
Matthias Braun authored
-
- 18 Feb, 2014 3 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
This commit does: - Remove tarval_reachable+tarval_unreachable, dataflow analysis rather use top/bottom instead of other special values. - Rename tarval_undefined to tarval_unknown as it corresponds to the Unknown node (=a value which we don't know) - Remove predefined tarval_top/tarval_bottom from tv.h and place the defines into combo.c - Change compute_XXX constant folding functions to return tarval_unknown instead of tarval_bad if folding failed - compute_Unknown in combo results in tarval_bottom == tarval_unknown this eliminates strange special cases in the Cond/Switch rules and the now unnecessary cprop_X list.
-
Matthias Braun authored
-
- 06 Feb, 2014 1 commit
-
-
yb9976 authored
-
- 30 Jan, 2014 2 commits
-
-
Matthias Braun authored
= is_entconst(), is_typeconst, get_entconst_entity() and get_typeconst_type()
-
Matthias Braun authored
-
- 28 Jan, 2014 3 commits
-
-
Christoph Mallon authored
-
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.
-
- 08 Aug, 2013 1 commit
-
-
Matthias Braun authored
It is not usefull for optimization in most languages: - In C/C++ you can't really change the value of enum constants as casting from/to integer has to produce the expected results. - In Java (and other OO languages) enum members are objects so the libfirm enumeration type can't be used there anyway
-
- 19 Jul, 2013 1 commit
-
-
Andreas Fried authored
This requires to actually compute volatility in a number of places. Therefore, this also adds some helper functions to do that.
-
- 27 Jun, 2013 1 commit
-
-
Andreas Zwinkau authored
This reverts commit 3d1d2c43. Creating a Bad node does not imply that it has users or is reachable within an irg. While clearing the property is certainly correct as a conservative approximation, it should not be necessary.
-
- 26 Jun, 2013 3 commits
-
-
Matthias Braun authored
This node was used by OO code in the past, but newer versions of liboo have their own node and don't need it anymore.
-
Matthias Braun authored
CopyB is normally used to transfer data on the stack or to enable compound value calling conventions. Exceptions don't happen in these cases.
-
Matthias Braun authored
I don't really understand what it was supposed to do (because nodes using/producing should be pretty much immovable anyway because of their dependencies, so an additional pinning type appears unnecessary). In practice there was no code differentiating between mem_pinned and exc_pinned.
-
- 25 Jun, 2013 1 commit
-
-
yb9976 authored
-
- 06 Jun, 2013 1 commit
-
-
Matthias Braun authored
The backends which support rotl now match for or(shl,shr) patterns.
-
- 07 May, 2013 1 commit
-
-
Matthias Braun authored
They are considered low level operations now which just allocate/free a block of memory on the stack. There is no highlevel typeinformation attached anymore or support for heap allocation. Frontends/liboo should provide their custom highlevel nodes if they need these features.
-
- 06 May, 2013 1 commit
-
-
Matthias Braun authored
-
- 12 Mar, 2013 2 commits
-
-
Matthias Braun authored
They weren't used in a sensible way and their semantic for non-arithmetic ops was unclear. Also implicitely fixes a bunch of bugs where these where set but no op_index was set at the same time.
-
Matthias Braun authored
oparity_unary, oparity_binary require opindex to be set, which wasn't always the case. Also people seem to expect certain semantics from unops/binops, like being arithmetic operations. So we shouldn't automatically set oparity_XXX.
-
- 12 Dec, 2012 1 commit
-
-
Matthias Braun authored
Just state the copyright and the project the files belong to. You can then find the COPYING file for the whole project.
-
- 04 Dec, 2012 3 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
- 03 Dec, 2012 1 commit
-
-
Christoph Mallon authored
-
- 02 Dec, 2012 1 commit
-
-
Christoph Mallon authored
-
- 01 Dec, 2012 1 commit
-
-
Christoph Mallon authored
-
- 08 Nov, 2012 1 commit
-
-
Christoph Mallon authored
It is the job of the frontend to keep loops. These hacks here only worked for some, but not all cases. In particular a more clever SSA-construction algorithm might not place redundant PhiMs, which would render memory before memory-less loops unkept.
-
- 07 Nov, 2012 1 commit
-
-
Christoph Mallon authored
-
- 24 Oct, 2012 1 commit
-
-
Matthias Braun authored
-
- 15 Oct, 2012 1 commit
-
-
Andreas Seltenreich authored
-