darwin.c (machopic_output_possible_stub_label): Remove.

2004-02-27  Dale Johannesen  <dalej@apple.com>
        * config/darwin.c (machopic_output_possible_stub_label):  Remove.
        config/darwin-protos.h:  Ditto.
        config/darwin.h:  Remove call to it.
        * combine.c (distribute_notes): Do not place a REG_DEAD note
        when value is both set and used.

From-SVN: r78590
This commit is contained in:
Dale Johannesen 2004-02-27 23:48:00 +00:00 committed by Dale Johannesen
parent bbc51dc29f
commit b30e1617dc
5 changed files with 12 additions and 51 deletions

View file

@ -1,3 +1,10 @@
2004-02-27 Dale Johannesen <dalej@apple.com>
* config/darwin.c (machopic_output_possible_stub_label): Remove.
config/darwin-protos.h: Ditto.
config/darwin.h: Remove call to it.
* combine.c (distribute_notes): Do not place a REG_DEAD note
when value is both set and used.
2004-02-27 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300

View file

@ -12729,26 +12729,16 @@ distribute_notes (rtx notes, rtx from_insn, rtx i3, rtx i2)
}
#endif
}
/* If the register is both set and used here, put the
REG_DEAD note here, but place a REG_UNUSED note
here too unless there already is one. */
else if (reg_referenced_p (XEXP (note, 0),
PATTERN (tem)))
{
place = tem;
if (! find_regno_note (tem, REG_UNUSED,
REGNO (XEXP (note, 0))))
REG_NOTES (tem)
= gen_rtx_EXPR_LIST (REG_UNUSED, XEXP (note, 0),
REG_NOTES (tem));
}
else
{
PUT_REG_NOTE_KIND (note, REG_UNUSED);
/* If there isn't already a REG_UNUSED note, put one
here. */
here. Do not place a REG_DEAD note, even if
the register is also used here; that would not
match the algorithm used in lifetime analysis
and can cause the consistency check in the
scheduler to fail. */
if (! find_regno_note (tem, REG_UNUSED,
REGNO (XEXP (note, 0))))
place = tem;

View file

@ -65,8 +65,6 @@ extern const char *darwin_strip_name_encoding (const char *);
extern void machopic_finish (FILE *);
extern void machopic_output_possible_stub_label (FILE *, const char*);
extern void darwin_exception_section (void);
extern void darwin_eh_frame_section (void);
extern void machopic_select_section (tree, int, unsigned HOST_WIDE_INT);

View file

@ -1096,37 +1096,6 @@ update_non_lazy_ptrs (const char *name)
}
}
/* Function NAME is being defined, and its label has just been output.
If there's already a reference to a stub for this function, we can
just emit the stub label now and we don't bother emitting the stub later. */
void
machopic_output_possible_stub_label (FILE *file, const char *name)
{
tree temp;
/* Ensure we're looking at a section-encoded name. */
if (name[0] != '!' || (name[1] != 't' && name[1] != 'T'))
return;
for (temp = machopic_stubs;
temp != NULL_TREE;
temp = TREE_CHAIN (temp))
{
const char *sym_name;
sym_name = IDENTIFIER_POINTER (TREE_VALUE (temp));
if (sym_name[0] == '!' && (sym_name[1] == 'T' || sym_name[1] == 't')
&& ! strcmp (name+2, sym_name+2))
{
ASM_OUTPUT_LABEL (file, IDENTIFIER_POINTER (TREE_PURPOSE (temp)));
/* Avoid generating a stub for this. */
TREE_USED (temp) = 0;
break;
}
}
}
/* Scan the list of stubs and update any recorded names whose
stripped name matches the argument. */

View file

@ -395,9 +395,6 @@ do { text_section (); \
|| DECL_INITIAL (DECL)) \
(* targetm.encode_section_info) (DECL, DECL_RTL (DECL), false); \
ASM_OUTPUT_LABEL (FILE, xname); \
/* Avoid generating stubs for functions we've just defined by \
outputting any required stub name label now. */ \
machopic_output_possible_stub_label (FILE, xname); \
} while (0)
#define ASM_DECLARE_CONSTANT_NAME(FILE, NAME, EXP, SIZE) \