comparison gcc/config/mips/frame-header-opt.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
2 on the stack. The frame header is used by callees to save their arguments. 2 on the stack. The frame header is used by callees to save their arguments.
3 This optimization is specific to TARGET_OLDABI targets. For TARGET_NEWABI 3 This optimization is specific to TARGET_OLDABI targets. For TARGET_NEWABI
4 targets, if a frame header is required, it is allocated by the callee. 4 targets, if a frame header is required, it is allocated by the callee.
5 5
6 6
7 Copyright (C) 2015-2017 Free Software Foundation, Inc. 7 Copyright (C) 2015-2018 Free Software Foundation, Inc.
8 8
9 This file is part of GCC. 9 This file is part of GCC.
10 10
11 GCC is free software; you can redistribute it and/or modify it 11 GCC is free software; you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by the 12 under the terms of the GNU General Public License as published by the
21 You should have received a copy of the GNU General Public License 21 You should have received a copy of the GNU General Public License
22 along with GCC; see the file COPYING3. If not see 22 along with GCC; see the file COPYING3. If not see
23 <http://www.gnu.org/licenses/>. */ 23 <http://www.gnu.org/licenses/>. */
24 24
25 25
26 #define IN_TARGET_CODE 1
27
26 #include "config.h" 28 #include "config.h"
27 #include "system.h" 29 #include "system.h"
28 #include "context.h" 30 #include "context.h"
29 #include "coretypes.h" 31 #include "coretypes.h"
32 #include "backend.h"
30 #include "tree.h" 33 #include "tree.h"
31 #include "tree-core.h" 34 #include "tree-core.h"
32 #include "tree-pass.h" 35 #include "tree-pass.h"
33 #include "target.h" 36 #include "target.h"
34 #include "target-globals.h" 37 #include "target-globals.h"
35 #include "profile-count.h" 38 #include "profile-count.h"
36 #include "cfg.h"
37 #include "cgraph.h" 39 #include "cgraph.h"
38 #include "function.h" 40 #include "function.h"
39 #include "basic-block.h" 41 #include "basic-block.h"
40 #include "gimple.h" 42 #include "gimple.h"
41 #include "gimple-iterator.h" 43 #include "gimple-iterator.h"
97 99
98 void 100 void
99 mips_register_frame_header_opt (void) 101 mips_register_frame_header_opt (void)
100 { 102 {
101 opt_pass *p = make_pass_ipa_frame_header_opt (g); 103 opt_pass *p = make_pass_ipa_frame_header_opt (g);
102 static struct register_pass_info f = 104 struct register_pass_info f = { p, "comdats", 1, PASS_POS_INSERT_AFTER };
103 {p, "comdats", 1, PASS_POS_INSERT_AFTER };
104 register_pass (&f); 105 register_pass (&f);
105 } 106 }
106 107
107 108
108 /* Return true if it is certain that this is a leaf function. False if it is 109 /* Return true if it is certain that this is a leaf function. False if it is