comparison gcc/gimple.c @ 112:ab0bcb71f44d

merge gcc 7
author mir3636
date Fri, 10 Nov 2017 19:46:38 +0900
parents 04ced10e8804 ce75bd9117e4
children f81c5aa9f14f
comparison
equal deleted inserted replaced
111:04ced10e8804 112:ab0bcb71f44d
36 #include "tree-eh.h" 36 #include "tree-eh.h"
37 #include "gimple-iterator.h" 37 #include "gimple-iterator.h"
38 #include "gimple-walk.h" 38 #include "gimple-walk.h"
39 #include "gimplify.h" 39 #include "gimplify.h"
40 #include "target.h" 40 #include "target.h"
41 <<<<<<< local
41 #include "builtins.h" 42 #include "builtins.h"
42 #include "selftest.h" 43 #include "selftest.h"
43 #include "gimple-pretty-print.h" 44 #include "gimple-pretty-print.h"
44 #include "stringpool.h" 45 #include "stringpool.h"
45 #include "attribs.h" 46 #include "attribs.h"
46 #include "asan.h" 47 #include "asan.h"
47 48
49 =======
50 #include "tree.h"
51 #include "ggc.h"
52 #include "hard-reg-set.h"
53 #include "basic-block.h"
54 #include "gimple.h"
55 #include "diagnostic.h"
56 #include "tree-flow.h"
57 #include "value-prof.h"
58 #include "flags.h"
59 #ifndef noCbC
60 #include "cbc-tree.h"
61 #endif
62 #include "alias.h"
63 #include "demangle.h"
64 #include "langhooks.h"
65
66 /* Global type table. FIXME lto, it should be possible to re-use some
67 of the type hashing routines in tree.c (type_hash_canon, type_hash_lookup,
68 etc), but those assume that types were built with the various
69 build_*_type routines which is not the case with the streamer. */
70 static GTY((if_marked ("ggc_marked_p"), param_is (union tree_node)))
71 htab_t gimple_types;
72 static GTY((if_marked ("ggc_marked_p"), param_is (union tree_node)))
73 htab_t gimple_canonical_types;
74 static GTY((if_marked ("tree_int_map_marked_p"), param_is (struct tree_int_map)))
75 htab_t type_hash_cache;
76 static GTY((if_marked ("tree_int_map_marked_p"), param_is (struct tree_int_map)))
77 htab_t canonical_type_hash_cache;
78
79 /* Global type comparison cache. This is by TYPE_UID for space efficiency
80 and thus cannot use and does not need GC. */
81 static htab_t gtc_visited;
82 static struct obstack gtc_ob;
83 >>>>>>> other
48 84
49 /* All the tuples have their operand vector (if present) at the very bottom 85 /* All the tuples have their operand vector (if present) at the very bottom
50 of the structure. Therefore, the offset required to find the 86 of the structure. Therefore, the offset required to find the
51 operands vector the size of the structure minus the size of the 1 87 operands vector the size of the structure minus the size of the 1
52 element tree array at the end (see gimple_ops). */ 88 element tree array at the end (see gimple_ops). */
372 && ALLOCA_FUNCTION_CODE_P (DECL_FUNCTION_CODE (fndecl))) 408 && ALLOCA_FUNCTION_CODE_P (DECL_FUNCTION_CODE (fndecl)))
373 gimple_call_set_alloca_for_var (call, CALL_ALLOCA_FOR_VAR_P (t)); 409 gimple_call_set_alloca_for_var (call, CALL_ALLOCA_FOR_VAR_P (t));
374 else 410 else
375 gimple_call_set_from_thunk (call, CALL_FROM_THUNK_P (t)); 411 gimple_call_set_from_thunk (call, CALL_FROM_THUNK_P (t));
376 gimple_call_set_va_arg_pack (call, CALL_EXPR_VA_ARG_PACK (t)); 412 gimple_call_set_va_arg_pack (call, CALL_EXPR_VA_ARG_PACK (t));
413 <<<<<<< local
377 gimple_call_set_nothrow (call, TREE_NOTHROW (t)); 414 gimple_call_set_nothrow (call, TREE_NOTHROW (t));
378 gimple_call_set_by_descriptor (call, CALL_EXPR_BY_DESCRIPTOR (t)); 415 gimple_call_set_by_descriptor (call, CALL_EXPR_BY_DESCRIPTOR (t));
416 =======
417 #ifndef noCbC
418 gimple_call_set_cbc_goto (call, CALL_EXPR_CbC_GOTO (t));
419 #endif
420 >>>>>>> other
379 gimple_set_no_warning (call, TREE_NO_WARNING (t)); 421 gimple_set_no_warning (call, TREE_NO_WARNING (t));
380 gimple_call_set_with_bounds (call, CALL_WITH_BOUNDS_P (t)); 422 gimple_call_set_with_bounds (call, CALL_WITH_BOUNDS_P (t));
381 423
382 if (fnptrtype) 424 if (fnptrtype)
383 { 425 {
2184 if (gimple_has_location (stmt)) 2226 if (gimple_has_location (stmt))
2185 gimple_set_location (new_stmt, gimple_location (stmt)); 2227 gimple_set_location (new_stmt, gimple_location (stmt));
2186 gimple_call_copy_flags (new_stmt, stmt); 2228 gimple_call_copy_flags (new_stmt, stmt);
2187 gimple_call_set_chain (new_stmt, gimple_call_chain (stmt)); 2229 gimple_call_set_chain (new_stmt, gimple_call_chain (stmt));
2188 2230
2231 #ifndef noCbC
2232 gimple_call_set_cbc_goto (new_stmt, gimple_call_cbc_goto_p (stmt));
2233 #endif
2234
2189 gimple_set_modified (new_stmt, true); 2235 gimple_set_modified (new_stmt, true);
2190 2236
2191 return new_stmt; 2237 return new_stmt;
2192 } 2238 }
2193 2239