Skip to content

Instantly share code, notes, and snippets.

@b1shtream
Forked from RealNeGate/compiler resources.txt
Created January 26, 2024 07:56
Show Gist options
  • Save b1shtream/289f79be6e0cf0e3dc3f07a2dd6167ad to your computer and use it in GitHub Desktop.
Save b1shtream/289f79be6e0cf0e3dc3f07a2dd6167ad to your computer and use it in GitHub Desktop.

Revisions

  1. @RealNeGate RealNeGate revised this gist Dec 13, 2023. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion compiler resources.txt
    Original file line number Diff line number Diff line change
    @@ -16,7 +16,7 @@ Backend:
    https://www.cs.cornell.edu/courses/cs6120/2020fa/lesson/5/

    Fast dominator generation:
    https://www.cs.rice.edu/~keith/EMBED/dom.pdf
    https://www.cs.tufts.edu/comp/150FP/archive/keith-cooper/dom14.pdf

    SSA Folding engine based on Luajit:
    https://gist.github.com/pervognsen/96d116fff14d95ffe51cf084c8604d64
  2. @RealNeGate RealNeGate revised this gist Dec 9, 2023. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions compiler resources.txt
    Original file line number Diff line number Diff line change
    @@ -35,6 +35,7 @@ Backend:
    Constant prop:
    https://www.cs.cornell.edu/courses/cs6120/2019fa/blog/sccp/
    https://www.cs.wustl.edu/~cytron/531Pages/f11/Resources/Papers/cprop.pdf
    Monotone frameworks: http://janvitek.org/events/NEU/7580/papers/more-papers/1977-acta-kam-monotone.pdf

    Good projects:
    https://www.lua.org/source/5.4/
  3. @RealNeGate RealNeGate revised this gist Dec 9, 2023. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions compiler resources.txt
    Original file line number Diff line number Diff line change
    @@ -32,6 +32,10 @@ Backend:
    Dalvik's modified linear scan: https://arxiv.org/pdf/2011.05608.pdf
    Hotspot C1's linear scan work: https://www.usenix.org/legacy/events/vee05/full_papers/p132-wimmer.pdf

    Constant prop:
    https://www.cs.cornell.edu/courses/cs6120/2019fa/blog/sccp/
    https://www.cs.wustl.edu/~cytron/531Pages/f11/Resources/Papers/cprop.pdf

    Good projects:
    https://www.lua.org/source/5.4/
    https://github.com/rui314/minilisp
  4. @RealNeGate RealNeGate revised this gist Nov 7, 2023. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions compiler resources.txt
    Original file line number Diff line number Diff line change
    @@ -13,6 +13,7 @@ Backend:
    SSA explained:
    https://en.wikipedia.org/wiki/Static_single-assignment_form
    https://www.cs.cmu.edu/~rjsimmon/15411-f15/lec/10-ssa.pdf
    https://www.cs.cornell.edu/courses/cs6120/2020fa/lesson/5/

    Fast dominator generation:
    https://www.cs.rice.edu/~keith/EMBED/dom.pdf
  5. @RealNeGate RealNeGate revised this gist Jul 18, 2023. 1 changed file with 0 additions and 2 deletions.
    2 changes: 0 additions & 2 deletions compiler resources.txt
    Original file line number Diff line number Diff line change
    @@ -12,8 +12,6 @@ Backend:

    SSA explained:
    https://en.wikipedia.org/wiki/Static_single-assignment_form

    SSA construction paper:
    https://www.cs.cmu.edu/~rjsimmon/15411-f15/lec/10-ssa.pdf

    Fast dominator generation:
  6. @RealNeGate RealNeGate revised this gist Jul 7, 2023. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion compiler resources.txt
    Original file line number Diff line number Diff line change
    @@ -19,7 +19,7 @@ Backend:
    Fast dominator generation:
    https://www.cs.rice.edu/~keith/EMBED/dom.pdf

    Way to write tiny DFAs which are really fast:
    SSA Folding engine based on Luajit:
    https://gist.github.com/pervognsen/96d116fff14d95ffe51cf084c8604d64

    Sea of nodes:
  7. @RealNeGate RealNeGate revised this gist Jun 23, 2023. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions compiler resources.txt
    Original file line number Diff line number Diff line change
    @@ -15,6 +15,9 @@ Backend:

    SSA construction paper:
    https://www.cs.cmu.edu/~rjsimmon/15411-f15/lec/10-ssa.pdf

    Fast dominator generation:
    https://www.cs.rice.edu/~keith/EMBED/dom.pdf

    Way to write tiny DFAs which are really fast:
    https://gist.github.com/pervognsen/96d116fff14d95ffe51cf084c8604d64
  8. @RealNeGate RealNeGate revised this gist Jun 23, 2023. No changes.
  9. @RealNeGate RealNeGate revised this gist Jun 23, 2023. 1 changed file with 14 additions and 4 deletions.
    18 changes: 14 additions & 4 deletions compiler resources.txt
    Original file line number Diff line number Diff line change
    @@ -9,14 +9,24 @@ Parsing:

    Backend:
    You should read up on SSA and CFGs before going into Sea of nodes.
    https://www.cs.cmu.edu/~rjsimmon/15411-f15/lec/10-ssa.pdf
    https://gist.github.com/pervognsen/96d116fff14d95ffe51cf084c8604d64

    SSA explained:
    https://en.wikipedia.org/wiki/Static_single-assignment_form

    SSA construction paper:
    https://www.cs.cmu.edu/~rjsimmon/15411-f15/lec/10-ssa.pdf

    Way to write tiny DFAs which are really fast:
    https://gist.github.com/pervognsen/96d116fff14d95ffe51cf084c8604d64

    Sea of nodes:
    Cliff Click's original sea of nodes paper: https://www.oracle.com/technetwork/java/javase/tech/c2-ir95-150110.pdf
    Semantic reasoning about sea of nodes: https://hal.inria.fr/hal-01723236/file/sea-of-nodes-hal.pdf
    Cliff Click's original sea of nodes paper:
    https://www.oracle.com/technetwork/java/javase/tech/c2-ir95-150110.pdf
    Semantic reasoning about sea of nodes:
    https://hal.inria.fr/hal-01723236/file/sea-of-nodes-hal.pdf

    Register allocation:
    Linear scan: https://en.wikipedia.org/wiki/Register_allocation#Linear_scan
    Dalvik's modified linear scan: https://arxiv.org/pdf/2011.05608.pdf
    Hotspot C1's linear scan work: https://www.usenix.org/legacy/events/vee05/full_papers/p132-wimmer.pdf

  10. @RealNeGate RealNeGate revised this gist Jun 23, 2023. 1 changed file with 8 additions and 0 deletions.
    8 changes: 8 additions & 0 deletions compiler resources.txt
    Original file line number Diff line number Diff line change
    @@ -11,6 +11,14 @@ Backend:
    You should read up on SSA and CFGs before going into Sea of nodes.
    https://www.cs.cmu.edu/~rjsimmon/15411-f15/lec/10-ssa.pdf
    https://gist.github.com/pervognsen/96d116fff14d95ffe51cf084c8604d64

    Sea of nodes:
    Cliff Click's original sea of nodes paper: https://www.oracle.com/technetwork/java/javase/tech/c2-ir95-150110.pdf
    Semantic reasoning about sea of nodes: https://hal.inria.fr/hal-01723236/file/sea-of-nodes-hal.pdf

    Register allocation:
    Dalvik's modified linear scan: https://arxiv.org/pdf/2011.05608.pdf
    Hotspot C1's linear scan work: https://www.usenix.org/legacy/events/vee05/full_papers/p132-wimmer.pdf

    Good projects:
    https://www.lua.org/source/5.4/
  11. @RealNeGate RealNeGate renamed this gist Jun 23, 2023. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  12. @RealNeGate RealNeGate revised this gist Jun 23, 2023. No changes.
  13. @RealNeGate RealNeGate created this gist Jun 23, 2023.
    18 changes: 18 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,18 @@
    Complete stuff:
    https://xmonader.github.io/letsbuildacompiler-pretty/

    Lexers + DFAs:
    https://gist.github.com/pervognsen/218ea17743e1442e59bb60d29b1aa725

    Parsing:
    https://eli.thegreenplace.net/2012/08/02/parsing-expressions-by-precedence-climbing

    Backend:
    You should read up on SSA and CFGs before going into Sea of nodes.
    https://www.cs.cmu.edu/~rjsimmon/15411-f15/lec/10-ssa.pdf
    https://gist.github.com/pervognsen/96d116fff14d95ffe51cf084c8604d64

    Good projects:
    https://www.lua.org/source/5.4/
    https://github.com/rui314/minilisp