aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hayes <m.hayes@elec.canterbury.ac.nz>2000-02-23 21:03:21 +0000
committerMichael Hayes <m.hayes@gcc.gnu.org>2000-02-23 21:03:21 +0000
commit41387ffdc6f349d55bf96e7245527f93f1cf36e2 (patch)
tree74865a18c4e47a2c615731b60a96cf06ee48cd64
parentc45c5e092dd08db116ed749332f3b19e96830d22 (diff)
downloadgcc-41387ffdc6f349d55bf96e7245527f93f1cf36e2.zip
gcc-41387ffdc6f349d55bf96e7245527f93f1cf36e2.tar.gz
gcc-41387ffdc6f349d55bf96e7245527f93f1cf36e2.tar.bz2
* config/c4x/c4x.c (c4x_process_after_reload): Split all insns.
From-SVN: r32125
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/c4x/c4x.c37
2 files changed, 21 insertions, 20 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2aaccfb..da14cce 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2000-02-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * config/c4x/c4x.c (c4x_process_after_reload): Split all insns.
+
2000-02-23 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* cpplib.h (enum cpp_token): Added CPP_WCHAR and CPP_WSTRING.
diff --git a/gcc/config/c4x/c4x.c b/gcc/config/c4x/c4x.c
index e5189c9..6090200 100644
--- a/gcc/config/c4x/c4x.c
+++ b/gcc/config/c4x/c4x.c
@@ -2250,6 +2250,7 @@ c4x_process_after_reload (first)
if (GET_RTX_CLASS (GET_CODE (insn)) == 'i')
{
int insn_code_number;
+ rtx old;
insn_code_number = recog_memoized (insn);
@@ -2261,26 +2262,22 @@ c4x_process_after_reload (first)
if (insn_code_number == CODE_FOR_rptb_end)
c4x_rptb_insert(insn);
- /* When the optimization level less than 2 we need to split
- the insn here. Otherwise the calls to force_const_mem
- will not work. */
- if (optimize < 2)
- {
- rtx old = insn;
+ /* We need to split the insn here. Otherwise the calls to
+ force_const_mem will not work for load_immed_address. */
+ old = insn;
- /* Don't split the insn if it has been deleted. */
- if (! INSN_DELETED_P (old))
- insn = try_split (PATTERN(old), old, 1);
+ /* Don't split the insn if it has been deleted. */
+ if (! INSN_DELETED_P (old))
+ insn = try_split (PATTERN(old), old, 1);
- /* When not optimizing, the old insn will be still left around
- with only the 'deleted' bit set. Transform it into a note
- to avoid confusion of subsequent processing. */
- if (INSN_DELETED_P (old))
- {
- PUT_CODE (old, NOTE);
- NOTE_LINE_NUMBER (old) = NOTE_INSN_DELETED;
- NOTE_SOURCE_FILE (old) = 0;
- }
+ /* When not optimizing, the old insn will be still left around
+ with only the 'deleted' bit set. Transform it into a note
+ to avoid confusion of subsequent processing. */
+ if (INSN_DELETED_P (old))
+ {
+ PUT_CODE (old, NOTE);
+ NOTE_LINE_NUMBER (old) = NOTE_INSN_DELETED;
+ NOTE_SOURCE_FILE (old) = 0;
}
}
}
@@ -4413,7 +4410,7 @@ static struct name_list *extern_head;
void
c4x_global_label (name)
- char *name;
+ const char *name;
{
struct name_list *p, *last;
@@ -4454,7 +4451,7 @@ c4x_global_label (name)
void
c4x_external_ref (name)
- char *name;
+ const char *name;
{
struct name_list *p;