- 01 Dec, 2011 1 commit
-
-
Matthias Braun authored
(They are passed in integer registers, so we can immediately create integer constants)
-
- 10 Nov, 2011 1 commit
-
-
Matthias Braun authored
-
- 02 Nov, 2011 1 commit
-
-
Matthias Braun authored
This is the new way of handling switch-jumps. The node contains a table which maps (ranges of) input values to proj numbers. Compared to a Cond-node this results in a clean consecutive sequence of Proj numbers (no searching for a free number for the default_pn anymore) and allows factoring multiple cases jumping to the same block in a single Proj (though we still need the optimisation in cfopt for that).
-
- 17 Oct, 2011 1 commit
-
-
Matthias Braun authored
-
- 11 Oct, 2011 1 commit
-
-
Matthias Braun authored
(see testsuite/backend/sparc_notconsts.c for an example)
-
- 27 Sep, 2011 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
This was an odd convention from the past, there's no need for it anymore.
-
- 21 Sep, 2011 1 commit
-
-
Matthias Braun authored
-
- 15 Sep, 2011 1 commit
-
-
Matthias Braun authored
- Make API private as it should only be called by backends - Let ia32 backend create special ia32_Set nodes instead of relying on muxes which must not be touched anymore - Does not create ConvB nodes anymore but instead produces the Cmp directly. (All backends did this anyway during code-selection so I was able to leave this case out code-selection) - First collect nodes to lower, then lower them. This avoids robustness problems when transforming the graph while at the same time walking it.
-
- 12 Sep, 2011 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
- 06 Sep, 2011 5 commits
-
-
Matthias Braun authored
This should also fix compound returns in combination with -msoft-float on sparc
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
(Hannes ancient technique based on the Proj-mode is deprecated)
-
Matthias Braun authored
This commit also adds a generic Alloc/Free lowering helper Unfortunately we often produce invalid code, because currently our stackpointer wiring logic is too weak and produces invalid results for example when using alloca in a loop.
-
- 22 Aug, 2011 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
- 18 Aug, 2011 2 commits
-
-
Manuel Mohr authored
-
Manuel Mohr authored
-
- 17 Aug, 2011 1 commit
-
-
Matthias Braun authored
-
- 15 Aug, 2011 6 commits
-
-
Matthias Braun authored
This tries to get the names in a consistent format. We basically have 2 views on register allocation/constraints now: 1) Register Requirements and Assigments are per-instruction. Each instruction has requirements on its inputs and outputs, register get assigned for outputs of an instruction (assignment is an attribute of an instruction, not of the Proj-nodes). The internal datastructures model this form! The functions here have the form: arch_get_irn_register_req_in(node, input_nr) arch_get_irn_register_in(node, input_nr) arch_get_irn_register_req_out(node, output_nr) arch_set_irn_register_out(node, output_nr, register) 2) Register Requirements and Assignments are on firm-values. This view allows to query/assign requirements and registers at the Proj nodes instead of the repsective predecessors. This is a convenience interface modeled on top of the other! The functions have the form: arch_get_irn_register_req(node) arch_get_irn_register(node) arch_set_irn_register(node, register)
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
- 10 Aug, 2011 1 commit
-
-
Matthias Braun authored
-
- 08 Aug, 2011 1 commit
-
-
Matthias Braun authored
Since we have no complicated barrier/prolog stuff in the transform phase anymore we can move away from beabihelper now and create the nodes directly which will be necessary when modeling special constraints like wide aligned registers.
-
- 05 Aug, 2011 2 commits
-
-
Matthias Braun authored
So sparc can handle this case now.
-
Matthias Braun authored
Use a special kind of entity on the frame type instead of a value_type struct inside a method type. This makes replacement of function types slightly easier (it's still a complex operation though) and handling in the backend a bit more consistent since it's more or less a normal stack access (with special offsets).
-
- 28 Jul, 2011 1 commit
-
-
Matthias Braun authored
-
- 21 Jun, 2011 1 commit
-
-
Matthias Braun authored
-
- 16 Jun, 2011 1 commit
-
-
Matthias Braun authored
-
- 11 Jun, 2011 1 commit
-
-
Matthias Braun authored
-
- 01 Jun, 2011 1 commit
-
-
Matthias Braun authored
-
- 31 May, 2011 1 commit
-
-
Matthias Braun authored
-
- 27 May, 2011 1 commit
-
-
yb9976 authored
-
- 23 May, 2011 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-