Commit Graph

  • eb4db17f36 work on inlining Csaba Hruska 2018-03-01 19:45:06 +0100
  • 804d409cbe rename: sparse case optimisation Csaba Hruska 2018-03-01 19:44:36 +0100
  • 3041f062a3 add pdf page links for optimising transformations Csaba Hruska 2018-03-01 19:34:09 +0100
  • 002752ae38 add optimising transformations list to readme Csaba Hruska 2018-03-01 19:24:30 +0100
  • d06c2624c7 improve comment Csaba Hruska 2018-03-01 16:28:13 +0100
  • bba5da1a17 add misc notes Csaba Hruska 2018-03-01 16:15:50 +0100
  • 8f915f15f9 add comments Csaba Hruska 2018-03-01 16:10:33 +0100
  • b6f4d0341e add comment Csaba Hruska 2018-03-01 13:56:12 +0100
  • 88c3553b27 add common sub-expression elimination to the pipeline Csaba Hruska 2018-03-01 13:47:25 +0100
  • 665ccd7c88 implement common sub-expression elimination Csaba Hruska 2018-03-01 13:42:45 +0100
  • aa9761a022 add type signatures Csaba Hruska 2018-03-01 11:03:40 +0100
  • 75cdc733f3 add dead variable elimination to the pipeline Csaba Hruska 2018-03-01 02:02:34 +0100
  • 78eeb77343 implement dead variable elimination Csaba Hruska 2018-03-01 01:58:51 +0100
  • f2d24392f0 fix copy propagation Csaba Hruska 2018-03-01 00:07:27 +0100
  • 06ce89d524 improve split fetch and right hoist fetch to leave out dummy operations by using hylo and ana Csaba Hruska 2018-02-28 23:56:28 +0100
  • 81276ce8db fix error message Csaba Hruska 2018-02-28 21:34:04 +0100
  • 6f43c6e0cb fix dead procedure elimination Csaba Hruska 2018-02-28 21:33:55 +0100
  • 93f384a21b add comment Csaba Hruska 2018-02-28 20:55:26 +0100
  • 5459a38cff add dead procedure elimination to the pipeline Csaba Hruska 2018-02-28 20:41:10 +0100
  • 7917d822ca implement dead procedure elimination Csaba Hruska 2018-02-28 20:37:41 +0100
  • 93557e323e add constant propagation to the pipeline Csaba Hruska 2018-02-28 17:52:56 +0100
  • 20498569c1 implement constant propagation Csaba Hruska 2018-02-28 17:50:07 +0100
  • cbf0ef5f77 add copy propagation to pipeline Csaba Hruska 2018-02-28 14:40:38 +0100
  • 31a1ab572b fix: compose substitutions Csaba Hruska 2018-02-28 14:38:30 +0100
  • 7efa5a1d88 implement copy propagation Csaba Hruska 2018-02-28 14:27:07 +0100
  • 83ad0affae add comment Csaba Hruska 2018-02-28 05:20:34 +0100
  • 514ea3a0c7 add todo Csaba Hruska 2018-02-28 05:14:43 +0100
  • 7595ef4e93 add update elimination to the pipeline Csaba Hruska 2018-02-27 16:16:14 +0100
  • 3c3280d984 implement update elimination Csaba Hruska 2018-02-27 16:12:31 +0100
  • 8aa6959c57 add sparse case elimination to the pipeline Csaba Hruska 2018-02-27 15:47:01 +0100
  • 0b67642895 implement sparse case elimination Csaba Hruska 2018-02-27 15:41:33 +0100
  • d5ec5e7675 move utility function to a more common module to make it reusable Csaba Hruska 2018-02-27 15:39:56 +0100
  • 32f602029d add trivial case elimination to pipeline Csaba Hruska 2018-02-27 15:07:31 +0100
  • 1e397c5a9f implement trivial case elimination Csaba Hruska 2018-02-27 15:04:52 +0100
  • 9589313f7c add evaluated case elimination to the pipeline Csaba Hruska 2018-02-27 14:54:10 +0100
  • 8958a1530b implement evaluated case elimination Csaba Hruska 2018-02-27 14:53:49 +0100
  • 16d6526034 rely on util module ; improve substitution Csaba Hruska 2018-02-27 11:09:29 +0100
  • ddf4ca3b59 rely on util module Csaba Hruska 2018-02-27 11:08:48 +0100
  • a69343ebad factor out utility code into a module Csaba Hruska 2018-02-27 11:08:00 +0100
  • 5a3fff3651 add utility function Csaba Hruska 2018-02-27 11:06:49 +0100
  • 17645aed90 mark for cleanup Csaba Hruska 2018-02-27 11:06:02 +0100
  • 49e5e7205b update case simplification to match the new VarTagNode (tagged union) semantics var-tag-node-is-tagged-union Csaba Hruska 2018-02-26 19:50:37 +0100
  • 795875b215 extended VarTagNode that plays the role of tagged union and also includes the mapping ; new vectorisation Csaba Hruska 2018-02-26 19:10:06 +0100
  • f981962f4e Inject expression generator to prog generation. Andor Penzes 2018-02-25 18:28:25 +0100
  • 2b2ea8af94 Pipeline step checks if there was an effect on the program. Andor Penzes 2018-02-25 17:54:33 +0100
  • 9e37b6040a Sepearate Grammar from tests. Andor Penzes 2018-02-25 17:28:47 +0100
  • bd5dc3be1b Show coverage on travis. Andor Penzes 2018-02-25 15:06:17 +0100
  • 22c27d7399 Run transformations on random programs. Andor Penzes 2018-02-25 14:53:59 +0100
  • 20ed224e7c cleanup comments Csaba Hruska 2018-02-25 07:57:33 +0100
  • 43ca1a9ee2 Generate test programs with read, store, update. Andor Penzes 2018-02-24 18:30:57 +0100
  • f410669201 Generate store ints. Andor Penzes 2018-02-24 18:13:08 +0100
  • 52aa3d1b7a initial version of the dependent GRIN type system Csaba Hruska 2018-02-23 15:01:16 +0100
  • d0e7cc2a02 add todo Csaba Hruska 2018-02-23 12:26:59 +0100
  • 45dfb47609 fix travis script Csaba Hruska 2018-02-23 12:23:47 +0100
  • 518dd17587 print error message for unimplemented codegen cases Csaba Hruska 2018-02-23 12:07:30 +0100
  • f716664966 add todo Csaba Hruska 2018-02-23 11:54:45 +0100
  • bbdf1065c0
    Update MVP.md Csaba Hruska 2018-02-22 23:08:48 +0100
  • b3fe52aad0 include sum_simple in llvm codegen benchmark Csaba Hruska 2018-02-22 23:03:35 +0100
  • eab5bf49b6 fix llvm jit: disable jump tables ; more robust code Csaba Hruska 2018-02-22 22:06:26 +0100
  • 9860f697a5 fix heap pointer adjustment Csaba Hruska 2018-02-22 17:04:47 +0100
  • 0b99c74b96 work on heap pointer adjustment for store codegen Csaba Hruska 2018-02-22 16:55:40 +0100
  • 45e612ce14 implement heap pointer handling for case alternatives Csaba Hruska 2018-02-22 15:49:32 +0100
  • 6eaaa0abf0 pass and return heap pointer explicitly between functions Csaba Hruska 2018-02-22 15:48:31 +0100
  • b75648c5cc add todo Csaba Hruska 2018-02-22 14:33:04 +0100
  • 9be3aa75f6 cleanup imports Csaba Hruska 2018-02-22 09:58:20 +0100
  • bea4a729e8 llvm jit allocates a fixed size heap Csaba Hruska 2018-02-22 09:03:11 +0100
  • ee3d2cfb79 convert function arguments before function call Csaba Hruska 2018-02-22 08:49:11 +0100
  • 2c29fabfa9 initial work on heap pointer passing Csaba Hruska 2018-02-22 02:45:12 +0100
  • 2ad6310baf rework bind codegen Csaba Hruska 2018-02-22 01:55:06 +0100
  • 9edb6a977e rework case codegen Csaba Hruska 2018-02-22 01:36:08 +0100
  • 01261ce66f work in progress of removing mondadfix based case codegen Csaba Hruska 2018-02-22 00:26:36 +0100
  • bff3c23282 introduce CGType that holds useful type information for LLVM codegen ; work on case codegen ; generate descriptive names for llvm local variables Csaba Hruska 2018-02-21 20:50:00 +0100
  • 614032b87e Test: Rename gFunction to gFunctionCall Andor Penzes 2018-02-21 01:42:06 +0100
  • 1d53f3eff6 Test: Generate non overlapping patterns for case. Andor Penzes 2018-02-21 01:34:30 +0100
  • 0238e38f78 Test: generate functions call before cases. Andor Penzes 2018-02-21 01:23:32 +0100
  • ec362d6393 Only test transformed programs. Andor Penzes 2018-02-21 00:10:53 +0100
  • 58eed82e66 codegen for case constant node pattern variable binding Csaba Hruska 2018-02-20 16:40:23 +0100
  • 75bd6da553 minor progress in pattern bind compilation Csaba Hruska 2018-02-20 15:51:56 +0100
  • 522536f4ce fix: add missing tag index Csaba Hruska 2018-02-20 12:22:14 +0100
  • 2a7f336c60
    Update MVP.md Csaba Hruska 2018-02-20 10:34:10 +0100
  • cf2bba2603 fix non node pattern switch codegen Csaba Hruska 2018-02-20 02:12:53 +0100
  • e0c2824216 store instruction result type ; it can not be reconstructed otherwise Csaba Hruska 2018-02-20 02:08:02 +0100
  • 076dc88c8f add missing bool primop codegen Csaba Hruska 2018-02-20 02:06:06 +0100
  • 0c66d5027e Better function generation. Andor Penzes 2018-02-20 01:54:53 +0100
  • 2a1fa12e1b implement store codegen Csaba Hruska 2018-02-19 22:15:21 +0100
  • a1b3f790df factor out tag switching into a codegen combinator Csaba Hruska 2018-02-19 17:03:30 +0100
  • a3767e4c7f bypass copy of identical tagged unions Csaba Hruska 2018-02-19 17:02:35 +0100
  • 87a1c203c1 improve variable names Csaba Hruska 2018-02-19 16:31:29 +0100
  • a5df9fca8e implement tagged union conversion and fetch LLVM codegen Csaba Hruska 2018-02-19 16:28:34 +0100
  • dbb58f5919 implement constant node value construction Csaba Hruska 2018-02-18 22:07:03 +0100
  • 73b881ed1e export pretty Csaba Hruska 2018-02-18 22:06:13 +0100
  • 79422a9d2e fix calculation of tagged union mapping Csaba Hruska 2018-02-18 22:05:49 +0100
  • 254130f95a Better main generation. Andor Penzes 2018-02-18 22:03:37 +0100
  • 5bb823f119 Generate simple values in a more random way. Andor Penzes 2018-02-18 21:53:54 +0100
  • 6c7d4401d4 Better function generation. Andor Penzes 2018-02-18 21:43:40 +0100
  • 33431f8a4f Generate functions. Andor Penzes 2018-02-18 21:22:11 +0100
  • 5281c17113 implement basic node tag allocation Csaba Hruska 2018-02-18 19:55:34 +0100
  • f1417a6126 rework tagged union construction Csaba Hruska 2018-02-18 19:31:28 +0100
  • 6702d832ee fix TypeEnv pretty printer Csaba Hruska 2018-02-18 17:59:59 +0100
  • 7f3c3c7a8f remove tagArity from Tag Csaba Hruska 2018-02-18 16:42:43 +0100