diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gcc.target/i386/pr55093.c')
-rw-r--r-- | gcc-4.8/gcc/testsuite/gcc.target/i386/pr55093.c | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/gcc-4.8/gcc/testsuite/gcc.target/i386/pr55093.c b/gcc-4.8/gcc/testsuite/gcc.target/i386/pr55093.c deleted file mode 100644 index 3d32a5799..000000000 --- a/gcc-4.8/gcc/testsuite/gcc.target/i386/pr55093.c +++ /dev/null @@ -1,81 +0,0 @@ -/* { dg-do compile { target { ! { ia32 } } } } */ -/* { dg-options "-O2 -mx32 -maddress-mode=long" } */ -/* { dg-skip-if "different ABI" { x86_64-*-mingw* } } */ - -typedef union tree_node *tree; -typedef const union tree_node *const_tree; -typedef struct { - unsigned long long low; - long long high; -} double_int; -struct real_value { -}; -struct real_format { - int has_signed_zero; -}; -extern const struct real_format * real_format_for_mode[]; -extern int real_isnegzero (const struct real_value *); -enum tree_code { REAL_CST, SSA_NAME }; -struct tree_base { - enum tree_code code : 16; - union { - unsigned int version; - } - u; -}; -extern void tree_check_failed (const_tree, const char *, int, const char *, ...) __attribute__ ((__noreturn__)); -union tree_node { - struct tree_base base; -}; -inline tree tree_check (tree __t, const char *__f, int __l, const char *__g, enum tree_code __c) { - if (((enum tree_code) (__t)->base.code) != __c) - tree_check_failed (__t, __f, __l, __g, __c, 0); - return __t; -} -struct prop_value_d { - int lattice_val; - tree value; - double_int mask; -}; -typedef struct prop_value_d prop_value_t; -static prop_value_t *const_val; -static void canonicalize_float_value (prop_value_t *); -typedef void (*ssa_prop_visit_stmt_fn) (prop_value_t); -typedef void (*ssa_prop_visit_phi_fn) (void); -typedef void (*ssa_prop_fold_stmt_fn) (void *gsi); -typedef void (*ssa_prop_get_value_fn) ( prop_value_t *val); -void ssa_propagate (ssa_prop_visit_stmt_fn, ssa_prop_visit_phi_fn); -int substitute_and_fold (ssa_prop_get_value_fn, ssa_prop_fold_stmt_fn); -void ccp_fold_stmt (void *); -static void get_constant_value (prop_value_t *val) { - canonicalize_float_value (val); -} -static void canonicalize_float_value (prop_value_t *val) { - int mode; - struct real_value d; - if (val->lattice_val != 1 - || ((enum tree_code) (val->value)->base.code) != REAL_CST) - return; - mode = val->lattice_val; - if (real_format_for_mode[mode]->has_signed_zero && real_isnegzero (&d)) - ccp_fold_stmt (0); -} -static void set_lattice_value (tree var, prop_value_t new_val) { - prop_value_t *old_val = &const_val[(tree_check ((var), "", - 0, "", - (SSA_NAME)))->base.u.version]; - canonicalize_float_value (&new_val); - canonicalize_float_value (old_val); -} -static void ccp_visit_phi_node (void) { - prop_value_t new_val; - set_lattice_value (0, new_val); -} -static void ccp_visit_stmt (prop_value_t v) { - set_lattice_value (0, v); -} -unsigned int do_ssa_ccp (void) { - ssa_propagate (ccp_visit_stmt, ccp_visit_phi_node); - substitute_and_fold (get_constant_value, ccp_fold_stmt); - return 0; -} |