This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[3.3] fix alpha build of tree-ssa
- From: Richard Henderson <rth at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 17 Sep 2003 11:29:19 -0700
- Subject: [3.3] fix alpha build of tree-ssa
3.3 cvs building tree-ssa cvs generated invalid rtl at -O0.
The easiest solution seems to be not to try to optimize away
generation of the placeholder insn.
This has all been rewritten for 3.4.
r~
* config/alpha/alpha.c (alpha_expand_mov): Do gen_movdi_er_maybe_g
always during initial code generation.
Index: alpha.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/alpha.c,v
retrieving revision 1.282.4.5
diff -c -p -d -r1.282.4.5 alpha.c
*** alpha.c 24 Mar 2003 17:59:37 -0000 1.282.4.5
--- alpha.c 17 Sep 2003 18:25:14 -0000
*************** alpha_expand_mov (mode, operands)
*** 2949,2960 ****
compiled at the end of compilation. In the meantime, someone can
re-encode-section-info on some symbol changing it e.g. from global
to local-not-small. If this happens, we'd have emitted a plain
! load rather than a high+losum load and not recognize the insn.
!
! So if rtl inlining is in effect, we delay the global/not-global
! decision until rest_of_compilation by wrapping it in an
! UNSPEC_SYMBOL. */
! if (TARGET_EXPLICIT_RELOCS && flag_inline_functions
&& rtx_equal_function_value_matters
&& global_symbolic_operand (operands[1], mode))
{
--- 2949,2956 ----
compiled at the end of compilation. In the meantime, someone can
re-encode-section-info on some symbol changing it e.g. from global
to local-not-small. If this happens, we'd have emitted a plain
! load rather than a high+losum load and not recognize the insn. */
! if (TARGET_EXPLICIT_RELOCS
&& rtx_equal_function_value_matters
&& global_symbolic_operand (operands[1], mode))
{