Commit graph

  • 6f2a7a245a adapt emit to new Ref setting Quentin Carbonneaux 2015-08-03 14:05:43 -04:00
  • 0c20fda622 use regs of the correct type in isel Quentin Carbonneaux 2015-08-03 14:05:21 -04:00
  • 9456200d91 use a new Ref type for registers Quentin Carbonneaux 2015-08-03 13:17:44 -04:00
  • 93601b6d02 patch isel to use symbol types Quentin Carbonneaux 2015-08-03 10:18:21 -04:00
  • 033dce6e17 silence clang warning Quentin Carbonneaux 2015-08-03 10:17:12 -04:00
  • 53e6393295 avoid name conflicts in enums Quentin Carbonneaux 2015-08-02 20:16:18 -04:00
  • 8d2d674466 start change of representation for registers Quentin Carbonneaux 2015-08-01 21:05:18 -04:00
  • cf307002d9 start work on word/long handling Quentin Carbonneaux 2015-08-01 18:17:06 -04:00
  • dff7044a2c replace IA with X for x64 instructions Quentin Carbonneaux 2015-08-01 15:49:02 -04:00
  • 0d5fb419e3 avoid keyword clash by using cons for constants Quentin Carbonneaux 2015-08-01 15:46:09 -04:00
  • a2a2231027 cosmetic modifications to parse.c Quentin Carbonneaux 2015-07-31 10:31:15 -04:00
  • d8d17705c4 clean the commutativity + fix bug in emit Quentin Carbonneaux 2015-07-31 10:21:10 -04:00
  • 1a78659dfa cosmetics Quentin Carbonneaux 2015-07-30 22:09:28 -04:00
  • 390045cae1 compress parsref code a little Quentin Carbonneaux 2015-07-30 21:58:52 -04:00
  • 92be2fdd17 start improving constants support Quentin Carbonneaux 2015-07-30 21:32:43 -04:00
  • 837c46ca81 add TODO Quentin Carbonneaux 2015-07-30 09:00:24 -04:00
  • 33b0d919e8 add support for in-block reg. contraints Quentin Carbonneaux 2015-07-29 16:10:37 -04:00
  • bd0a00e555 perform isel before code emission Quentin Carbonneaux 2015-07-29 16:09:58 -04:00
  • d8e40a56ec emit some x86-sepcific instructions Quentin Carbonneaux 2015-07-29 16:09:37 -04:00
  • 5fe13b14e2 compile emit module Quentin Carbonneaux 2015-07-29 09:34:09 -04:00
  • fd964388f7 add a code emitter for at&t syntax Quentin Carbonneaux 2015-07-28 22:40:50 -04:00
  • 5f14d7fd7c silence clang warning Quentin Carbonneaux 2015-07-27 15:16:17 -04:00
  • 854ecd4009 add crippled dce to the allocator Quentin Carbonneaux 2015-07-27 14:57:56 -04:00
  • 8899449c39 complete a crude register allocator Quentin Carbonneaux 2015-07-27 14:34:22 -04:00
  • ee784dbfcd start work on parallel moves Quentin Carbonneaux 2015-07-26 19:17:13 -04:00
  • 33fe5637c5 initiate work on reg allocation Quentin Carbonneaux 2015-07-26 17:21:58 -04:00
  • 8aa8070248 simplify spiller Quentin Carbonneaux 2015-07-26 13:16:56 -04:00
  • b6633a13bc finish spiller, now needs testing! Quentin Carbonneaux 2015-07-25 16:38:02 -04:00
  • 48f90356e0 new euclidean division test Quentin Carbonneaux 2015-07-25 06:39:38 -04:00
  • 5bd9deac8d add more printing support Quentin Carbonneaux 2015-07-25 06:39:05 -04:00
  • e3356b23d5 standardize error message Quentin Carbonneaux 2015-07-24 13:46:11 -04:00
  • f938fccd2b factor some spilling logic Quentin Carbonneaux 2015-07-24 11:06:33 -04:00
  • da652b93f3 comment and fix if(BSET(..)) bug Quentin Carbonneaux 2015-07-24 10:22:33 -04:00
  • 5ac9fbd8e4 new spill test Quentin Carbonneaux 2015-07-24 10:22:07 -04:00
  • 36da4b30cc test isel Quentin Carbonneaux 2015-07-24 09:32:26 -04:00
  • df0836e475 isel logic was moved to spill Quentin Carbonneaux 2015-07-24 09:32:17 -04:00
  • 2981a267f4 add slot addressing and some more spilling Quentin Carbonneaux 2015-07-24 09:31:48 -04:00
  • ea811ab7c2 add simple spill test Quentin Carbonneaux 2015-07-24 09:30:44 -04:00
  • 49130f9edd prepare for block processing Quentin Carbonneaux 2015-07-23 18:09:03 -04:00
  • abdcbe845a this makefile fu was useless Quentin Carbonneaux 2015-07-23 18:03:58 -04:00
  • ee961fb487 always preserve last build Quentin Carbonneaux 2015-07-22 10:28:15 -04:00
  • eb1df2b81e refine assertion in cost computation Quentin Carbonneaux 2015-07-22 07:14:22 -04:00
  • 4f4d4cce6f rework spilling code for jump arguments Quentin Carbonneaux 2015-07-22 07:09:12 -04:00
  • 0d1595c770 refine precision of loop use sets Quentin Carbonneaux 2015-07-22 06:52:57 -04:00
  • 2a4fbbc6e0 move some debug output out of main Quentin Carbonneaux 2015-07-22 06:33:10 -04:00
  • 7202c7dedf simplify tests for hd Quentin Carbonneaux 2015-07-22 05:33:45 -04:00
  • 1891a810e8 nicer debug, bug fixed in loop detection Quentin Carbonneaux 2015-07-22 05:31:53 -04:00
  • 58c314eeaf cosmetics Quentin Carbonneaux 2015-07-22 05:30:59 -04:00
  • b35a7d2acd alt.ssa was in buggy ssa form Quentin Carbonneaux 2015-07-22 04:52:40 -04:00
  • 890c0ada0e attempt to fix loop uses/pressure in spill Quentin Carbonneaux 2015-07-22 04:51:19 -04:00
  • 5ad565e299 improve output, add debug array Quentin Carbonneaux 2015-07-22 04:50:52 -04:00
  • bb2541693e correct phi usage accounting Quentin Carbonneaux 2015-07-22 03:50:52 -04:00
  • 6e8e6d3368 show more spilling data Quentin Carbonneaux 2015-07-22 03:50:15 -04:00
  • 037c1bf141 simplifications Quentin Carbonneaux 2015-07-22 03:01:42 -04:00
  • a6168e6ed5 attempt more correct loop marking Quentin Carbonneaux 2015-07-22 03:00:03 -04:00
  • 3538e769a7 add a live-through temporary to test alt Quentin Carbonneaux 2015-07-21 19:43:27 -04:00
  • 4f9a5df76b more testing code Quentin Carbonneaux 2015-07-21 19:19:24 -04:00
  • 7f8a6d025c test code for the spiller Quentin Carbonneaux 2015-07-21 19:04:13 -04:00
  • 595ad96a34 cosmetics Quentin Carbonneaux 2015-07-21 17:21:53 -04:00
  • 8165e327e0 start working with loops in spill.c Quentin Carbonneaux 2015-07-21 17:10:35 -04:00
  • 0f0ee0466e rework liveness to compute reg pressure Quentin Carbonneaux 2015-07-21 17:08:48 -04:00
  • 7be3711bb6 add pressure in left block of alt.ssa Quentin Carbonneaux 2015-07-21 16:53:43 -04:00
  • 18cdbc1e7d add fun example! Quentin Carbonneaux 2015-07-21 13:02:08 -04:00
  • 226bbb5b71 fix some instruction emitting code Quentin Carbonneaux 2015-07-21 05:50:45 -04:00
  • 73add5daae start work on spiller Quentin Carbonneaux 2015-07-20 17:53:58 -04:00
  • 32cb8d315a define curi as a global too Quentin Carbonneaux 2015-07-20 17:53:32 -04:00
  • 186e68a8d3 single bit bitfield needs to be unsigned Quentin Carbonneaux 2015-07-20 06:02:46 -04:00
  • bba9cf47c9 fix small type issues Quentin Carbonneaux 2015-07-20 05:20:20 -04:00
  • a244ca17f1 start simple work on isel Quentin Carbonneaux 2015-07-19 07:03:52 -04:00
  • a280eb6597 export error functions Quentin Carbonneaux 2015-07-19 07:03:38 -04:00
  • e5a7482b54 rename mod to rem Quentin Carbonneaux 2015-07-18 16:41:02 -04:00
  • c16532b9b0 remove useless typedefs Quentin Carbonneaux 2015-07-17 17:02:09 -04:00
  • 9ecfdf6334 cosmetics Quentin Carbonneaux 2015-07-17 16:54:01 -04:00
  • 77bdb3ae9e move main function out of parse.c Quentin Carbonneaux 2015-07-16 03:25:12 -04:00
  • 7295adcade fix allocation bug Quentin Carbonneaux 2015-07-16 03:22:15 -04:00
  • 9b2823a9f4 simplify liveness Quentin Carbonneaux 2015-07-16 03:10:57 -04:00
  • f3eb798d54 do not use _ in identifiers Quentin Carbonneaux 2015-07-16 03:00:45 -04:00
  • 395891e95c fix phi handling in liveness Quentin Carbonneaux 2015-07-16 02:56:29 -04:00
  • d7548fa5d7 add rpo test and some liveness code Quentin Carbonneaux 2015-07-15 18:01:38 -04:00
  • 58bd1de264 add tests for ssa fixing Quentin Carbonneaux 2015-07-15 16:44:59 -04:00
  • 6c5c11cb1d simplify block handling Quentin Carbonneaux 2015-07-15 16:44:07 -04:00
  • 22c69707ce cosmetics Quentin Carbonneaux 2015-07-15 15:37:26 -04:00
  • 7e53000a1f use argument array for all instructions Quentin Carbonneaux 2015-07-15 13:23:37 -04:00
  • 60f60425cd object files depend on lisc.h Quentin Carbonneaux 2015-07-15 13:23:08 -04:00
  • 17e48f5221 change Ref to a struct Quentin Carbonneaux 2015-07-15 12:41:51 -04:00
  • 065565be83 move opdesc definition Quentin Carbonneaux 2015-07-15 07:15:40 -04:00
  • 0cb8198493 fix some more parsing bugs Quentin Carbonneaux 2015-07-15 07:15:22 -04:00
  • 5a21c7af52 patch jumps too in ssafix Quentin Carbonneaux 2015-07-15 07:14:36 -04:00
  • 66c006eb6d fix some parsing bug of phi nodes Quentin Carbonneaux 2015-07-15 02:56:54 -04:00
  • 68c6feefbd add pretty printing function Quentin Carbonneaux 2015-07-15 02:55:10 -04:00
  • ba1b430524 compile ssa Quentin Carbonneaux 2015-07-14 09:46:41 -04:00
  • 9c958d75a3 update ssa module Quentin Carbonneaux 2015-07-14 09:46:24 -04:00
  • a9b2d0338b change phi nodes representation Quentin Carbonneaux 2015-07-14 06:46:48 -04:00
  • 476e54c5d5 change example to hypothetical syntax Quentin Carbonneaux 2015-07-11 16:11:36 -04:00
  • afb46fe317 remove unused lo.c Quentin Carbonneaux 2015-07-11 16:02:16 -04:00
  • 529920d4f4 give blocks an id Quentin Carbonneaux 2015-07-11 16:01:48 -04:00
  • d165818c66 remove useless parameter in top,bot def Quentin Carbonneaux 2015-07-10 16:43:17 -04:00
  • 8f5548f558 update ssafix, still buggy Quentin Carbonneaux 2015-07-10 16:38:58 -04:00
  • cff56263fa compile the ssa module Quentin Carbonneaux 2015-07-10 16:18:15 -04:00
  • e4f07478ce fix naming Quentin Carbonneaux 2015-07-10 16:17:55 -04:00