alpha.h (alpha_expand_mov): Return false if force_const_mem returns NULL_RTX.
* config/alpha/alpha.h (alpha_expand_mov): Return false if force_const_mem returns NULL_RTX. From-SVN: r144450
This commit is contained in:
parent
489ec4e3bd
commit
9dadeeb83c
@ -1,3 +1,8 @@
|
||||
2009-02-26 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/alpha/alpha.h (alpha_expand_mov): Return false if
|
||||
force_const_mem returns NULL_RTX.
|
||||
|
||||
2009-02-25 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR rtl-optimization/39241
|
||||
@ -36,8 +41,7 @@
|
||||
2009-02-24 Sandra Loosemore <sandra@codesourcery.com>
|
||||
|
||||
* doc/invoke.texi (Link Options): Document an easier way to pass
|
||||
options that take arguments to the GNU linker using -Xlinker and
|
||||
-Wl.
|
||||
options that take arguments to the GNU linker using -Xlinker and -Wl.
|
||||
|
||||
2009-02-24 Steve Ellcey <sje@cup.hp.com>
|
||||
|
||||
@ -74,20 +78,21 @@
|
||||
2009-02-23 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR c/12245
|
||||
* ggc.h (htab_create_ggc): Use ggc_free to free hashtable when resizing.
|
||||
* ggc.h (htab_create_ggc): Use ggc_free to free hashtable when
|
||||
resizing.
|
||||
|
||||
2009-02-23 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
PR tree-optimization/37709
|
||||
* tree.c (block_ultimate_origin): Move here from dwarf2out.
|
||||
* tree.h (block_ultimate_origin): Declare.
|
||||
* dwarf2out.c (block_ultimate_origin): Move to tree.c
|
||||
PR tree-optimization/37709
|
||||
* tree.c (block_ultimate_origin): Move here from dwarf2out.
|
||||
* tree.h (block_ultimate_origin): Declare.
|
||||
* dwarf2out.c (block_ultimate_origin): Move to tree.c
|
||||
* tree-ssa-live.c (remove_unused_scope_block_p):
|
||||
Eliminate blocks containig no instructions nor live variables nor
|
||||
nested blocks.
|
||||
(dump_scope_block): New function.
|
||||
(remove_unused_locals): Enable removal of dead blocks by default;
|
||||
enable dumping at TDF_DETAILS.
|
||||
enable dumping at TDF_DETAILS.
|
||||
|
||||
2009-02-21 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
|
@ -2124,6 +2124,8 @@ alpha_split_const_mov (enum machine_mode mode, rtx *operands)
|
||||
bool
|
||||
alpha_expand_mov (enum machine_mode mode, rtx *operands)
|
||||
{
|
||||
rtx tmp;
|
||||
|
||||
/* If the output is not a register, the input must be. */
|
||||
if (GET_CODE (operands[0]) == MEM
|
||||
&& ! reg_or_0_operand (operands[1], mode))
|
||||
@ -2132,8 +2134,6 @@ alpha_expand_mov (enum machine_mode mode, rtx *operands)
|
||||
/* Allow legitimize_address to perform some simplifications. */
|
||||
if (mode == Pmode && symbolic_operand (operands[1], mode))
|
||||
{
|
||||
rtx tmp;
|
||||
|
||||
tmp = alpha_legitimize_address (operands[1], operands[0], mode);
|
||||
if (tmp)
|
||||
{
|
||||
@ -2158,14 +2158,18 @@ alpha_expand_mov (enum machine_mode mode, rtx *operands)
|
||||
}
|
||||
|
||||
/* Otherwise we've nothing left but to drop the thing to memory. */
|
||||
operands[1] = force_const_mem (mode, operands[1]);
|
||||
tmp = force_const_mem (mode, operands[1]);
|
||||
|
||||
if (tmp == NULL_RTX)
|
||||
return false;
|
||||
|
||||
if (reload_in_progress)
|
||||
{
|
||||
emit_move_insn (operands[0], XEXP (operands[1], 0));
|
||||
operands[1] = replace_equiv_address (operands[1], operands[0]);
|
||||
emit_move_insn (operands[0], XEXP (tmp, 0));
|
||||
operands[1] = replace_equiv_address (tmp, operands[0]);
|
||||
}
|
||||
else
|
||||
operands[1] = validize_mem (operands[1]);
|
||||
operands[1] = validize_mem (tmp);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user