Commit graph

  • 1f7acbd88f specialize vdup into idup Quentin Carbonneaux 2015-10-06 13:22:46 -04:00
  • ce72ad0ecd factor ins array edition in icpy Quentin Carbonneaux 2015-10-06 13:15:52 -04:00
  • a83174f447 factor vector duplication in vdup() Quentin Carbonneaux 2015-10-05 21:27:02 -04:00
  • 60aacea0c3 rename blocka to balloc Quentin Carbonneaux 2015-10-05 17:34:26 -04:00
  • 2d8b7a6baf remove useless ntyp in util.c Quentin Carbonneaux 2015-10-05 17:32:35 -04:00
  • bc9233d278 implement popcnt with a simple loop Quentin Carbonneaux 2015-10-05 17:30:03 -04:00
  • e30fab31e1 factor some utility functions/data in util.c Quentin Carbonneaux 2015-10-05 17:23:54 -04:00
  • cb4d738c36 fix debug output of liveness Quentin Carbonneaux 2015-10-05 16:14:04 -04:00
  • a18e0ef50f clean the command line interface Quentin Carbonneaux 2015-10-05 15:57:04 -04:00
  • a5428d33e1 remove example file Quentin Carbonneaux 2015-10-04 22:54:07 -04:00
  • 5b583f0f1b add gitignore to minic/ Quentin Carbonneaux 2015-10-04 22:53:47 -04:00
  • 4eb54dc750 support unary minus Quentin Carbonneaux 2015-10-04 21:08:57 -04:00
  • ae38614f94 add post {in,de}crement support + fix grammar Quentin Carbonneaux 2015-10-04 21:01:56 -04:00
  • 47dcf86f19 update test to new syntax Quentin Carbonneaux 2015-10-04 15:19:05 -04:00
  • 6b3cbe2e83 parse functions in minic Quentin Carbonneaux 2015-10-04 15:18:23 -04:00
  • 4beee73fd3 update miniyacc Quentin Carbonneaux 2015-10-04 15:17:58 -04:00
  • 5b8b78f2f1 == and != do not consider signs Quentin Carbonneaux 2015-10-03 11:38:28 -04:00
  • 04ed7f56aa minor bug in case While Quentin Carbonneaux 2015-10-02 15:46:24 -04:00
  • d1c348bf15 oops, stupid swap in a printf Quentin Carbonneaux 2015-10-02 15:36:48 -04:00
  • 30eced928c start an example compiler for a subset of C Quentin Carbonneaux 2015-10-02 15:34:38 -04:00
  • ecaad8119f fix a bug for structure arguments in regs Quentin Carbonneaux 2015-10-01 13:20:21 -04:00
  • 3ef2693154 support negative frame offsets in emit Quentin Carbonneaux 2015-10-01 13:19:09 -04:00
  • 2d5c07fa4e remove dead assignment Quentin Carbonneaux 2015-09-30 11:48:50 -04:00
  • 94597f72d9 finalize the new slot system Quentin Carbonneaux 2015-09-30 11:26:59 -04:00
  • fa298cc9e1 use more machine registers Quentin Carbonneaux 2015-09-30 11:25:33 -04:00
  • 7333826bce uniformize alignment code in framesz() Quentin Carbonneaux 2015-09-30 11:25:18 -04:00
  • 790f852b96 fix two invalid Tmp.spill values Quentin Carbonneaux 2015-09-30 10:34:52 -04:00
  • e2174da2f1 wip on new stack slots (emit, spill) Quentin Carbonneaux 2015-09-29 22:25:49 -04:00
  • ae158a5c40 more fixes for the new slot representation Quentin Carbonneaux 2015-09-29 17:39:41 -04:00
  • 5e5d0a1e99 wip on a simpler slot handling Quentin Carbonneaux 2015-09-29 17:23:55 -04:00
  • fdbff25a61 stupid hinting works better without traces! Quentin Carbonneaux 2015-09-28 11:36:36 -04:00
  • 538e3aff7f compute reg interferences in filllive() Quentin Carbonneaux 2015-09-27 20:31:07 -04:00
  • 2273d22ced do not merge phi classes of interfering temps Quentin Carbonneaux 2015-09-26 16:34:18 -04:00
  • aa9dc34399 move the liveon() function in live.c Quentin Carbonneaux 2015-09-26 16:33:29 -04:00
  • e80b84ebdb fresh new trace based allocator (needs tuning) Quentin Carbonneaux 2015-09-25 16:19:03 -04:00
  • 03d5ec674a prepare rega for trace-based allocation Quentin Carbonneaux 2015-09-25 13:03:39 -04:00
  • f3bd48945e add union-find based phi-class computation Quentin Carbonneaux 2015-09-25 13:02:39 -04:00
  • 08a2ffe8c4 change controversial (at best) typedef Quentin Carbonneaux 2015-09-25 12:14:50 -04:00
  • 4dccbf22f3 move return type information into Fn Quentin Carbonneaux 2015-09-25 11:33:50 -04:00
  • 2d5302df71 small simplification in seljmp Quentin Carbonneaux 2015-09-22 20:47:02 -04:00
  • 12cfd93e26 improve error reporting in the parser Quentin Carbonneaux 2015-09-22 17:28:03 -04:00
  • 3ef1d83866 do not do dce on register assignments Quentin Carbonneaux 2015-09-22 17:25:03 -04:00
  • bbbc8994f9 compile retw and retl as a move in rax Quentin Carbonneaux 2015-09-22 17:24:26 -04:00
  • e94592379f oops, missing newline in pretty-printer Quentin Carbonneaux 2015-09-22 17:23:58 -04:00
  • 98c5a405bb parse return types of functions Quentin Carbonneaux 2015-09-22 16:52:48 -04:00
  • 9db3c3cf3e print size suffix for swap Quentin Carbonneaux 2015-09-21 22:37:59 -04:00
  • 95d9a335df fix rega bug for indirect calls Quentin Carbonneaux 2015-09-21 19:53:12 -04:00
  • ff607f1a1e emit syntactically valid calls Quentin Carbonneaux 2015-09-21 19:28:10 -04:00
  • fb0803ec13 factor formatting inside emitf Quentin Carbonneaux 2015-09-20 17:59:01 -04:00
  • 540bf52836 simplify two loops with a pointer Quentin Carbonneaux 2015-09-20 17:51:04 -04:00
  • 9fcad221d0 save callee-save registers Quentin Carbonneaux 2015-09-20 17:46:17 -04:00
  • dab9590ce7 add the first stand-alone test program Quentin Carbonneaux 2015-09-18 17:50:14 -04:00
  • e6048212be use new function syntax in tests Quentin Carbonneaux 2015-09-18 12:27:50 -04:00
  • fff669e54a this fixme was really more a todo Quentin Carbonneaux 2015-09-17 21:24:46 -04:00
  • 10b6fe1de7 add hack in emit to support stack arguments Quentin Carbonneaux 2015-09-17 21:12:54 -04:00
  • 4d7c42d4fb fix buggy handling of stack arguments in selpar() Quentin Carbonneaux 2015-09-17 21:12:42 -04:00
  • 7540024f78 fix two bugs in selpar() Quentin Carbonneaux 2015-09-17 19:56:39 -04:00
  • 559617855a pretty print OPar os parn Quentin Carbonneaux 2015-09-17 19:52:29 -04:00
  • 43912f18fc parse parameter lists of functions Quentin Carbonneaux 2015-09-17 19:50:39 -04:00
  • 4a2c4d63f9 fix memcpy bug Quentin Carbonneaux 2015-09-17 19:50:26 -04:00
  • c298820211 start work on fuction parameters Quentin Carbonneaux 2015-09-17 19:29:49 -04:00
  • bca7e0c32d follow suggestion of gcc Quentin Carbonneaux 2015-09-16 22:45:01 -04:00
  • 76e877f125 use unison default choices Quentin Carbonneaux 2015-09-15 23:34:10 -04:00
  • 125a88df99 synchronize large doc with unison Quentin Carbonneaux 2015-09-15 23:27:52 -04:00
  • a60cff4d39 fix call bug in rega Quentin Carbonneaux 2015-09-15 01:09:55 -04:00
  • 8f43615a21 simplify call handling in spiller Quentin Carbonneaux 2015-09-15 01:00:20 -04:00
  • f7bfa2e435 heavy modification of call handling Quentin Carbonneaux 2015-09-14 23:36:26 -04:00
  • bad74e6dce emit stack fixup only when necessary Quentin Carbonneaux 2015-09-14 18:06:53 -04:00
  • ee46ff8dad cosmetic indentation style fix Quentin Carbonneaux 2015-09-14 18:06:29 -04:00
  • 73b7d9b199 reshuffle instructions around call Quentin Carbonneaux 2015-09-14 00:48:24 -04:00
  • a6aa774cbb drop arity information from OpDesc Quentin Carbonneaux 2015-09-13 16:04:18 -04:00
  • 391c9ea201 add a simple function call test Quentin Carbonneaux 2015-09-12 23:04:20 -04:00
  • f8d922b27c hack to enable proper regalloc on calls Quentin Carbonneaux 2015-09-12 20:42:20 -04:00
  • b5a009347e fix alignment for structs on the stack Quentin Carbonneaux 2015-09-11 21:13:35 -04:00
  • 9bb69bf4c7 diagnose float structs Quentin Carbonneaux 2015-09-11 14:27:46 -04:00
  • ece185f067 implement aggregate passing in regs Quentin Carbonneaux 2015-09-11 14:10:05 -04:00
  • 8201c6161e start function call lowering (wip) Quentin Carbonneaux 2015-09-10 22:55:03 -04:00
  • 7e86fc39fc add parsing code for function calls Quentin Carbonneaux 2015-09-09 18:33:00 -04:00
  • 9210e17c78 define a new CMPS macro, shorten Type Quentin Carbonneaux 2015-09-08 16:16:08 -04:00
  • 6c2d812407 make type size unsigned Quentin Carbonneaux 2015-09-07 23:08:27 -04:00
  • 0921f4b551 fix minor type parsing bugs Quentin Carbonneaux 2015-09-07 23:06:13 -04:00
  • a1b3e82dc9 turn test files in one function definition Quentin Carbonneaux 2015-09-07 22:11:43 -04:00
  • 87ab8941ed start work on aggregate types Quentin Carbonneaux 2015-09-07 21:59:45 -04:00
  • 8f2922eb1a add source and authorship to cprime.ssa Quentin Carbonneaux 2015-08-25 12:10:52 -04:00
  • 81b25dbe0b add the first generated test! Quentin Carbonneaux 2015-08-25 12:00:53 -04:00
  • 3920ee9951 split some long calls Quentin Carbonneaux 2015-08-24 18:39:51 -04:00
  • a68196ccc1 new alignment test Quentin Carbonneaux 2015-08-24 18:09:28 -04:00
  • f6349f4b6e get rid of OTrunc Quentin Carbonneaux 2015-08-24 17:53:30 -04:00
  • 5b93eb644a fix two bugs in new emit Quentin Carbonneaux 2015-08-24 17:46:43 -04:00
  • 7beed9e6cf update emit to the new setting Quentin Carbonneaux 2015-08-24 17:39:52 -04:00
  • d9b9c68532 new meaning for comparison types Quentin Carbonneaux 2015-08-24 17:36:57 -04:00
  • 0f0290c1db the wide bit of OAddr matters! Quentin Carbonneaux 2015-08-24 17:36:31 -04:00
  • 7594f57a3e more modifications to rega Quentin Carbonneaux 2015-08-24 13:17:47 -04:00
  • 28110b1439 add a size to all operations (wip) Quentin Carbonneaux 2015-08-24 12:39:55 -04:00
  • 0ad9bf1c60 add new prime finding program Quentin Carbonneaux 2015-08-23 11:44:21 -04:00
  • 99a8fb67ac fix invalid test in emit Quentin Carbonneaux 2015-08-22 21:19:50 -04:00
  • 2db68eed12 my assumptions in dopm() were wrong Quentin Carbonneaux 2015-08-22 20:15:47 -04:00
  • 390c5addd6 output labels only when necessary Quentin Carbonneaux 2015-08-22 16:02:12 -04:00
  • 1eb8758824 simplify rega's dopm() Quentin Carbonneaux 2015-08-22 10:18:40 -04:00
  • 762fb723e5 make spiller aware of parallel assignments Quentin Carbonneaux 2015-08-22 10:18:16 -04:00