Mercurial > hg > CbC > CbC_gcc
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 |