Don't set copy_attr_func to NULL for nodes without attributes.
[libfirm] / ir / be / bemain.c
index 2522cdf..d5977ad 100644 (file)
@@ -362,6 +362,36 @@ const backend_params *be_get_backend_param(void)
        return isa_if->get_params();
 }
 
+int be_is_big_endian(void)
+{
+       return be_get_backend_param()->byte_order_big_endian;
+}
+
+unsigned be_get_machine_size(void)
+{
+       return be_get_backend_param()->machine_size;
+}
+
+ir_mode *be_get_mode_float_arithmetic(void)
+{
+       return be_get_backend_param()->mode_float_arithmetic;
+}
+
+ir_type *be_get_type_long_long(void)
+{
+       return be_get_backend_param()->type_long_long;
+}
+
+ir_type *be_get_type_unsigned_long_long(void)
+{
+       return be_get_backend_param()->type_unsigned_long_long;
+}
+
+ir_type *be_get_type_long_double(void)
+{
+       return be_get_backend_param()->type_long_double;
+}
+
 /**
  * Initializes the main environment for the backend.
  *
@@ -583,8 +613,7 @@ static void be_main_loop(FILE *file_handle, const char *cup_name)
        }
 
        if (num_birgs > 0 && be_options.opt_profile_generate) {
-               ir_profile_instrument(prof_filename);
-               ir_graph *prof_init_irg = get_irp_irg(get_irp_n_irgs()-1);
+               ir_graph *const prof_init_irg = ir_profile_instrument(prof_filename);
                assert(prof_init_irg->be_data == NULL);
                initialize_birg(&birgs[num_birgs], prof_init_irg, &env);
                num_birgs++;