Commit graph

1442 commits

Author SHA1 Message Date
Asuka
1fbcff1001 fix release build for tinydbr 2022-06-12 05:28:53 +08:00
Asuka
7317379de8 fix null attr when create thread 2022-06-12 05:20:39 +08:00
Asuka
dff6d8a109 implement 64 bit branch divergent 2022-06-12 05:20:27 +08:00
Asuka
92d799d7dc basic implementation of branch divergence 2022-06-11 03:13:03 +08:00
Asuka
6efca305ec treat exp instruction as Execute 2022-06-10 19:08:46 +08:00
Asuka
a53adeab39 remove ugly const_cast 2022-06-10 10:11:10 +08:00
Asuka
e57cf30007 ignore 2022-06-10 03:15:33 +08:00
Asuka
05eefad534 merge neighbor if scope 2022-06-10 02:57:38 +08:00
Asuka
7e836e897a reimplement branch divergence 2022-06-09 19:28:06 +08:00
Asuka
c3ee72619e adjust some rules 2022-06-07 10:51:22 +08:00
Asuka
77415731b1 fix vop2 decode for vop3b instructions 2022-06-07 10:44:57 +08:00
Asuka
1a695e2fd8 restruct some code 2022-06-07 09:09:27 +08:00
Asuka
4000a8bd5e add some comments on debug printf 2022-06-07 03:51:28 +08:00
Asuka
ab0673b996 fix block create and merge bugs 2022-06-07 03:11:32 +08:00
Asuka
8adc4cbf5a fix block merge at end token 2022-06-07 02:04:39 +08:00
Asuka
4e44d11080 implement token compiling 2022-06-06 17:46:12 +08:00
Asuka
352f61cb07 add some comments 2022-06-05 09:11:09 +08:00
Asuka
9c18358548 remove some divergence condition when not neeeded
also fix some divergent action detect
2022-06-05 08:58:47 +08:00
Asuka
15b76dd7c7 optimize token find 2022-06-05 07:53:30 +08:00
Asuka
881f125929 fix code token move construct 2022-06-05 06:40:21 +08:00
Asuka
3925fa5a19 introduce branch divergence 2022-06-05 06:20:51 +08:00
Asuka
2871a004cb remove condition token 2022-06-05 04:16:15 +08:00
Asuka
a6b3f37e93 shrink code token to only include code list 2022-06-05 02:32:56 +08:00
Asuka
29437e9e3c ignore 2022-06-04 11:00:17 +08:00
Asuka
d160d119c9 ignore 2022-06-04 10:58:48 +08:00
Asuka
e0b4619eef add some optimizations
removeRedundantLoops
removeRedundantBlocks
2022-06-04 10:22:41 +08:00
Asuka
b662ea797d assert on irreducible cfg 2022-06-04 08:18:49 +08:00
Asuka
347bfa7f2b finish goto eliminator 2022-06-04 06:49:55 +08:00
Asuka
7a4606e1be part of goto eliminator 2022-06-03 07:56:06 +08:00
Asuka
8821b9967f well, recover successor order again
this makes the code has best readability
2022-06-02 20:35:01 +08:00
Asuka
d911c7b690 reverse successors order, make code more readable 2022-06-02 20:30:35 +08:00
Asuka
645e8eeb19 inverse successors order
so that the final result is more like the original source code
2022-06-02 20:02:46 +08:00
Asuka
b3eabb9737 recover stackifier, remove relooper 2022-06-02 11:03:39 +08:00
Asuka
113768cd34 run optimize pass 2022-06-02 10:36:14 +08:00
Asuka
2998ca0f31 add gpcs4 structures 2022-06-01 23:30:01 +08:00
Asuka
361398242c remove stackifier 2022-06-01 12:00:15 +08:00
Asuka
951497cf19 add binaryen build files 2022-06-01 11:34:43 +08:00
Asuka
d8a18b7fe6 remove useless build options for us 2022-06-01 10:21:20 +08:00
Asuka
39430ed686 add binaryen 2022-06-01 09:53:46 +08:00
Asuka
08fe89fa52 part of goto eliminator 2022-06-01 01:45:38 +08:00
Asuka
962c483abf token optimize
removeRedundantNesting
adjustLoopEnds
2022-05-30 12:59:59 +08:00
Asuka
fd74750cb9 refine token getIterator 2022-05-30 09:18:50 +08:00
Asuka
2d7be6de97 add fmt library 2022-05-30 06:05:41 +08:00
Asuka
92b239c624 add some optimizations and fall back to C++17 2022-05-30 03:16:39 +08:00
Asuka
ad3c3972b1 ignore 2022-05-29 04:00:54 +08:00
Asuka
5b6e0331ea fix delayed token 2022-05-29 01:55:54 +08:00
Asuka
90557e1258 fix token list build bug
now it works
2022-05-29 01:20:13 +08:00
Asuka
808f28a10f borrow token builder 2022-05-28 05:45:44 +08:00
Asuka
4c44139485 iimplement GcnDominatorTree 2022-05-27 17:29:05 +08:00
Asuka
fedf74478b add some boost files 2022-05-27 15:28:48 +08:00