+Fri Apr 9 10:40:10 1999 Kaveh R. Ghazi <ghazi@snafu.rutgers.edu>
+
+ * rs6000.c (rs6000_override_options, ptt, rs6000_file_start,
+ rs6000_float_const, rs6000_replace_regno, debug_stack_info,
+ rs6000_output_load_toc_table, output_prolog, output_epilog):
+ Const-ify a char*.
+ (output_mi_thunk): Likewise. Mark parameter `thunk_fndecl' with
+ ATTRIBUTE_UNUSED. Hide unused variables `r0', `sp', `toc',
+ `schain', `r12', `buf' and `labelno'.
+ (output_ascii): Const-ify a char*.
+ (rs6000_gen_section_name): Initialize variable `last_period'.
+ (rs6000_adjust_priority): Mark parameter `insn' with
+ ATTRIBUTE_UNUSED.
+ (rs6000_trampoline_template, rs6000_dll_import_ref,
+ rs6000_longcall_ref, rs6000_encode_section_info): Const-ify a char*.
+
+ * rs6000.h (offsettable_mem_operand, optimization_options): Add
+ prototypes.
+
+ * rs6000.md (movdi, define_split): Cast a value to HOST_WIDE_INT
+ when comparing against one.
+
Thu Apr 8 19:20:18 1999 Jeffrey A Law (law@cygnus.com)
* expr.c (expand_expr, case ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF):
void
rs6000_override_options (default_cpu)
- char *default_cpu;
+ const char *default_cpu;
{
size_t i, j;
struct rs6000_cpu_select *ptr;
static struct ptt
{
- char *name; /* Canonical processor name. */
+ const char *name; /* Canonical processor name. */
enum processor_type processor; /* Processor type enum value. */
int target_enable; /* Target flags to enable. */
int target_disable; /* Target flags to disable. */
void
rs6000_file_start (file, default_cpu)
FILE *file;
- char *default_cpu;
+ const char *default_cpu;
{
size_t i;
char buffer[80];
- char *start = buffer;
+ const char *start = buffer;
struct rs6000_cpu_select *ptr;
if (flag_verbose_asm)
struct rtx_def *
rs6000_float_const (string, mode)
- char *string;
+ const char *string;
enum machine_mode mode;
{
REAL_VALUE_TYPE value = REAL_VALUE_ATOF (string, mode);
rtx *reg;
{
register int i, j;
- register char *fmt;
+ register const char *fmt;
/* Allow this function to make replacements in EXPR_LISTs. */
if (!x)
debug_stack_info (info)
rs6000_stack_t *info;
{
- char *abi_string;
+ const char *abi_string;
if (!info)
info = rs6000_stack_info ();
address before loading. */
if (rs6000_pic_func_labelno != rs6000_pic_labelno)
{
- char *init_ptr = TARGET_32BIT ? ".long" : ".quad";
+ const char *init_ptr = TARGET_32BIT ? ".long" : ".quad";
char *buf_ptr;
ASM_OUTPUT_INTERNAL_LABEL (file, "LCL", rs6000_pic_labelno);
{
rs6000_stack_t *info = rs6000_stack_info ();
int reg_size = info->reg_size;
- char *store_reg;
- char *load_reg;
+ const char *store_reg;
+ const char *load_reg;
int sp_reg = 1;
int sp_offset = 0;
before dealing with the TOC. */
if (info->main_p)
{
- char *prefix = "";
+ const char *prefix = "";
switch (DEFAULT_ABI)
{
int size ATTRIBUTE_UNUSED;
{
rs6000_stack_t *info = rs6000_stack_info ();
- char *load_reg = (TARGET_32BIT) ? "\t{l|lwz} %s,%d(%s)\n" : "\tld %s,%d(%s)\n";
+ const char *load_reg = (TARGET_32BIT) ? "\t{l|lwz} %s,%d(%s)\n" : "\tld %s,%d(%s)\n";
rtx insn = get_last_insn ();
int sp_reg = 1;
int sp_offset = 0;
void
output_mi_thunk (file, thunk_fndecl, delta, function)
FILE *file;
- tree thunk_fndecl;
+ tree thunk_fndecl ATTRIBUTE_UNUSED;
int delta;
tree function;
{
- char *this_reg = reg_names[ aggregate_value_p (TREE_TYPE (TREE_TYPE (function))) ? 4 : 3 ];
- char *r0 = reg_names[0];
- char *sp = reg_names[1];
- char *toc = reg_names[2];
- char *schain = reg_names[11];
- char *r12 = reg_names[12];
- char *prefix;
+ const char *this_reg = reg_names[ aggregate_value_p (TREE_TYPE (TREE_TYPE (function))) ? 4 : 3 ];
+ const char *prefix;
char *fname;
+#if 0
+ const char *r0 = reg_names[0];
+ const char *sp = reg_names[1];
+ const char *toc = reg_names[2];
+ const char *schain = reg_names[11];
+ const char *r12 = reg_names[12];
char buf[512];
static int labelno = 0;
+#endif
/* Small constants that can be done by one add instruction */
if (delta >= -32768 && delta <= 32767)
void
output_ascii (file, p, n)
FILE *file;
- char *p;
+ const char *p;
int n;
{
char c;
int i, count_string;
- char *for_string = "\t.byte \"";
- char *for_decimal = "\t.byte ";
- char *to_close = NULL;
+ const char *for_string = "\t.byte \"";
+ const char *for_decimal = "\t.byte ";
+ const char *to_close = NULL;
count_string = 0;
for (i = 0; i < n; i++)
char *filename;
char *section_desc;
{
- char *q, *after_last_slash, *last_period;
+ char *q, *after_last_slash, *last_period = 0;
char *p;
int len;
int
rs6000_adjust_priority (insn, priority)
- rtx insn;
+ rtx insn ATTRIBUTE_UNUSED;
int priority;
{
/* On machines (like the 750) which have asymetric integer units, where one
rs6000_trampoline_template (file)
FILE *file;
{
- char *sc = reg_names[STATIC_CHAIN_REGNUM];
- char *r0 = reg_names[0];
- char *r2 = reg_names[2];
+ const char *sc = reg_names[STATIC_CHAIN_REGNUM];
+ const char *r0 = reg_names[0];
+ const char *r2 = reg_names[2];
switch (DEFAULT_ABI)
{
rs6000_dll_import_ref (call_ref)
rtx call_ref;
{
- char *call_name;
+ const char *call_name;
int len;
char *p;
rtx reg1, reg2;
rs6000_longcall_ref (call_ref)
rtx call_ref;
{
- char *call_name;
+ const char *call_name;
tree node;
if (GET_CODE (call_ref) != SYMBOL_REF)
if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_NT)
{
- char *prefix = (DEFAULT_ABI == ABI_AIX) ? "." : "..";
+ const char *prefix = (DEFAULT_ABI == ABI_AIX) ? "." : "..";
char *str = permalloc (strlen (prefix) + 1
+ strlen (XSTR (sym_ref, 0)));
strcpy (str, prefix);
{
int size = int_size_in_bytes (TREE_TYPE (decl));
tree section_name = DECL_SECTION_NAME (decl);
- char *name = (char *)0;
+ const char *name = (char *)0;
int len = 0;
if (section_name)