about summary refs log tree commit diff stats
path: root/059generic_recipe.cc
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-11-04 23:44:46 -0800
committerKartik K. Agaram <vc@akkartik.com>2015-11-04 23:44:46 -0800
commit436b2b2eac33b893f7b9b0a7229ac1d98c034d2c (patch)
tree6619f453b5fd99b204380b17b94e9d8321e642f1 /059generic_recipe.cc
parent54275c64e2404612bf8754238bf71ae805f4022e (diff)
downloadmu-436b2b2eac33b893f7b9b0a7229ac1d98c034d2c.tar.gz
2360
More flailing around trying to come up with the right phase ordering.
I've tried to narrow down each transform's constraints wrt transforms in
previous layers.

One issue that keeps biting me is the Type map containing empty records
because of stray [] operations. That's gotta be important.
Diffstat (limited to '059generic_recipe.cc')
-rw-r--r--059generic_recipe.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/059generic_recipe.cc b/059generic_recipe.cc
index 0f5d85a1..72521285 100644
--- a/059generic_recipe.cc
+++ b/059generic_recipe.cc
@@ -20,6 +20,12 @@ recipe foo a:_t -> result:_t [
 +mem: storing 14 in location 11
 +mem: storing 15 in location 12
 
+//: Suppress unknown type checks in generic recipes. Their specializations
+//: will be checked.
+
+:(after "void check_invalid_types(const recipe_ordinal r)")
+  if (any_type_ingredient_in_header(r)) return;
+
 :(before "End Instruction Dispatch(inst, best_score)")
 if (best_score == -1) {
   trace(9992, "transform") << "no variant found; searching for variant with suitable type ingredients" << end();