]> git.ipfire.org Git - thirdparty/bird.git/blobdiff - filter/f-inst.h
Filter: Implement constant promotion for multiple dispatch methods
[thirdparty/bird.git] / filter / f-inst.h
index f5dfcd2021c983dded74c48d60e4a747ea1f2fa9..e8147e2683634a0697318d0a73d5198bd4b9f7eb 100644 (file)
@@ -36,6 +36,16 @@ const char *f_instruction_name_(enum f_instruction_code fi);
 static inline const char *f_instruction_name(enum f_instruction_code fi)
 { return f_instruction_name_(fi) + 3; }
 
+
+int f_const_promotion_(struct f_inst *arg, enum f_type want, int update);
+
+static inline int f_const_promotion(struct f_inst *arg, enum f_type want)
+{ return f_const_promotion_(arg, want, 1); }
+
+static inline int f_try_const_promotion(struct f_inst *arg, enum f_type want)
+{ return f_const_promotion_(arg, want, 0); }
+
+
 struct f_arg {
   struct symbol *arg;
   struct f_arg *next;