Skip to content
Permalink
Branch: master
Commits on Dec 6, 2019
  1. Basic instruction generation in CraneLift backend

    phase committed Dec 6, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Dec 5, 2019
  1. Optimize false literals in if statements

    phase committed Dec 5, 2019
    The false branch will now always be taken.
    
    Signed-off-by: Jadon Fowler <j@jadon.io>
  2. Boolean Literals, If Statements, and Dead Branch Elimination

    phase committed Dec 5, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Dec 3, 2019
  1. Start on converting functions / behaviours in structs / actors to CL IR

    phase committed Dec 3, 2019
    This creates the headers for functions and behaviours in structs and actors.
    Primitive types are converted (mostly), other types still need to be added.
    
    Signed-off-by: Jadon Fowler <j@jadon.io>
  2. Create skeleton for CraneLift and add test cases

    phase committed Dec 3, 2019
    CraneLift, SPIR-V, and CUDA libraries have all been added.
    
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Dec 2, 2019
  1. Start on Test Suite

    phase committed Dec 2, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
  2. Get type of parameters in IR

    phase committed Dec 2, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Nov 27, 2019
  1. Generate IR for Actors and Behaviours

    phase committed Nov 27, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
  2. Use existing functions to parse Actors & Behaviours

    phase committed Nov 27, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
  3. Parse Structs and Fields & Functions inside them

    phase committed Nov 27, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
  4. Change language goals & add structures for Actors

    phase committed Nov 27, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Aug 7, 2019
  1. Flesh out Roadmap

    phase committed Aug 7, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Aug 6, 2019
  1. Fix inner-module resolution & Parse Function Calls

    phase committed Aug 6, 2019
    References in modules to declarations in the same module weren't being
    resolved properly.
    
    Function calls are now parsed though they are pretty primitive.
    
    Signed-off-by: Jadon Fowler <j@jadon.io>
  2. Parse basic statements & expressions

    phase committed Aug 6, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Aug 5, 2019
  1. Add wrapper Lexer with peeking

    phase committed Aug 5, 2019
    The Logos lexer doesn't support peeking ahead to later tokens.
    The wrapper provides a few buffers to support arbitrary peeking.
    
    Signed-off-by: Jadon Fowler <j@jadon.io>
  2. Merge Function Declaration & Definition into just "Function"

    phase committed Aug 5, 2019
    Having both was too complicated, this makes things a lot simpler.
    
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Aug 4, 2019
  1. Add detailed parser errors

    phase committed Aug 4, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
  2. Fix function declarations sometimes not finding their headers

    phase committed Aug 4, 2019
    If a function header isn't found, it is put into the resolution queue
    and it will wait for the module to be completely translated.
    
    Signed-off-by: Jadon Fowler <j@jadon.io>
  3. Use Logos to create tokens and parse Function Declarations

    phase committed Aug 4, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Aug 3, 2019
  1. Add builtin Types and type inference for IR instructions

    phase committed Aug 3, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
  2. Infrastructure for Instructions having Types

    phase committed Aug 3, 2019
    Typed instructions in the IR is going to make a lot of things easier.
    
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Jun 7, 2019
  1. Rename DeclarationWrapper to DeclarationContainer and make it a struct

    phase committed Jun 7, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
  2. Add current module to local IR symbols & rust fmt

    phase committed Jun 7, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Jun 6, 2019
  1. Resolve types for functions from headers

    phase committed Jun 6, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
  2. IR for parameters & refinements

    phase committed Jun 6, 2019
    let add = (a, b) -> {
        return a + b
    }
    
    will generate
    
    let @add(%a, %b):
      block#0:
        %0 = @::+*
        %1 = param %a
        %2 = param %b
        %3 = %0(%1, %2)
        ret %3
    
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Jun 4, 2019
  1. Generate IR for & Print Function Refinements

    phase committed Jun 4, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Mar 29, 2019
  1. Change symbol resolution to support many waiting declarations

    phase committed Mar 29, 2019
    It only supported one resolution at a time! Now it has a Vec containing
    all the declarations waiting on a module.
    
    The DeclarationKind was made optional for contexts where you don't know
    what kind of symbol you want and anything will do.
    
    Signed-off-by: Jadon Fowler <j@jadon.io>
  2. Add Printer for IR Modules

    phase committed Mar 29, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Mar 28, 2019
  1. Generate IR Instructions from Statements & Expressions

    phase committed Mar 28, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Mar 27, 2019
  1. License: MPL 2.0

    phase committed Mar 27, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
  2. Start block creation and add Roadmap

    phase committed Mar 27, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Feb 27, 2019
  1. Rework structs to hold DeclarationWrappers

    phase committed Feb 27, 2019
    Still lots of work to be done but we're getting somewhere.
    
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Feb 26, 2019
  1. Resolve waiting references once modules are added

    phase committed Feb 26, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Feb 21, 2019
  1. Start on resolving symbols

    phase committed Feb 21, 2019
    Signed-off-by: Jadon Fowler <j@jadon.io>
Commits on Feb 14, 2019
  1. Start on concurrent symbol resolution

    phase committed Feb 14, 2019
    We want the Compiler struct to translate the AST to IR concurrently,
    and it will store references that need to be filled in in the
    resolutions_needed map. This map will be filled in once we add
    declarations to the Compiler's list of modules.
    
    Signed-off-by: Jadon Fowler <j@jadon.io>
Older
You can’t perform that action at this time.