Commit 1f65437d by Steve Ellcey Committed by Steve Ellcey

re PR target/42924 (pex-unix.c:589:1: internal compiler error: output_operand)

2010-02-05  Steve Ellcey  <sje@cup.hp.com>

	PR target/42924
	* config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
	(pa_delegitimize_address): New function.

From-SVN: r156526
parent 4e4d27aa
2010-02-05 Steve Ellcey <sje@cup.hp.com>
PR target/42924
* config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
(pa_delegitimize_address): New function.
2010-02-05 Ozkan Sezer <sezeroz@gmail.com> 2010-02-05 Ozkan Sezer <sezeroz@gmail.com>
* config/i386/msformat-c.c (ms_printf_length_specs): Set the * config/i386/msformat-c.c (ms_printf_length_specs): Set the
......
...@@ -167,6 +167,7 @@ static enum machine_mode pa_promote_function_mode (const_tree, ...@@ -167,6 +167,7 @@ static enum machine_mode pa_promote_function_mode (const_tree,
static void pa_asm_trampoline_template (FILE *); static void pa_asm_trampoline_template (FILE *);
static void pa_trampoline_init (rtx, tree, rtx); static void pa_trampoline_init (rtx, tree, rtx);
static rtx pa_trampoline_adjust_address (rtx); static rtx pa_trampoline_adjust_address (rtx);
static rtx pa_delegitimize_address (rtx);
/* The following extra sections are only used for SOM. */ /* The following extra sections are only used for SOM. */
static GTY(()) section *som_readonly_data_section; static GTY(()) section *som_readonly_data_section;
...@@ -339,6 +340,8 @@ static size_t n_deferred_plabels = 0; ...@@ -339,6 +340,8 @@ static size_t n_deferred_plabels = 0;
#define TARGET_TRAMPOLINE_INIT pa_trampoline_init #define TARGET_TRAMPOLINE_INIT pa_trampoline_init
#undef TARGET_TRAMPOLINE_ADJUST_ADDRESS #undef TARGET_TRAMPOLINE_ADJUST_ADDRESS
#define TARGET_TRAMPOLINE_ADJUST_ADDRESS pa_trampoline_adjust_address #define TARGET_TRAMPOLINE_ADJUST_ADDRESS pa_trampoline_adjust_address
#undef TARGET_DELEGITIMIZE_ADDRESS
#define TARGET_DELEGITIMIZE_ADDRESS pa_delegitimize_address
struct gcc_target targetm = TARGET_INITIALIZER; struct gcc_target targetm = TARGET_INITIALIZER;
...@@ -9994,5 +9997,17 @@ pa_trampoline_adjust_address (rtx addr) ...@@ -9994,5 +9997,17 @@ pa_trampoline_adjust_address (rtx addr)
addr = memory_address (Pmode, plus_constant (addr, 46)); addr = memory_address (Pmode, plus_constant (addr, 46));
return addr; return addr;
} }
static rtx
pa_delegitimize_address (rtx orig_x)
{
rtx x = delegitimize_mem_from_attrs (orig_x);
if (GET_CODE (x) == LO_SUM
&& GET_CODE (XEXP (x, 1)) == UNSPEC
&& XINT (XEXP (x, 1), 1) == UNSPEC_DLTIND14R)
return gen_const_mem (Pmode, XVECEXP (XEXP (x, 1), 0, 0));
return x;
}
#include "gt-pa.h" #include "gt-pa.h"
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