- 10 Sep, 2015 3 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
- 09 Sep, 2015 1 commit
-
-
Christoph Mallon authored
This resolves problems with hidden dependencies during code selection, which cause dependency cycles and therefore fixes backend/scheduled.c. Also it grants the code selection slightly more freedom by not arbitrarily restricting the order by stack dependencies.
-
- 08 Sep, 2015 1 commit
-
-
Christoph Mallon authored
be: Pass the input requirements directly to the constructors of nodes, which have a variable number of arguments.
-
- 07 Sep, 2015 1 commit
-
-
Matthias Braun authored
-
- 20 Aug, 2015 2 commits
-
-
Matthias Braun authored
Properly use get_irn_pinned/set_irn_pinned as bool value instead of comparing setting the ir_op enum values.
-
Christoph Mallon authored
-
- 19 Aug, 2015 2 commits
-
-
Christoph Mallon authored
The generator chooses the right default automatically.
-
Christoph Mallon authored
All backends had identical implementations. Now rematerialization works out of the box for new backends.
-
- 14 Aug, 2015 1 commit
-
-
Andreas Fried authored
This adds two builtin kinds, ir_bk_va_start and ir_bk_va_arg. va_arg Builtins are lowered in the lower_builtins pass with a function provided by the backend, whereby most architectures can use be_default_lower_va_args. va_start Builtins are lowered in the backend. Note: This commit breaks all backends except for IA32. SPARC and AMD64 are implemented in later commits. The ARM backend previously miscompiled variadic functions, and will now throw a proper error.
-
- 09 Aug, 2015 1 commit
-
-
Christoph Mallon authored
All backends have similar empty Start nodes, which just provide registers. So having one generic backend Start node to share some infrastructure is sensible.
-
- 07 Aug, 2015 1 commit
-
-
Christoph Mallon authored
-
- 05 Aug, 2015 1 commit
-
-
Christoph Mallon authored
It is now done generically in dump_backend_info_hook().
-
- 04 Aug, 2015 5 commits
-
-
Christoph Mallon authored
bescripts: Automatically determine the mode of nodes by default and add the option "first" to use the mode of the first output requirement.
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
The node must use the mode of the floating point register class, irrespective of the mode of the loaded constant.
-
Christoph Mallon authored
-
- 02 Aug, 2015 1 commit
-
-
Christoph Mallon authored
arm, be, ia32, sparc: Do not go on with peephole optimization of IncSP, when be_peephole_IncSP_IncSP() succeeded. The current IncSP was removed in this case and we now would operate on its predecessor IncSP. This is wrong, e.g. when asking for currently free registers. This corrects backend/incsp_pop.c, which was broken on ia32. It was wrongly assumed that a certain register was free and could be used to turn an IncSP into a Pop.
-
- 31 Jul, 2015 2 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 29 Jul, 2015 1 commit
-
-
Christoph Mallon authored
Duplicate Projs are a problem when CSE is off, e.g. -O0.
-
- 28 Jul, 2015 2 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
It is like new_r_Proj(), but the mode is determined automatically from the out requirement of the predecessor. This probably resolves some mode mismatches in untested code paths -- AMD64 backend and SPARC hard float, I'm looking at you!
-
- 27 Jul, 2015 2 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 23 Jul, 2015 1 commit
-
-
Matthias Braun authored
We use lower_CopyB anyway so there are no copybs left when lowering. They are all lowered to load/store sequences or memcpy calls.
-
- 22 Jul, 2015 3 commits
-
-
Christoph Mallon authored
arm_cmp_attr_t contains an arm_shifter_operand_t as base, but this was not checked. This should correct langshootout/bintree.c.
-
Christoph Mallon authored
One Conv is sufficient.
-
Christoph Mallon authored
The modes did not match in several places.
-
- 21 Jul, 2015 3 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 20 Jul, 2015 1 commit
-
-
Christoph Mallon authored
Simplify the creation of instrinsic/runtime function entities a bit and avoid creating duplicate types.
-
- 19 Jul, 2015 1 commit
-
-
Christoph Mallon authored
-
- 08 Jul, 2015 2 commits
-
-
Christoph Mallon authored
Their values are either unused or trivial, i.e. result k has reg_offset k.
-
Christoph Mallon authored
This is simpler, removes some code duplication and makes the backends more robust against duplicate Projs of Start, which can happen if optimisations are disabled.
-
- 01 Jul, 2015 2 commits
-
-
Matthias Braun authored
-
Matthias Braun authored
- Rename other_same field to should_be_same. - Remove arch_register_req_type_other_same, it's enough to see if the should_be_same field is not zero.
-