Message ID | CANeU7Qm5czpkmaswwhqyXZn95-eeU-7SM6+uEUBqUh64oEVRKQ@mail.gmail.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
On 08/09/2017 08:30 PM, Christopher Li wrote: > Adding project idea to improve sparse. > > Signed-off-by: Christopher Li <sparse@chrisli.org> > --- > Documentation/project-ideas.md | 52 ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 52 insertions(+) > create mode 100644 Documentation/project-ideas.md > > diff --git a/Documentation/project-ideas.md b/Documentation/project-ideas.md > new file mode 100644 > index 0000000..9adce20 > --- /dev/null > +++ b/Documentation/project-ideas.md > @@ -0,0 +1,52 @@ > +Why hacking on sparse > +===================== > + > +1. sparse is small. > + The full project compiles in less than * seconds on old and not > performing laptop. > +2. sparse is fast. > + Typically, sparse can check on C file ** of time it take for gcc can check a C file in ** of the time it takes for gcc > to generate object files. > +3. sparse can digest the full kernel source file. files. > + With sparse-llvm, sparse use llvm as back end to emit real machine code. uses > + > +New developer hacking on sparse > +============================== > + > + > +* Sparse all sparse warning message should include the option how * All sparse warning messages > + to disable it. > + e.g. "pre-process.c:20*:28: warning: Variable length array is used." > + should be something like > + "pre-process.c:20*:28: warning: Variable length array is > +used. (-Wno-vla)" > +* extend test-inspect to inspect more AST fields. > +* Addd inspect to inspect instructions. * Add > +* adding architecture handling in sparse similar to cgcc > +* parallel processing of test-suit ? test suite > +* Howto: fix the kernel rcu related checker warnings > +* option to disable AST level inline. > +* debug: debug version of sparse do all the verification double > +* testsuit: verify and compare IR (suggested by Dibyendu Majumdar) test suite: > + > +For experienced developers > +========================== > + > +* merge C type on incremental declare of 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: 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 elimination > +* constant propagation using ssa. > +* x86/arm back end instruction set define > +* register allocation. > +* emit x86/arm machine level code > + >
On Thu, Aug 10, 2017 at 3:42 PM, Randy Dunlap <rdunlap@infradead.org> wrote: > On 08/09/2017 08:30 PM, Christopher Li wrote: >> Adding project idea to improve sparse. >> >> Signed-off-by: Christopher Li <sparse@chrisli.org> >> --- >> Documentation/project-ideas.md | 52 ++++++++++++++++++++++++++++++++++++++++++ >> 1 file changed, 52 insertions(+) >> create mode 100644 Documentation/project-ideas.md >> >> diff --git a/Documentation/project-ideas.md b/Documentation/project-ideas.md >> new file mode 100644 >> index 0000000..9adce20 >> --- /dev/null >> +++ b/Documentation/project-ideas.md >> @@ -0,0 +1,52 @@ >> +Why hacking on sparse >> +===================== >> + >> +1. sparse is small. >> + The full project compiles in less than * seconds on old and not >> performing laptop. >> +2. sparse is fast. >> + Typically, sparse can check on C file ** of time it take for gcc > > can check a C file in ** of the time it takes for gcc > >> to generate object files. >> +3. sparse can digest the full kernel source file. > > files. Thanks you so much. Will send out V2 soon. Chris -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/project-ideas.md b/Documentation/project-ideas.md new file mode 100644 index 0000000..9adce20 --- /dev/null +++ b/Documentation/project-ideas.md @@ -0,0 +1,52 @@ +Why hacking on sparse +===================== + +1. sparse is small. + The full project compiles in less than * seconds on old and not performing laptop. +2. sparse is fast. + Typically, sparse can check on C file ** of time it take for gcc to generate object files. +3. sparse can digest the full kernel source file. + With sparse-llvm, sparse use llvm as back end to emit real machine code. + +New developer hacking on sparse +============================== + + +* Sparse all sparse warning message should include the option how + to disable it. + e.g. "pre-process.c:20*:28: warning: Variable length array is used." + should be something like + "pre-process.c:20*: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. +* debug: debug version of sparse do all the verification double +* testsuit: verify and compare IR (suggested by Dibyendu Majumdar) + +For experienced developers +========================== + +* merge C type on incremental declare of 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: 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.
Adding project idea to improve sparse. Signed-off-by: Christopher Li <sparse@chrisli.org> --- Documentation/project-ideas.md | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Documentation/project-ideas.md +* emit x86/arm machine level code +