Commit 965514bd by Jan Hubicka Committed by Jan Hubicka

re PR target/13608 (Incorrect code with -O3 -ffast-math)


	* i386.md (load_tp_di): Fix pasto.

	PR opt/13608
	* i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.

	* c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
	pp_c_character_constant, pp_c_floating_constant,
	pp_c_additive_expression, pp_c_shift_expression,
	pp_c_equality_expression, pp_c_and_expression,
	pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
	pp_c_logical_and_expression): Remove inline modifier.
	* dwarf2out.c (get_AT): Likewise.
	* et-forest.c (et_splay): Likewise.
	* ra.h (ra_alloc, ra_calloc): Likewise

	* mangle.c (write_mangled_name): Remove inline modifier.

From-SVN: r75988
parent 71bbcf4d
2004-01-16 Jan Hubicka <jh@suse.cz>
* i386.md (load_tp_di): Fix pasto.
PR opt/13608
* i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
* c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
pp_c_character_constant, pp_c_floating_constant,
pp_c_additive_expression, pp_c_shift_expression,
pp_c_equality_expression, pp_c_and_expression,
pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
pp_c_logical_and_expression): Remove inline modifier.
* dwarf2out.c (get_AT): Likewise.
* et-forest.c (et_splay): Likewise.
* ra.h (ra_alloc, ra_calloc): Likewise
2004-01-16 Kazu Hirata <kazu@cs.umass.edu> 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
* config/frv/frv-protos.h: Fix comment formatting. * config/frv/frv-protos.h: Fix comment formatting.
......
...@@ -157,7 +157,7 @@ pp_c_cv_qualifier (c_pretty_printer *pp, const char *cv) ...@@ -157,7 +157,7 @@ pp_c_cv_qualifier (c_pretty_printer *pp, const char *cv)
/* Pretty-print T using the type-cast notation '( type-name )'. */ /* Pretty-print T using the type-cast notation '( type-name )'. */
static inline void static void
pp_c_type_cast (c_pretty_printer *pp, tree t) pp_c_type_cast (c_pretty_printer *pp, tree t)
{ {
pp_c_left_paren (pp); pp_c_left_paren (pp);
...@@ -417,7 +417,7 @@ pp_c_parameter_type_list (c_pretty_printer *pp, tree t) ...@@ -417,7 +417,7 @@ pp_c_parameter_type_list (c_pretty_printer *pp, tree t)
pointer pointer
pointer(opt) direct-abstract-declarator */ pointer(opt) direct-abstract-declarator */
static inline void static void
pp_c_abstract_declarator (c_pretty_printer *pp, tree t) pp_c_abstract_declarator (c_pretty_printer *pp, tree t)
{ {
if (TREE_CODE (t) == POINTER_TYPE) if (TREE_CODE (t) == POINTER_TYPE)
...@@ -768,7 +768,7 @@ pp_c_integer_constant (c_pretty_printer *pp, tree i) ...@@ -768,7 +768,7 @@ pp_c_integer_constant (c_pretty_printer *pp, tree i)
/* Print out a CHARACTER literal. */ /* Print out a CHARACTER literal. */
static inline void static void
pp_c_character_constant (c_pretty_printer *pp, tree c) pp_c_character_constant (c_pretty_printer *pp, tree c)
{ {
tree type = TREE_TYPE (c); tree type = TREE_TYPE (c);
...@@ -843,7 +843,7 @@ pp_c_enumeration_constant (c_pretty_printer *pp, tree e) ...@@ -843,7 +843,7 @@ pp_c_enumeration_constant (c_pretty_printer *pp, tree e)
/* Print out a REAL value as a decimal-floating-constant. */ /* Print out a REAL value as a decimal-floating-constant. */
static inline void static void
pp_c_floating_constant (c_pretty_printer *pp, tree r) pp_c_floating_constant (c_pretty_printer *pp, tree r)
{ {
real_to_decimal (pp_buffer (pp)->digit_buffer, &TREE_REAL_CST (r), real_to_decimal (pp_buffer (pp)->digit_buffer, &TREE_REAL_CST (r),
...@@ -1402,7 +1402,7 @@ pp_c_multiplicative_expression (c_pretty_printer *pp, tree e) ...@@ -1402,7 +1402,7 @@ pp_c_multiplicative_expression (c_pretty_printer *pp, tree e)
additive-expression + multiplicative-expression additive-expression + multiplicative-expression
additive-expression - multiplicative-expression */ additive-expression - multiplicative-expression */
static inline void static void
pp_c_additive_expression (c_pretty_printer *pp, tree e) pp_c_additive_expression (c_pretty_printer *pp, tree e)
{ {
enum tree_code code = TREE_CODE (e); enum tree_code code = TREE_CODE (e);
...@@ -1431,7 +1431,7 @@ pp_c_additive_expression (c_pretty_printer *pp, tree e) ...@@ -1431,7 +1431,7 @@ pp_c_additive_expression (c_pretty_printer *pp, tree e)
shift-expression << additive-expression shift-expression << additive-expression
shift-expression >> additive-expression */ shift-expression >> additive-expression */
static inline void static void
pp_c_shift_expression (c_pretty_printer *pp, tree e) pp_c_shift_expression (c_pretty_printer *pp, tree e)
{ {
enum tree_code code = TREE_CODE (e); enum tree_code code = TREE_CODE (e);
...@@ -1493,7 +1493,7 @@ pp_c_relational_expression (c_pretty_printer *pp, tree e) ...@@ -1493,7 +1493,7 @@ pp_c_relational_expression (c_pretty_printer *pp, tree e)
equality-expression == relational-expression equality-expression == relational-expression
equality-equality != relational-expression */ equality-equality != relational-expression */
static inline void static void
pp_c_equality_expression (c_pretty_printer *pp, tree e) pp_c_equality_expression (c_pretty_printer *pp, tree e)
{ {
enum tree_code code = TREE_CODE (e); enum tree_code code = TREE_CODE (e);
...@@ -1518,7 +1518,7 @@ pp_c_equality_expression (c_pretty_printer *pp, tree e) ...@@ -1518,7 +1518,7 @@ pp_c_equality_expression (c_pretty_printer *pp, tree e)
equality-expression equality-expression
AND-expression & equality-equality */ AND-expression & equality-equality */
static inline void static void
pp_c_and_expression (c_pretty_printer *pp, tree e) pp_c_and_expression (c_pretty_printer *pp, tree e)
{ {
if (TREE_CODE (e) == BIT_AND_EXPR) if (TREE_CODE (e) == BIT_AND_EXPR)
...@@ -1537,7 +1537,7 @@ pp_c_and_expression (c_pretty_printer *pp, tree e) ...@@ -1537,7 +1537,7 @@ pp_c_and_expression (c_pretty_printer *pp, tree e)
AND-expression AND-expression
exclusive-OR-expression ^ AND-expression */ exclusive-OR-expression ^ AND-expression */
static inline void static void
pp_c_exclusive_or_expression (c_pretty_printer *pp, tree e) pp_c_exclusive_or_expression (c_pretty_printer *pp, tree e)
{ {
if (TREE_CODE (e) == BIT_XOR_EXPR) if (TREE_CODE (e) == BIT_XOR_EXPR)
...@@ -1556,7 +1556,7 @@ pp_c_exclusive_or_expression (c_pretty_printer *pp, tree e) ...@@ -1556,7 +1556,7 @@ pp_c_exclusive_or_expression (c_pretty_printer *pp, tree e)
exclusive-OR-expression exclusive-OR-expression
inclusive-OR-expression | exclusive-OR-expression */ inclusive-OR-expression | exclusive-OR-expression */
static inline void static void
pp_c_inclusive_or_expression (c_pretty_printer *pp, tree e) pp_c_inclusive_or_expression (c_pretty_printer *pp, tree e)
{ {
if (TREE_CODE (e) == BIT_IOR_EXPR) if (TREE_CODE (e) == BIT_IOR_EXPR)
...@@ -1575,7 +1575,7 @@ pp_c_inclusive_or_expression (c_pretty_printer *pp, tree e) ...@@ -1575,7 +1575,7 @@ pp_c_inclusive_or_expression (c_pretty_printer *pp, tree e)
inclusive-OR-expression inclusive-OR-expression
logical-AND-expression && inclusive-OR-expression */ logical-AND-expression && inclusive-OR-expression */
static inline void static void
pp_c_logical_and_expression (c_pretty_printer *pp, tree e) pp_c_logical_and_expression (c_pretty_printer *pp, tree e)
{ {
if (TREE_CODE (e) == TRUTH_ANDIF_EXPR) if (TREE_CODE (e) == TRUTH_ANDIF_EXPR)
......
...@@ -5029,8 +5029,12 @@ ix86_compute_frame_layout (struct ix86_frame *frame) ...@@ -5029,8 +5029,12 @@ ix86_compute_frame_layout (struct ix86_frame *frame)
offset += size; offset += size;
/* Add outgoing arguments area. Can be skipped if we eliminated /* Add outgoing arguments area. Can be skipped if we eliminated
all the function calls as dead code. */ all the function calls as dead code.
if (ACCUMULATE_OUTGOING_ARGS && !current_function_is_leaf) Skipping is however impossible when function calls alloca. Alloca
expander assumes that last current_function_outgoing_args_size
of stack frame are unused. */
if (ACCUMULATE_OUTGOING_ARGS
&& (!current_function_is_leaf || current_function_calls_alloca))
{ {
offset += current_function_outgoing_args_size; offset += current_function_outgoing_args_size;
frame->outgoing_arguments_size = current_function_outgoing_args_size; frame->outgoing_arguments_size = current_function_outgoing_args_size;
......
...@@ -14260,7 +14260,7 @@ ...@@ -14260,7 +14260,7 @@
[(set (match_operand:DI 0 "register_operand" "=r") [(set (match_operand:DI 0 "register_operand" "=r")
(unspec:DI [(const_int 0)] UNSPEC_TP))] (unspec:DI [(const_int 0)] UNSPEC_TP))]
"TARGET_64BIT" "TARGET_64BIT"
"mov{l}\t{%%fs:0, %0|%0, QWORD PTR %%fs:0}" "mov{q}\t{%%fs:0, %0|%0, QWORD PTR %%fs:0}"
[(set_attr "type" "imov") [(set_attr "type" "imov")
(set_attr "modrm" "0") (set_attr "modrm" "0")
(set_attr "length" "7") (set_attr "length" "7")
......
2004-01-16 Jan Hubicka <jh@suse.cz>
* mangle.c (write_mangled_name): Remove inline modifier.
2004-01-16 Mark Mitchell <mark@codesourcery.com> 2004-01-16 Mark Mitchell <mark@codesourcery.com>
PR c++/13178 PR c++/13178
......
...@@ -608,7 +608,7 @@ find_substitution (tree node) ...@@ -608,7 +608,7 @@ find_substitution (tree node)
<mangled-name> ::= _Z <encoding> */ <mangled-name> ::= _Z <encoding> */
static inline void static void
write_mangled_name (const tree decl, bool top_level) write_mangled_name (const tree decl, bool top_level)
{ {
MANGLE_TRACE_TREE ("mangled-name", decl); MANGLE_TRACE_TREE ("mangled-name", decl);
......
...@@ -4870,7 +4870,7 @@ AT_lbl (dw_attr_ref a) ...@@ -4870,7 +4870,7 @@ AT_lbl (dw_attr_ref a)
/* Get the attribute of type attr_kind. */ /* Get the attribute of type attr_kind. */
static inline dw_attr_ref static dw_attr_ref
get_AT (dw_die_ref die, enum dwarf_attribute attr_kind) get_AT (dw_die_ref die, enum dwarf_attribute attr_kind)
{ {
dw_attr_ref a; dw_attr_ref a;
......
...@@ -312,7 +312,7 @@ check_path_after (struct et_occ *occ) ...@@ -312,7 +312,7 @@ check_path_after (struct et_occ *occ)
/* Splay the occurence OCC to the root of the tree. */ /* Splay the occurence OCC to the root of the tree. */
static inline void static void
et_splay (struct et_occ *occ) et_splay (struct et_occ *occ)
{ {
struct et_occ *f, *gf, *ggf; struct et_occ *f, *gf, *ggf;
......
...@@ -732,7 +732,7 @@ actual_hazard_this_instance (int unit, int instance, rtx insn, int clock, int co ...@@ -732,7 +732,7 @@ actual_hazard_this_instance (int unit, int instance, rtx insn, int clock, int co
at time CLOCK. The scheduler using only DFA description should at time CLOCK. The scheduler using only DFA description should
never use the following function. */ never use the following function. */
HAIFA_INLINE static void static void
schedule_unit (int unit, rtx insn, int clock) schedule_unit (int unit, rtx insn, int clock)
{ {
int i; int i;
...@@ -764,7 +764,7 @@ schedule_unit (int unit, rtx insn, int clock) ...@@ -764,7 +764,7 @@ schedule_unit (int unit, rtx insn, int clock)
was COST. The scheduler using only DFA description should never was COST. The scheduler using only DFA description should never
use the following function. */ use the following function. */
HAIFA_INLINE static int static int
actual_hazard (int unit, rtx insn, int clock, int cost) actual_hazard (int unit, rtx insn, int clock, int cost)
{ {
int i; int i;
......
...@@ -569,8 +569,8 @@ extern int flag_ra_spill_every_use; ...@@ -569,8 +569,8 @@ extern int flag_ra_spill_every_use;
/* Nonzero to output all notes in the debug dumps. */ /* Nonzero to output all notes in the debug dumps. */
extern int flag_ra_dump_notes; extern int flag_ra_dump_notes;
extern inline void * ra_alloc (size_t); extern void * ra_alloc (size_t);
extern inline void * ra_calloc (size_t); extern void * ra_calloc (size_t);
extern int hard_regs_count (HARD_REG_SET); extern int hard_regs_count (HARD_REG_SET);
extern rtx ra_emit_move_insn (rtx, rtx); extern rtx ra_emit_move_insn (rtx, rtx);
extern void ra_debug_msg (unsigned int, const char *, ...) ATTRIBUTE_PRINTF_2; extern void ra_debug_msg (unsigned int, const char *, ...) ATTRIBUTE_PRINTF_2;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment