Commit graph

16 commits

Author SHA1 Message Date
Quentin Carbonneaux
425a2ed09c do not account for interferences in phi classes
Before this commit, I tried to make sure that
two interfering temporaries never ended up in
the same phi class.

This was to make sure that their register hints
were not counterproductively stepping on each
other's toes.  The idea is fine, but:

  * the implementation is clumsy because it
    mixes the orthogonal concepts of
    (i) interference and (ii) phi classes;

  * the hinting process in the register
    allocator is hard to understand because
    the disjoint-set data structure used for
    phi classes is cut in arbitrary places.

After this commit, the phi classes *really* are
phi classes represented with a proper disjoint-set
data structure.
2017-05-16 11:33:41 -04:00
Quentin Carbonneaux
2c2db15995 do sign/zero extensions removal in copy.c 2017-02-25 15:14:12 -05:00
Quentin Carbonneaux
7e1c1f9f77 use uint for block ids 2017-02-06 14:36:27 -05:00
Quentin Carbonneaux
2b4ece6f99 use a less obtuse api for vnew() 2017-01-12 22:31:51 -05:00
Quentin Carbonneaux
12f9d16c7b create cfg.c for cfg-related functions 2016-12-12 22:16:57 -05:00
Quentin Carbonneaux
3f8af2ba7b specify the allocation function in vnew 2016-08-15 22:55:08 -07:00
Quentin Carbonneaux
20c9ec62ff check for trivial undefined uses in ssacheck 2016-04-19 11:04:48 -04:00
Quentin Carbonneaux
c43a07086b factor some subtyping logic in clsmerge() 2016-04-18 14:03:06 -04:00
Quentin Carbonneaux
491c55e6e0 handle odd jumps in blkdel() an renblk() 2016-04-13 12:39:57 -04:00
Quentin Carbonneaux
8992106928 do not compute def-use links for regs 2016-04-13 12:39:57 -04:00
Quentin Carbonneaux
e9dc0035ae hack an ssa validator (likely buggy) 2016-04-13 12:39:57 -04:00
Quentin Carbonneaux
6b1b97c996 fix bug in predecessors filling code 2016-04-12 12:02:56 -04:00
Quentin Carbonneaux
6e70be3f22 simplify fillpreds() code 2016-04-12 10:49:56 -04:00
Quentin Carbonneaux
1e0f18e908 add a proper block deletion routine 2016-04-09 14:21:56 -04:00
Quentin Carbonneaux
729aa97b79 cleanup error handling 2016-03-31 09:15:50 -04:00
Quentin Carbonneaux
b75cb8388f new layout, put LICENSE in root 2016-03-29 10:10:22 -04:00
Renamed from src/ssa.c (Browse further)