All of lore.kernel.org
 help / color / mirror / Atom feed
* Upcoming sparse release RC5
@ 2017-08-05 15:46 Christopher Li
       [not found] ` <CACXZuxdLX3r+LrhBJYnC54HZhTN152JkPZAQGqhoQwEFjcyiYw@mail.gmail.com>
  2017-08-05 22:32 ` Luc Van Oostenryck
  0 siblings, 2 replies; 28+ messages in thread
From: Christopher Li @ 2017-08-05 15:46 UTC (permalink / raw)
  To: Linux-Sparse, Luc Van Oostenryck

All the code I want is already in sparse-next. A little bit more testing
I will soon release the RC5.

I want to add two documents.

1) Something similar to the linux kernel submiting-patches.rst
     Especially we need to have some document for the purpose of the
     Signed-off-by: tag. Sparse has different open source license t(MIT) han
     linux kernel (GPL). Any one want to submit a patch?

2) I want to have a document for small project can be done on sparse.
    Thing we want to happen is sparse. The goal of this document is to
     invite more developer to join sparse development.

    We can discuss what we want to see in sparse in the future.
    I especially want some beginner friendly projects. Project that
    don't require too much detail knowledge of internal sparse to work on.

    A little bit of motion speech why you should try sparse if you are
    looking for compiler hacking or teaching compilers in course.
    - sparse is small. The full project compiles in less than 10 seconds on my
      old and not performing laptop.
    - sparse is fast. Typically, sparse can check on C file 1/10 of
time it take for
      gcc to generate object files.
    - sparse can digest  the full kernel source file. With sparse-llvm, sparse
       use llvm as back end to emit real machine code.

     Here is some brain dump, you are welcome to add yours or discuss/disagree
     with some of the projects.

     Project that are relative easy, does not require a lot of back
ground to work on:

     - Sparse all sparse warning message should include the option how
to disable it.
       e.g. "pre-process.c:2019:28: warning: Variable length array is used."
       should be something like
        "pre-process.c:2019:28: warning: Variable length array is
used. (-Wno-vla)"
     - extend test-inspect to inspect more AST fields.
     - Addd inspect to inspect instructions.
     - adding architecture handling in sparse similar to cgcc
     - parallel processing of test-suit
     - Howto: fix the kernel rcu related checker warnings
     - option to disable AST level inline.

    The harder project for more experienced sparse developers:
     - incremental declare on C type and function prototype.
     - move attribute out of ctype to allow easier to add new attribute.
     - serialize, general object walking driven by data structures.
     - serialize, write sparse byte code into file
     - serialize, load sparse byte code from file.
     - symbol index/linker, know which symbol in which byte code file.
     - inline function in instruction level
     - cross function checking
     - checker error output database
     - debug version of sparse do all the verification double
check.(might belong to easy)
     - debug: optimization step by step log
     - debug: fancy animation of CFG

     - phi node location (Luc has patch)
     - revisit crazy programmer warning, invalid ssa form.
     - ptrlist, looping while modify inside the loop.
     - dead code eliminate using ssa
     - constant propagation using ssa.
     - x86/arm back end instruction set define
     - register allocation.
     - emit x86/arm machine level code.

I think that should keep us busy for a while.

Chris

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2017-08-10  1:01 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-05 15:46 Upcoming sparse release RC5 Christopher Li
     [not found] ` <CACXZuxdLX3r+LrhBJYnC54HZhTN152JkPZAQGqhoQwEFjcyiYw@mail.gmail.com>
2017-08-05 16:16   ` Fwd: " Christopher Li
2017-08-05 22:32 ` Luc Van Oostenryck
2017-08-05 22:50   ` Christopher Li
2017-08-07 16:41     ` Luc Van Oostenryck
2017-08-07 23:32       ` Christopher Li
2017-08-07 23:58         ` Luc Van Oostenryck
2017-08-08  0:23         ` Luc Van Oostenryck
2017-08-08  0:42           ` Christopher Li
2017-08-08  0:58             ` Luc Van Oostenryck
2017-08-08  1:34               ` Christopher Li
2017-08-08  1:43                 ` Luc Van Oostenryck
2017-08-08  2:13                 ` Luc Van Oostenryck
2017-08-08  2:38                   ` Christopher Li
2017-08-08  3:31                     ` Linus Torvalds
2017-08-08  4:43                       ` Christopher Li
2017-08-10  0:24                       ` Christopher Li
2017-08-08 12:02                     ` Luc Van Oostenryck
2017-08-08 13:44                       ` Christopher Li
2017-08-08 16:10                         ` Dibyendu Majumdar
2017-08-08 19:03                           ` Christopher Li
2017-08-09  9:10                             ` Dibyendu Majumdar
2017-08-10  0:18                               ` Christopher Li
2017-08-10  0:42                                 ` Dibyendu Majumdar
2017-08-10  1:01                                   ` Christopher Li
2017-08-09  0:40                         ` Luc Van Oostenryck
2017-08-07  2:06   ` Christopher Li
2017-08-07  8:07     ` Luc Van Oostenryck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.