diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-09-07 19:13:09 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-09-07 19:13:09 +0000 |
commit | 2ab4b69ca087a931c0dbe8580af22bc9a0daa63a (patch) | |
tree | 85d663891b968ad64aa215cf78d21f0895f7ce0a | |
parent | 33bf7e6b5bb3598615baa883f40b3bf6d7746a22 (diff) | |
download | gcc-2ab4b69ca087a931c0dbe8580af22bc9a0daa63a.tar.gz |
2008-09-07 Basile Starynkevitch <basile@starynkevitch.net>
* basilys.c: disable any MELT basilys pass on errors!
* Makefile.in: added rules to build ana*-n.so etc..
* melt/warmelt-first.bysl: removed some debug msg.
* melt/ana-base.bysl: don't know which kind of pass is it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@140092 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog.melt | 6 | ||||
-rw-r--r-- | gcc/Makefile.in | 9 | ||||
-rw-r--r-- | gcc/basilys.c | 2 | ||||
-rw-r--r-- | gcc/melt/ana-base.bysl | 26 | ||||
-rw-r--r-- | gcc/melt/warmelt-first.bysl | 4 |
5 files changed, 41 insertions, 6 deletions
diff --git a/gcc/ChangeLog.melt b/gcc/ChangeLog.melt index ea4ef81aae5..22783a54efa 100644 --- a/gcc/ChangeLog.melt +++ b/gcc/ChangeLog.melt @@ -1,4 +1,10 @@ 2008-09-07 Basile Starynkevitch <basile@starynkevitch.net> + * basilys.c: disable any MELT basilys pass on errors! + * Makefile.in: added rules to build ana*-n.so etc.. + * melt/warmelt-first.bysl: removed some debug msg. + * melt/ana-base.bysl: don't know which kind of pass is it. + +2008-09-07 Basile Starynkevitch <basile@starynkevitch.net> * doc/melt.texi: updated documentation; removal of -fbasilys-command, and required mode for -fbasilys. * basilys.c (do_initial_command): care about the result of command diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 996618b5784..b05bccb9004 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -4879,7 +4879,16 @@ warm%-n.so : warm%.c built-melt-cc-script ./built-melt-cc-script -DMELTGCC_NOLINENUMBERING $< $@ warm%-d.so : warm%.c built-melt-cc-script ./built-melt-cc-script -d $< $@ +### +ana%.so: ana%.c built-melt-cc-script + ./built-melt-cc-script $< $@ +ana%-n.so : ana%.c built-melt-cc-script + ./built-melt-cc-script -DMELTGCC_NOLINENUMBERING $< $@ +ana%-d.so : ana%.c built-melt-cc-script + ./built-melt-cc-script -d $< $@ + +## warmelt-%-0.so: $(srcdir)/warmelt-%-0.c built-melt-cc-script ./built-melt-cc-script $< $@ diff --git a/gcc/basilys.c b/gcc/basilys.c index d7c0765dc14..94d51c33143 100644 --- a/gcc/basilys.c +++ b/gcc/basilys.c @@ -7967,7 +7967,7 @@ dispatch_gate_basilys (const char *passname) #define passv curfram__.varptr[1] #define gatev curfram__.varptr[2] #define resvalv curfram__.varptr[3] - if (!basilys_mode_string || !basilys_mode_string[0]) + if (errorcount >0 || sorrycount >0 || !basilys_mode_string || !basilys_mode_string[0]) goto end; passdictv = basilys_object_nth_field ((basilys_ptr_t) diff --git a/gcc/melt/ana-base.bysl b/gcc/melt/ana-base.bysl index afeaf0a6c49..61c559a19b6 100644 --- a/gcc/melt/ana-base.bysl +++ b/gcc/melt/ana-base.bysl @@ -222,16 +222,36 @@ ) ) +(defprimitive debugtree (:cstring msg :tree tr) :void + " do{debugeprintf(\"debugtree %s\", " msg ");" + "if (flag_basilys_debug) debug_tree(" tr ");}while(0) " +) + +(defprimitive debuggimple(:cstring msg :gimple g) :void + " do{debugeprintf(\"debuggimple %s\", " msg ");" + "if (flag_basilys_debug) debug_gimple_stmt(" g ");}while(0) " +) + +(defprimitive debuggimpleseq(:cstring msg :gimpleseq g) :void + " do{debugeprintf(\"debuggimpleseq %s\", " msg ");" + "if (flag_basilys_debug) debug_gimple_seq(" g ");}while(0) " +) + ;; apply a function to every cfun -its decl & bodyseq (defun do_each_cfun (f) + (debug_msg f "do_each_cfun f") (each_cgraph_fun () (:tree decl :gimpleseq bdy) + (debugtree "do_each_cfun decl" decl) + (debuggimpleseq "do_each_cfun bdy" bdy) (let ( (dclval (make_tree discr_tree decl)) (bdyval (make_gimpleseq discr_gimpleseq bdy)) ) + (debug_msg dclval "do_each_cfun inside dclval") + (debug_msg bdyval "do_each_cfun inside bdyval") (f dclval bdyval) - ))) + ))) ;;;; iterate on a gimpleseq (defciterator each_in_gimpleseq @@ -304,10 +324,10 @@ ;;; our simple analysis command -fbasilys=simpana (defun simpana_command (dispatcher arg secarg moduldata) ;(debug_msg moduldata "simpana moduldata") - (unsafe_put_fields basilys_ipa_gccpass + (unsafe_put_fields basilys_earlyopt_gccpass :gccpass_gate simpana_ipagate :gccpass_exec simpana_ipaexec) - (debug_msg basilys_ipa_gccpass "simpana sets basilys_ipa_gccpass") + (debug_msg basilys_earlyopt_gccpass "simpana sets basilys_earlyopt_gccpass") (return dispatcher) ;return non-nil to continue compilation ) (install_initial_command diff --git a/gcc/melt/warmelt-first.bysl b/gcc/melt/warmelt-first.bysl index 168ff4e8571..1ad46c1bfe3 100644 --- a/gcc/melt/warmelt-first.bysl +++ b/gcc/melt/warmelt-first.bysl @@ -1475,7 +1475,7 @@ (newcont (make_instance class_container :container_value newenv)) ) - (debug_msg newcont "initfresh_contenvmaker result newcont") + ;(debug_msg newcont "initfresh_contenvmaker result newcont") (return newcont) )) @@ -1575,7 +1575,7 @@ (defun initvalue_importer (sym parenv) ;(debug_msg sym "initvalue_importer sym") (assert_msg "check sym" (is_a sym class_symbol)) - (if (need_dbg 0) (shortbacktrace_dbg "initvalue_importer" 15)) + ;(if (need_dbg 0) (shortbacktrace_dbg "initvalue_importer" 15)) ;(outcstring_err "importing value ") ;(outstr_err (unsafe_get_field :named_name sym)) ;(outnewline_err) |