summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-07 19:13:09 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-07 19:13:09 +0000
commit2ab4b69ca087a931c0dbe8580af22bc9a0daa63a (patch)
tree85d663891b968ad64aa215cf78d21f0895f7ce0a
parent33bf7e6b5bb3598615baa883f40b3bf6d7746a22 (diff)
downloadgcc-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.melt6
-rw-r--r--gcc/Makefile.in9
-rw-r--r--gcc/basilys.c2
-rw-r--r--gcc/melt/ana-base.bysl26
-rw-r--r--gcc/melt/warmelt-first.bysl4
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)