- 29 Aug, 2015 1 commit
-
-
Christoph Mallon authored
-
- 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.
-
- 02 Aug, 2015 2 commits
-
-
Christoph Mallon authored
IncSP can only have %esp assigned.
-
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.
-
- 28 Jul, 2015 2 commits
-
-
Christoph Mallon authored
The following be_peephole_exchange() has a stricter check, i.e. same mode instead of only not mode_T.
-
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!
-
- 20 Jul, 2015 1 commit
-
-
Matthias Braun authored
This way we don't need a separate frame_entity field in the attribute struct anymore. We can also use the immediate type to determine whether we need to assign a fresh stackentity to a node. This commit does not change the frame_use field, which is now a duplicate way to indicate whether we need to assign a stackentity. This currently requires a lot of asserts to ensure the two stay in sync. In the future I'd like to use frame_use only for the special case when a 32bit or 64bit entity needs to be forced.
-
- 19 Jul, 2015 5 commits
-
-
Matthias Braun authored
The flag has been superseded by the immediate kind.
-
Christoph Mallon authored
-
Matthias Braun authored
-
Matthias Braun authored
-
Matthias Braun authored
-
- 15 Jul, 2015 1 commit
-
-
Christoph Mallon authored
rolw has no constraints for the registers. Also it is faster on some processors. On the other hand, xchgb is shorter, so try to replace rolw in the peephole pass, when optimizing for size and the register permits.
-
- 07 Jul, 2015 1 commit
-
-
Christoph Mallon authored
-
- 24 May, 2015 1 commit
-
-
Matthias Braun authored
Instead of having a generaic main loop in be_main with several callbacks into the targets, split the code in be_main up into a set of convenience functions and let the targets implement the main loop itself. This is nicer because: - The control flow into and out of the functions in the target becomes obvious as no external party is using callbacks anymore. - Targets can insert custom code at any place between the generic passes. - In the future we can parameterize the generic backend passes directly instead of stuffing info into generic isa_if structures.
-
- 27 Apr, 2015 1 commit
-
-
Christoph Mallon authored
-
- 25 Apr, 2015 1 commit
-
-
Christoph Mallon authored
-
- 24 Apr, 2015 1 commit
-
-
Christoph Mallon authored
Both functions do the same and the former is used way less.
-
- 09 Jan, 2015 1 commit
-
-
Christoph Mallon authored
-
- 29 Dec, 2014 3 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
The nodes in question already have this op. This is some legacy when there were Conv_I2I and Conv_I2I8Bit.
-
Matthias Braun authored
The common_transform stuff was meant to be reused by the PBQP code selection which is not maintained anymore.
-
- 28 Dec, 2014 1 commit
-
-
Christoph Mallon authored
-
- 08 Dec, 2014 2 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 07 Dec, 2014 1 commit
-
-
Christoph Mallon authored
-
- 04 Dec, 2014 1 commit
-
-
Christoph Mallon authored
-
- 17 Nov, 2014 3 commits
-
-
Christoph Mallon authored
* Provide a function for a full Immediate (entity + constant) and one for just a constant * Place all immediates in the start block * This slightly reduces the inconsistency, that some constant-only Immediates had no_pic_adjust set
-
Christoph Mallon authored
-
Christoph Mallon authored
-
- 16 Nov, 2014 1 commit
-
-
Christoph Mallon authored
ia32: Merge the attributes use_frame, need_stackent, need_32bit_stackent and need_64bit_stackent into one attribute. * Out of the 16 possible combinations of these four boolean attributes, only four are sensible. * This correct the latent bug, that not all of these attributes were compared in ia32_attrs_equal_().
-
- 13 Nov, 2014 3 commits
-
-
Christoph Mallon authored
-
Christoph Mallon authored
All other structs holding a register class call it cls, too.
-
Christoph Mallon authored
ia32: Directly put the bitfields in ia32_attr_t instead of having another struct needlessly wrapping them.
-
- 12 Nov, 2014 2 commits
-
-
Christoph Mallon authored
This way we do not need to create a new Proj, when we replace a Store + IncSP by a Push.
-
Christoph Mallon authored
-
- 11 Nov, 2014 1 commit
-
-
Christoph Mallon authored
-
- 22 Oct, 2014 1 commit
-
-
Christoph Mallon authored
Most others were unused and removed already. These three were used, but lost their meaning long ago when the users of the others were removed.
-
- 02 Oct, 2014 1 commit
-
-
Matthias Braun authored
-
- 17 Sep, 2014 1 commit
-
-
Matthias Braun authored
-