panic() instead of assert(0).
[libfirm] / ir / stat / firmstat_t.h
index 7dd2aec..5757f9c 100644 (file)
@@ -133,6 +133,7 @@ enum graph_counter_names {
        gcnt_call_with_all_cnst_arg,   /**< number of calls with all const args */
        gcnt_call_with_local_adr,      /**< number of calls with address of local var args */
        gcnt_indirect_calls,           /**< number of indirect calls */
+       gcnt_external_calls,           /**< number of external calls */
        gcnt_pure_adr_ops,             /**< number of pure address operation */
        gcnt_all_adr_ops,              /**< number of all address operation */
        gcnt_global_adr,               /**< number of global load/store addresses. */
@@ -237,8 +238,10 @@ enum block_counter_names {
  * An entry for a block or extended block in a ir-graph
  */
 typedef struct _block_entry_t {
-  counter_t       cnt[_bcnt_last];  /**< counter */
-  long            block_nr;         /**< block nr */
+       counter_t       cnt[_bcnt_last];  /**< counter */
+       long            block_nr;         /**< block nr */
+       unsigned        is_start:1;       /**< set, if it's the Start block. */
+       unsigned        is_end:1;         /**< set, if it's the End block. */
 } block_entry_t;
 
 /** An entry for an extended block in a ir-graph */
@@ -252,7 +255,7 @@ typedef enum _float_classify_t {
        STAT_FC_1,                /**< the float value 1.0 */
        STAT_FC_2,                /**< the float value 2.0 */
        STAT_FC_0_5,              /**< the float value 0.5 */
-       STAT_FC_EXACT,            /**< an exact value */
+       STAT_FC_POWER_OF_TWO,     /**< another 2^x value */
        STAT_FC_OTHER,            /**< all other values */
        STAT_FC_MAX               /**< last value */
 } float_classify_t;
@@ -328,6 +331,7 @@ typedef struct _statistic_info_t {
        ir_op                   *op_DivC;            /**< pseudo op for division by const */
        ir_op                   *op_ModC;            /**< pseudo op for modulo by const */
        ir_op                   *op_DivModC;         /**< pseudo op for DivMod by const */
+       ir_op                   *op_QuotC;           /**< pseudo op for floating point division by const */
        ir_op                   *op_SelSel;          /**< pseudo op for Sel(Sel) */
        ir_op                   *op_SelSelSel;       /**< pseudo op for Sel(Sel(Sel)) */
        dumper_t                *dumper;             /**< list of dumper */