Bad and Unknown are pinned instructions yet, speeding up code placement
[libfirm] / ir / ir / irflag_t.h
index db6cb62..92f6253 100644 (file)
@@ -72,6 +72,15 @@ typedef enum {
   /** Remove tail-recursion. */
   OPT_TAIL_RECURSION                     = 0x00002000,
 
+  /** Free never called methods */
+  OPT_DEAD_METHOD_ELIMINATION            = 0x00004000,
+
+  /** precise exception context */
+  OPT_PRECISE_EXC_CONTEXT                = 0x00008000,
+
+  /** Free never called methods */
+  OPT_DEAD_METHOD_ELIMINATION_VERBOSE    = 0x00010000,
+
   /** Turn off all optimizations. */
   OPT_OPTIMIZED                          = 0x40000000,
 } libfirm_opts_t;
@@ -138,6 +147,18 @@ static INLINE int get_opt_dead_node_elimination(void)
   return libFIRM_opt & OPT_DEAD_NODE_ELIMINATION;
 }
 
+/** Returns dead method elimination setting. */
+static INLINE int get_opt_dead_method_elimination(void)
+{
+  return libFIRM_opt & OPT_DEAD_METHOD_ELIMINATION;
+}
+
+/** Returns dead method elimination setting. */
+static INLINE int get_opt_dead_method_elimination_verbose(void)
+{
+  return libFIRM_opt & OPT_DEAD_METHOD_ELIMINATION_VERBOSE;
+}
+
 /** Returns global optimization setting */
 static INLINE int get_opt_optimize(void)
 {
@@ -166,4 +187,10 @@ static INLINE int get_opt_tail_recursion(void)
   return libFIRM_opt & OPT_TAIL_RECURSION;
 }
 
+/** Returns precise exception context setting. */
+static INLINE int get_opt_precise_exc_context(void)
+{
+  return libFIRM_opt & OPT_PRECISE_EXC_CONTEXT;
+}
+
 #endif /* _IRFLAG_T_H_ */